Trong giai đoạn hiện nay việc phát triển ứng dụng các hệ vi điều khiển rất đa dạng, chính vì vậy mà các hệ vi điều khiển được sử dụng để giải quyết các bài toán rất khác nhau. Tính đa dạng của các ứng dụng phụ thuộc vào việc lựa chọn các hệ vi điều khiển cụ thể cũng như vào kỹ thuật lập trình. Ngày nay các bộ vi điều khiển có mặt trong rất nhiều thiết bị điện tử hiện đại: từ trong gia đình, trong văn phòng, trong các nhà máy công nghiệp
Trang 1Lời nói đầu
Trong giai đoạn hiện nay việc phát triển ứng dụng các hệ vi điều khiển rất
đa dạng, chính vì vậy mà các hệ vi điều khiển đợc sử dụng để giải quyết các bài toán rất khác nhau Tính đa dạng của các ứng dụng phụ thuộc vào việc lựa chọn các hệ vi điều khiển cụ thể cũng nh vào kỹ thuật lập trình Ngày nay các bộ vi
điều khiển có mặt trong rất nhiều thiết bị điện tử hiện đại: từ trong gia đình, trong văn phòng, trong các nhà máy công nghiệp Lĩnh vực ứng dụng của vi điều khiển cũng rất rộng lớn từ nghiên cứu khoa học, truyền dữ liệu, năng lợng, giao thông vận tải, công nghiệp, y tế và quân sự Trong lĩnh vực quân sự các hệ vi điều khiển đã rất đợc quan tâm bởi vì không những nó gọn nhẹ hơn các phơng thức
điều khiển cũ nhiều lần mà cái quan trọng hơn cả đó là tính chính xác, độ tin cậy
và hiệu quả của chúng Đối với Hải quân chúng ta là một quân chủng kỹ thuật, tuy vậy lực lợng tàu thuyền và trang thiết bị vũ khí nhìn chung đợc trang bị từ khá lâu và nhiều thiết bị đã lạc hậu hiệu suất sử dụng không cao Chính vì vậy việc nghiên cứu ứng dụng các hệ vi điều khiển để thay thế, cải tiến các hệ điều khiển cũ là một vấn đề rất thiết thực cấp bách, nhằm nâng cao hiệu quả và kéo dài thời hạn phục vụ của trang bị - vũ khí Từ nhận thức đó tôi đã nhận đề tài
"Xây dựng hệ phát triển cho các hệ Microcontroller" Để thống nhất và tiện
trong khi đọc, thì cụm từ Microcontroller (vi điều khiển) ta đọc là vi điều khiển
Đề tài có thể nghiên cứu trên rất nhiều hệ vi điều khiển để xây dựng hệ phát triển Tuy vậy do tính phổ dụng của họ vi điều khiển MCS-51 (Microcontroller System), nên tôi đã đi sâu vào tìm hiểu và nghiên cứu về họ này, mà cụ thể đi sâu vào bộ vi điều khiển 89C51, đây là chíp điều khiển hiện nay đang đợc ứng dụng rất rộng rãi vì sự tiện lợi của nó Đề tài đợc cấu trúc gồm 3 chơng
Chơng 1: Họ vi điều khiển MCS-51 và bộ vi điều khiển 89C51
Chơng 2: Xây dựng hệ phát triển cho họ vi điều khiển MCS-51
Chơng 3: ứng dụng hệ phát triển để tự động hoá quá trình điều khiển độ sâu camera của khí tài dò tìm thuỷ lôi IT-3
Để hoàn thành đề tài này tôi đã nhận đợc sự gúp đỡ tận tình của các thầy hớng dẫn, của các thầy trong khoa kỹ thuật điều khiển và đồng nghiệp Tôi xin chân thành cảm ơn
Trong quá trình thực hiện đề tài do năng lực còn hạn chế, mặt khác đây là một lĩnh vực khá mới đối với tôi cho nên không tránh khỏi sai sót, tôi rất mong
đợc sự gúp đỡ của các thầy giáo và đồng nghiệp để tôi tiếp tục nghiên cứu tốt hơn
Chơng 1
họ vi điều khiển MCS-51 và bộ vi điều khiển 89C51
1.1 họ vi điều khiển MCS-51
1.1.1 Khái quát chung về họ vi điều khiển MCS-51
Những đặc điểm chính và nguyên tắc hoạt động của các bộ vi điều khiển khác nhau không nhiều Khi đã sử dụng thành thạo một loại vi điều khiển thì ta có thể nhanh chóng vận dụng kinh nghiệm để làm quen và làm
Trang 2chủ các ứng dụng của một vi điều khiển khác Bộ vi điều khiển thông dụng nhất, đó là họ MCS-51, họ có số lợng đợc sản xuất ra nhiều nhất hiện nay
Nếu nh họ MCS-51 là họ vi điều khiển điển hình thì 8051 chính là đại diện tiêu biểu Bên cạnh những thông số chung bộ vi điều khiển 8051 (chip 8051) có bộ nhớ chơng trình ROM tơng đối lớn, đến 4 kbyte, đợc tích hợp ngay trong chíp và nh vậy có thể hình thành trọn vẹn một máy tính Bộ nhớ ROM bên trong của 8051/52 và 8751/52 khi chế tạo cũng nh lập trình đều cho phép bảo vệ chống đọc ra
Bởi vì nội dung của ROM này phải đợc lập trình ngay từ khi chế tạo, nên mã chơng trình của nhà sản xuất cũng phải đợc chuyển giao khi bán hàng Thành thử phơng pháp này chỉ mang tính kinh tế khi chuyển giao những loạt hàng lớn và vì lý do này mà chip 8051 không đợc chào bán lẻ
Tuy vậy chip 8051 cũng có thể làm việc với một chơng trình khác bằng cách đấu thên một bộ nhớ ROM ở bên ngoài Để thông báo cho bộ vi điều khiển biết là phải tiếp nhận chơng trình điều hành từ bộ nhớ ROM ở bên ngoài
và sử dụng chân /EA dể trao đổi với bộ nhớ ROM bên ngoài
Với chip 8051 ta không thể viết thêm một chơng trình nào khác, thành
ra để dễ ràng đáp ứng yêu cầu mở rộng, các nhà thiết kế đã thiết kế ra các chíp
có tính chất gần gống 8051 chỉ có một điểm khác là bộ nhớ ROM đợc thay thế bằng bộ nhớ EPROM hoặc bộ nhớ EEPROM có cùng dung lợng nhớ, nhng ta
có thể xoá đi đợc các chơng trình cũ bằng tia tử ngoại hoặc băng điện Sau đó nạp chơng trình mới vào bằng thiết bị chuyên dụng Sau khi đã nạp chơng trình mới bộ vi điều khiển hoạt động giống nh bộ 8051 thông thờng, tất nhiên
là giá thành cao hơn
Đại diện cho các chíp trên đó là chip 89C51 đây là chíp có bộ nhớ EEPROM (FLASH ROM) có thể nạp và xoá chơng trình nhiều lần bằng điện Tuy có cấu tạo khác nhau về bộ nhớ chơng trình nhng về cơ bản, nhất là tập lênh thì bộ vi điều khiển 8051 và 8951 đều có thể dùng lẫn cho nhau đợc Vì vậy mà chíp này hiện đang đợc ứng dụng rất nhiều trong các lĩnh vực khác nhau, cho nên trong đồ án tôi đi sâu vào nghiên cứu và trình bày về chip vi điều khiển này
1.1.2 Những tính chất đặc trng cho họ vi điều khiển MCS-51
- Đơn vị xử lý trung tâm 8 bit đã đợc tối u hoá để đáp ứng chức năng
điều khiển
- Khối lôgic xử lý theo bit thuận tiện cho các phép toán Bool
- Bộ tạo dao động giữ nhịp bên trong đến 12MHz
- Tập lệnh rất phong phú
- Giao diện nối tiếp có khả năng hoạt động song công, đồng bộ (UA RT)
- Có 16 (32) đờng dẫn vào/ra hai hớng và từng đờng dẫn có thể đợc định
địa chỉ một cách tách biệt
- Năm nguồn ngắt với hai mức u tiên
- Dung lợng của bộ nhớ ROM bên ngoài có thể đến 64 kbyte
- Dung lợng của bộ nhớ dữ liệu RAM bên ngoài có thể đến 64 kbyte
- Dung lợng của bộ nhớ RAM bên trong, nhiều nhất có thể đến 128 kbyte
- Hai bộ đếm định thời 16 bit
- Bus và khối định thời tơng thích với các khối ngoại vi của bộ vi điều khiển 8085/88 Bảng 1.1 trình bày tổng quát về họ vi điều khiển MCS-51
Trang 3Bảng 1.1 Một số chíp vi điều khiển trong họ MCS-51 và những thông số cơ bản của chúng
8031
8051
8751
NMOS NMOS NMOS
-4 kbyte 4k EEPROM
128 byte
128 byte
128 byte
2 2 2
5 5 5 8032
8052
8052
NMOS NMOS NMOS
-4 kbyte 4k EEPROM
256 byte
256 byte
256 byte
2 2 2
6 6 6 80C31
80C51
87C51
CMOS CMOS CMOS
-4 kbyte 4k EEPROM
128 byte
128 byte
128 byte
2 2 2
5 5 5 80C32
80C52
87C52
CMOS CMOS CMOS
-4 kbyte 4k EEPROM
256 byte
256 byte
256 byte
3 3 3
6 6 6
1.1.3 Những ứng dụng cơ bản của họ vi điều khiển 8051
Sau khi ra đời họ vi điều khiển 8051 đã đợc ứng dụng rộng rãi trong các lĩnh vực khác nhau:
- Trong gia đình sử dụng để điều khiển thiết bị điện, điện thoại, máy
tính, truyền hình cáp, máy quay cammera, các nhạc cụ, các bộ mở cửa
- Trong văn phòng sử dụng cho máy tính, điện thoại, hệ thống an toàn, máy sao chụp , máy in lazer, máy Fax
- Trong công nghiệp sử dụng để điều khiển các lò nung, các dây chuyền sản xuất, các máy cái, máy công cụ, trong ô tô
- Trong quân sự đã đợc sử dụng để điều khiển các phơng tiện, vũ khí phục vụ chiến tranh
Trong thực tế hiện nay họ vi điều khiển MCS-51 còn đợc ứng dụng vào nhiều lĩnh vực khác nữa và nó đã và đang mang lại sự thay đổi rất lớn trong lĩnh vực tự động điều khiển 1.2 bộ vi điều khiển 89C51 2.2.1 Cấu trúc phần cứng 1 Sơ đồ chân tín hiệu của chip 89C51 Chip 89C51, có đầy đủ chức năng của một hệ vi điều khiển 8 bit, đợc tích hợp trong một chip IC 40 chân Các đặc tính cơ bản: tần số xung đồng hồ 12 MHz; bộ nhớ EEPROM 4KB và bộ nhớ RAM 128B c trú bên trong, nhng có thể mở rộng thêm bằng các bộ nhớ ngoài tới 64KB; có 4 cổng 8 bit, vào/ra hai chiều để giao tiếp với các thiết bị ngoại vi Sơ đồ chân kí hiệu của chip 89C51đợc trình bày trên hình 1.1 Vss Vcc XTAL1 XTAL2 P0 ì P3 ì chip 89C51 RxD TxD INT0 INT1 T0 T1 WR RD P1 ì P2 ì PSEN RST ALE-(PRO) EA-Vpp A D D R E A D ì P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RxD-P3.0 TxD-P3.1 INT0-P3.2 INT1-P3.3 T0-P3.4 T1-P3.5 WR-P3.6 RD-P3.7 XTAL2 XTAL1 Vss 1 40
2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 chip 89C51
32 10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
Vcc P0.0-AD0 P0.1-AD1 P0.2-AD2 P0.3-AD3 P0.4-AD4 P0.5-AD5 P0.6-AD6 P0.7-AD7 EA-Vpp ALE-(PRO) PSEN P2.7-A15 P2.6-A14 P2.5-A13 P2.4-A12 P2.3-A11 P2.2-A10 P2.1-A9 P2.0-A8
Trang 4Hình 1.1 Sơ đồ chân ký hiệu của chip 89C51
Chức năng các chân của chip 89C51 đợc trình bày trên bảng 1.2.
Bảng 1.2 Chức năng các chân của chip 89C51
1-8 P1.0-P1.7 Chỉ có một chức năng là xuất/nhập nghĩa là để giao
tiếp với các thiết bị bên ngoài khi có yêu cầu
ban đầu cho hệ thống hay gọi tắt là reset hệ thống 10-17 P3.0-P3.7 Có hai chức năng xuất/nhập và khi không xuất/nhập
thì mỗi chân có chức năng riêng liên quan đến đặc
tr-ng cụ thể của chip
18
19 XTAL1XTAL2 Để ghép mạch dao động bên trong chíp 89C51 vớimạch dao động thạch anh bên ngoài
21-28 P2.0-P2.7 Xuất/nhập hoặc byte địa chỉ cao của bus địa chỉ 16 bit
cho các thiết kế có bộ nhớ chơng trình ngoài hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài
ngoài
địa chỉ
chơng trình ROM trong hoặc với GND (lôgic 0)
ch-ơng trình cần thực hiện chứa ở ROM ngoài, khi này chân /EA phải dợc đặt lên điện áp mass
32-39 P0.7-P0.1 Trong các thiết kế có tối thiểu thành phần làm nhiệm
vụ xuất nhập trong thiết kế lớn hơn có bộ nhớ ngoài trở thành bus địa chỉ và bus dự liệu đa hợp
2 Sơ đồ chức năng của chip 89C51(hình 1.2)
Cấu trúc phần cứng của chip chip 89C51 nh là một hệ vi điều khiển 8 bít tối thiểu, bao gồm các thành phần cơ bản: Các thanh ghi chức năng đặc biệt (SFR); bộ tính toán logic và số học (ALU); các cổng vào/ra (I/O); bộ nhớ chơng trình EEPROM và bộ nhớ dữ liệu RAM
a Các thanh ghi chức năng đặc biệt
Trang 5Các thanh ghi chức năng đặc biệt SFR đảm nhiệm các chức năng khác nhau trong chip 89C51 Chúng nằm ở RAM trong của chip 89C51 và chiếm vùng không gian nhớ 128 B đợc định địa chỉ từ 80H đến FFH Tổ chức của SFR trên bảng 1.2
P0.0-P0.7 P2.0-P2.7
PSEN
ALE
EA
RST
P0.1-P1.7 P3.0-P3.7
Hình 1.2 Sơ đồ chức năng của chip 89C51
- Thanh ghi tích luỹ Acc: Dài 8 bit, có địa chỉ E0H trong SFR, dùng để
lu trữ các toán hạng và kết quả phép tính
- Thanh ghi B: Dài 8 bit, địa chỉ F0H, thờng đợc sử dụng khi thực hiện
các phép toán nhân, chia Đối với các lệnh khác, nó nh là một thanh ghi đệm
Vss
Vcc
XTAL2 XTAL1
Điều khiển cổng 0 Điều khiển cổng 2
Chốt cổng 0 cổng 2Chốt EEPROM RAM
T.Ghi Đ/c
RAM
T.Ghi Đ/c Ch.trình T.Ghi
đệm T.Ghi Tăng PC PC DPTR
T.Ghi
B
Acc
SP
ALU
T.Ghi lệnh
T.Ghi trạng
thái đ/k
PSW
PCONSCONTMODTCONTH0TL0 TH1TL1SBUFIEIPKhối ngắt cổng nối tiếp
và định thời
Chốt cổng 1
Đ.khiển cổng 1
Chốt cổng 1
Đ.khiển cổng 1
OSC
Trang 6- Con trỏ ngăn xếp SP: Dài 8 bit, địa chỉ 81H Giá trị của nó tự động
tăng trớc khi thực hiện các lệnh PUSH, CALL
- Con trỏ dữ liệu DPTR: Dài 16 bit, gồm hai thanh ghi dài 8 bit hợp lại:
thanh ghi byte cao DPH và thanh ghi byte thấp DPL
Bảng 1.3 Tổ chức của SFR trong RAM
F8
F0
E8
E0
D8
D0
C8
C0
B8
B0
A8
A0
98
90
88
80
FF F7 EF E7 DF D7 CF C7 BF B7 AF A7 9F 97 8F 87
B
AC
PSW
IP
P3
IE
P2
P1
- Từ trạng thái chơng trình PSW: Dài 8 bit, địa chỉ D0H, dùng để chứa
thông tin về trạng thái chơng trình, mỗi bit của PSW đảm nhiệm một chức năng cụ thể Thanh ghi này cho phép truy cập ở mức bit
- Đệm dữ liệu truyền nối tiếp SBUF: Địa chỉ 99H, gồm hai thanh ghi
đệm phát và đệm thu
- Thanh gi thời gian cơ sở: Chip chip 89C51 có hai đôi thanh ghi là TH0, TL0 và Th1, TL1 Mỗi đôi dài 16 bit, dùng làm bộ đếm trong khối định thời/bộ đếm tơng ứng Địa chỉ các thanh ghi này từ 8AH đến 8DH
- Thanh ghi điều khiển mode định thời/bộ đếm TMOD: Dài 8 bit, có địa
chỉ 89H, dùng để điều khiển kiểu chức năng định thời gian hay chức năng bộ đếm
- Thanh ghi điều khiển khối định thời/bộ đếm TCON: Địa chỉ là 88H.
Khối định thời/bộ đếm trong mỗi mode định thời hoặc bộ đếm lại có 4 chế độ hoạt động và thanh ghi TCON sẽ điều khiển việc lựa chọn này
- Thanh ghi điều khiển cổng nối tiếp SCON: Địa chỉ là 98H Nó giúp
chip 89C51 thiết lập trạng thái và điều khiển cổng thực hiện chức năng truyền dữ liệu nối tiếp
- Thanh ghi cho phép ngắt IE: Dài 8 bit, có địa chỉ là A8H Nó cho phép
truy cập tới mức bit
b Các cổng của chip 89C51
Chip 89C51 có 4 cổng P0, P1, P2, P3 gồm 4 thanh ghi đệm cổng tơng ứng P0, P1, P2, P3 Cả 4 cổng của chip 89C51 đều là các cổng vào/ra hai
Trang 7chiều 8 bit Riêng cổng P3 còn có thể đợc sử dụng để làm các chức năng điều khiển đặc biệt khác (các đầu vào ngắt ngoài, các đầu vào đếm ngoài cho Timer 0,Timer 1) và truyền thông nối tiếp
c Bộ tạo dao động của chip chip 89C51
Chip 89C51 có 2 chân XTAL1 và XTAL2 đợc dùng nối với bộ tạo dao
động để tạo xung đồng hồ cho chip Có hai phơng pháp tạo xung đồng hồ cho chip 89C51 Đó là dùng bộ dao động bên trong và dùng tín hiệu bên ngoài
d Chu kỳ máy của chip chip 89C51
Một chu kỳ máy của chip 89C51 bao gồm 6 trạng thái từ S1 đến S6, mỗi trạng thái gồm 2 nhịp và đợc gọi là hai pha P1, P2 Nh vậy mỗi chu kỳ máy có
12 nhịp (pha) Nếu bộ dao động làm việc với tần số 12MHz thì một pha kéo dài 1às Chu kỳ máy đợc minh họa trên hình 1.3
Chu kỳ máy
S6 S1 S2 S3 S4 S5 S6 S1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1
Hình 1.3 Minh hoạ chu kỳ máy
e Các ngắt của chip chip 89C51
Chip 89C51 có sáu ngắt, bao gồm hai ngắt ngoài /INT0, /INT1 và bốn ngắt trong (hai ngắt của khối định thời/bộ đếm và hai ngắt phục vụ cổng nối tiếp)
Các ngắt ngoài có thể đợc kích hoạt theo mức hoặc theo sờn xung, tuỳ thuộc vào giá trị các bit IT0, IT1 trong thanh ghi TCON Ngắt ngoài có hai cờ ngắt tơng ứng là IE0, IE1 cũng nằm trong thanh ghi TCON Các ngắt trong của hai khối định thời/bộ đếm đợc phát sinh bởi cờ ngắt TF0, TF1 Hai cờ ngắt này
đợc thiết lập khi thanh ghi định thời/bộ đếm thực hiện quay vòng
g Nguyên lý khởi động lại chip chip 89C51
Tín hiệu khởi động lại chip 89C51 đợc đa qua chân RST bằng cách giữ chân RST ở mức cao trong khoảng thời gian lớn hơn hai chu kỳ máy (24 chu kỳ dao động) Tín hiệu khởi động lại bên ngoài đa vào chân RST không đồng bộ với thời gian RESET bên trong Chân RST sẽ đợc lấy mẫu S5-P2 của mỗi chu kỳ máy, các chân của cổng sẽ giữ hoạt động hiện hành của chúng cho 19 chu kỳ dao
động sau giá trị logic 1 đã đợc lấy mẫu ở chân RST Sau khi khởi động lại, giá trị các thanh ghi chức năng đặc biệt (SFR) đợc gán giá trị nh bảng 1.3
Bảng 1.4 Giá trị RESETcủa các thanh ghi Thanh ghi của SFR Giá trị RESET
Trang 8B 00H
SBUF
h Khối định thời/bộ đếm
• Thanh ghi định thời/bộ đếm
Trong chip chip 89C51 có hai thanh ghi dài 16 bit có thể hoạt động nh kiểu bộ định thời hay hoạt động nh kiểu bộ đếm Thanh ghi TMOD trong SFR
sẽ điều khiển kiểu hoạt động này
• Nguyên lý hoạt động của khối định thời/bộ đếm
Thanh ghi định thời/bộ đếm làm việc ở kiểu bộ đếm thì tại thời điểm P2-S5 của mỗi chu kỳ máy, xung nhịp bên ngoài đợc đa vào để đếm theo chân T0 hoặc T1 khi chuyển từ mức logic 1 xuống mức logic 0 sẽ làm cho thanh ghi tăng thêm một đơn vị phải mất hai chu kỳ máy, cho nên tốc độ đếm của thanh ghi là 1/24 tần số dao động
Do xung nhịp bên ngoài có tần số bất kỳ, cho nên khối định thời/bộ đếm của chip chip 89C51 có bốn chế độ hoạt động để lựa chọn
Chức năng định thời hoặc bộ đếm đợc lựa chọn bởi các bit điều khiển C/
T trong thanh ghi TMOD Mỗi chức năng có bốn chế độ hoạt động, lại đợc lựa chọn bởi cặp bit M1 M0 Các chế độ hoạt động 0, 1 và 3 giống nhau cho cả chức năng định thời và bộ đếm, riêng chế độ 3 thì khác Khối định thời/bộ
đếm đợc điều khiển bằng các bit trong thanh ghi TCON của SFR
1.2.2 Tổ chức các cổng vào/ra (I/O)
1 Cấu trúc cổng vào/ra (I/O)
Mỗi cổng của chip 89C51 chứa một chốt SFR, một bộ điều khiển ra và một bộ đệm vào Bộ điều khiển ra của cổng P0, cổng P2 và bộ đệm vào của cổng P0 đợc dùng để truy cập bộ nhớ ngoài Cổng P0 xuất ra byte thấp của địa chỉ, cổng P2 xuất ra byte cao của địa chỉ, khi cần địa chỉ hoá cho bộ nhớ ngoài Ngoài chức năng truy cập địa chỉ, cổng P0 còn truyền dữ liệu vào/ra Cổng P3 là cổng đa chức năng, các chân của cổng không những dùng để xuất/nhập dữ liệu mà còn làm chức năng điều khiển đặc biệt khác
Trang 9Hình 1.4 biểu diễn sơ đồ chức năng của một bộ đệm vào ra một chốt bit tiêu biểu cho các cổng của chip chip 89C51
2 Thao tác ghi vào cổng
Khi thực hiện một lệnh mà làm thay đổi giá trị của chốt cổng, thì giá trị mới này đến chốt cổng tại thời gian P2-S6 trong chu kỳ cuối của chu kỳ lệnh Tuy nhiên, giá trị chuẩn mẫu ở các chốt cổng là giá trị của các bộ đệm ra, xuất hiện duy nhất trong các pha 1 (P1) của chu kỳ máy Sau đó nó chuyển đến chốt cổng vào pha thứ 2 của trạng thái thứ 6 (P2-S6), bởi vậy giá trị mới không xuất hiện ở chân ra ngay trong và sau pha 1 Nếu sự thay đổi yêu cầu chuyển tiếp từ 0 sang 1 ở cổng P1, P2 và P3, thì sẽ có một bộ kéo lên tăng cờng xuất hiện trọng thời gian P1-S1 và P2-S1 của chu kỳ máy, ở cổng có sự chuyển tiếp
Bộ kéo lên tăng cờng là các transistor trờng, do đó nó có thể tạo ra
dòng gấp 100 lần bộ kéo lên thông thờng
Kênh Điều khiển Vcc
Địa chỉ/Dữ liệu
Tín hiệu đọc chốt
Kênh nội
bộ
Chốt
Tín hiệu
đọc chân
Hình 1.4 Cấu trúc chốt (Latch) từng bit cho các cổng vào/ra
1.2.3 Tổ chức không gian bộ nhớ
Chip chip 89C51 có vùng nhớ không gian nhớ đợc định địa chỉ riêng biệt cho bộ nhớ chơng trình EEPROM và bộ nhỡ dữ liệu RAM
1 Bộ nhớ chơng trình EEPROM
Bộ nhớ chơng trình EEPROM có vùng không gian nhớ nh biểu diễn trên hình 1.5 Không gian cực đại của bộ nhớ này chiếm tới 64 KB, đợc định địa chỉ từ 0000H đến FFFFH Trong đó 4 KB EEPROM nội trú bên trong chip 89C51, đợc định địa chỉ từ 0000H đến 0FFFH và có thể mở rộng thêm 60 KB
bộ nhớ chơng trình bên ngoài, đợc định địa chỉ từ 1000H đến FFFFH
Chip 89C51 cũng có thể sử dụng toàn bộ bộ nhớ chơng trình ngoài gồm
64 KB đợc định địa chỉ từ 0000H đến FFFFH
Điềukhiển Chuyển mạch MUX
D Q Chốt 1 bit Clk Q
Bit P0.x
Trang 10FFFFH FFFFH
Hoặc
1000H
0FFFH
0000H 0000H
Hình 1.5 Tổ chức không gian của bộ nhớ chơng trình EEPROM
Mỗi RESET, chip 89C51 sẽ truy cập bộ nhớ chơng trình từ địa chỉ khởi
đầu là 0000H, sau đó nếu cơ chế ngắt đợc sử dụng thì chip truy cập tới địa chỉ quy định trong bảng véc tơ ngắt Các địa chỉ cố định do ngắt định vị nh hình 1.6
FFFFH
Hình 1.6 Bảng véc tơ ngắt của chip 89C51
Khi truy cập bộ nhớ chơng trình, chip 89C51 sử dụng xung chọn PSEN
để điều khiển Nếu chip 89C51 làm việc với bộ nhớ chơng trình nội trú thi chân phát ra xung chọn PSEN không sử dụng, còn nếu chip 89C51 làm việc với bộ nhớ chơng trình ngoại trú thì chân phát xung nhọn PSEN đợc sử dụng Khi đó, nếu PSEN = 0 thì cho phép chip đọc bộ nhớ chơng trình, còn khi
PSEN = 1 thì không cho phép chip chọn bộ nhớ chơng trình.
Khi chip 89C51 truy cập bộ nhớ chơng trình ngoại trú, nó luôn sử dụng
địa chỉ 16 bit thông qua cổng P0 và cổng P2, bất kể bộ nhớ chơng trình ngoài
có dung lợng là 60 KB hay là 64 KB Sơ đồ mạch của chip 89C51 truy cập bộ nhớ chơng trình ngoài đợc thể hiện trên hình 1.7
EA=1 (Trong)
EA=0 (Ngoài)
EA=1 (Ngoài)
0023H 001BH 0013H 000BH 0003H 0000H
RI hoặc TI TF1 IE1 TF0 IE0 RESET
89C51 P1 P0
EA
ALE
P3 P2
PSEN
EEPROM AD0 ữ AD7 A0 ữ A7
A8 ữ A15 OE
LATCH
OE