Vào năm 1971 tập đoàn Intel đã giới thiệu 8080, bộ vi xử líthành công đầu tiên.Sau đó không lâu, Motorola, RCA… cũng giớithiệu các bộ vi xử lí tương tự: 6800, 1801… Các vi mạch này trởth
Trang 1Nhóm sinh viên : Triệu Minh Chính
Nguyễn Văn ChungNguyễn Quốc HưngNguyễn Sỹ Hiệp
Vũ Đình Dũng
Vũ Đình DuyLớp : DTVT K7B
Thái Nguyên, ngày 15 tháng 05 năm 2010
I-Tổng quan về vi điều khiển 8051
Trang 2Vào năm 1971 tập đoàn Intel đã giới thiệu 8080, bộ vi xử líthành công đầu tiên.Sau đó không lâu, Motorola, RCA… cũng giớithiệu các bộ vi xử lí tương tự: 6800, 1801… Các vi mạch này trởthành một phần của máy tính đơn board, và trở thành thành phầntrung tâm trong các sản phẩm có ích dùng để nghiêm cứu và thiếtkế.
Năm 1976 Intel giới thiệu bộ vi điều khiển 8748, một chiptương tự như các bộ vi xử lí và là chip đầu tiênt rong họ MCS-48
8748 chứa trên 17000 transitor bao gồm 1 CPU, 1 K byte EPROM,
64 byte RAM, 27 chân xuất nhập và một bộ định thời 8-bit.IC này
và các IC tiếp theo của họ MCS-48 đã nhanh chóng trở thành chuẩncông nghiệp trong các ứng dụng hướng điều khiển
Độ phức tạp, kích thước và khả năng của các bộ vi điều khiểnđược tăng thêm một bậc quan trọng vào năm 1980 khi Intel công bốchip 8051, bộ vi điều khiển đầu tiên của họ của họ vi điều khiểnMCS-51.Các nhà sản xuất IC khác như Siemens, Advanced MicroDevices, Fujiitsu và Philips được cấp phép làm các nhà cung cấp thứhai cho các chip của họ MCS-51
Chip 8051 có các dặc trưng cơ bản như sau:
+ 4KB ROM
+ 128 byte RAM
+ 4 port xuất nhập ( I/O port ) 8-bit
+ 2 bộ định thời 16-bit
+ Mạch giao tiếp nối tiếp
+ Không gian nhớ chương trình ( mã ) ngoài 64K
+ Không gian nhớ dữ liệu ngoài 64K
+ Bộ xử lí bit ( thao tác trên các bit riêng rẽ )
+ 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit
+ Nhân/chia trong 4 μs
Các thành viên khác của họ MCS-51 có các tổ hợ ROM( EPROM ), RAM trên chip khác nhau hoặc có thêm bộ định thờithứ ba Mỗi một IC của họ MCS-51 cũng có phiên bản CMOS côngsuất thấp
Trang 3Sơ đồ khối của chip 8051
Thuật ngữ “8051” được dùng để chỉ rộng rãi các chip của họMCS-51 Khi việc thảo luận tập trung vào một cải tiến từ chip 8051
cơ bản, chip cải tiến được chỉ ra rõ ràng
Trang 4Sơ đồ chân của 8051
Ta thấy rẳng,trong số 40 chân của 8051,có 32 chân có côngdụng nhập/xuất dữ liệu,tuy nhiên 24 trong 32 đường này có 2 mụcđích
32 chân này hình thành 4 port 8-bit Với các thiết kế yêu cầumột mức tói thiểu bộ nhớ ngoài hoặc các thành phần bên ngoàikhác, ta có thể sử dụng các port này làm nhiệm vụ nhập/xuất 8đường cho mỗi port có thể xử lí nư một đơn vị giao tiếp với các
Trang 5thiếp bị song song như máy in, bộ biến đổi D-A….hoặc mỗi đường
có thể hoạt động độc lập giao tiếp với 1 thiết bị đơn bit như chuyểnmạch, LED, BJT, FET, cuộn dây, động cơ, loa…
1 – Port 0 ( các chân từ 32 đến 39 trên 8051 )
2 – Port 1 ( các chân từ 1 đến 8 trên 8051 )
Chỉ có 1 công dụng là xuất/nhập.Kí hiệu lầm lượt là P1.0,P1.1….P1.7 và được dùng để giao tiếp với các thiết bị bên ngoài khi
có yêu cầu Port 1 chỉ có chức năng sử dụng để giao tiếp với cácthiết bị ngoại vi
3 – Port 2 ( các chân từ 21 đến 28 trên 8051 )
Có 2 công dụng:
+ Làm nhiệm vụ xuất/nhập hoặc là byte địa chỉ cao của bus địachỉ 16-bit cho các thiết kế có bộ nhớ chương trình ngoài
+ Các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài
4 – Port 3 ( các chân từ 10 đến 17 trên 8051 )
Có 2 công dụng Khi không hoạt động nhập/xuất, các chân củaport 3 có nhiều chức năng riêng liên quan đến các riêng
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu của port
nối tiếpP3.1 TxD B1H Chân phát dữ liệu của port
nối tiếpP3.2 INT0 B2H Ngõ vào ngắt ngoài 0
P3.3 INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định đếm
Trang 6thời/đếm 0P3.5 T1 B5H Ngõ vào của bộ định
thời/đếm 1P3.6 WR B6H Điều khiển ghi bộ nhớ dữ
liệu ngoàiP3.7 RD B7H Điều khiển đọc bộ nhớ dữ
liệu ngoài P1.0 T2 90H Ngõ vào của bộ định
thời/đếm 2P1.1 T2EX 91H Nạp lại/thu nhận của bộ
định thời 2
Chức năng của các chân của Port 3 và Port 1
5 – Chân cho phép bộ nhớ chương trình PSEN
8051 cung cấp cho ta 4 tín hiệu điều khiển bus.Tín hiệu chophép bộ nhớ chương trình PSEN là tín hiệu xuất trên chân 29.Chânnày thường được nối với chân cho phép xuất OE của EPROM đểcho phép đọc các byte lệnh.Khi thực thi 1 chương trình chứa ở 1ROM nội, PSEN được duy trì ở logic ko tích cực.Tín hiệu PSEN ởlogic 0 trong suất quá trình tìm/nạp lệnh
6 – Chân cho phép chốt địa chỉ ALE
8051 sử dụng chân 30, chân xuất tín hiệu để giải đa hợp bus dữliệu và bus địa chỉ
Nếu mạch có tần số 12MHz thì tín hiệu ALE có tần số 2MHz.Trong tgian thực thi lệnh MOVX,một xung ALE sẽ bị bỏ qua
7 – Chân truy xuất ngoài EA (chân 31)
Có thể được nối với 5V(logic 1) hoặc GND(logic 0)
EA nối 5V, 8051/8052 thực thi chương trình trong ROM nội
EA nối GND, chương trình cần thực thi chứa ở bộ nhớ ngoài.Ngoài ra,chân EA còn nhận điện áp 21V cho việc lập trìnhEPROM nội
8 – Chân reset (chân 9)
Trang 7Là ngõ vào xóa chính của 8051 dùng để thiết lâp lại trạng tháiban đầu cho hệ thống (reset hệ thống ).
Với vi điều khiển sử dụng thạch anh có tần số 12 MHz thìdùng C = 10 μF và R = 10 kΩ
9 – Các chân XTAL1 và XTAL2 (chân 18 và 19 )
Dùng để ghép nối với mạch dao động bên trong 8051 vớithạch anh bên ngoài
Tần số danh định của thạch anh là 12 MHz cho hầu hết cácchip họ MCS-51 ( Trên thực tế, tần số này có giá trị là 11,0592MHz )
Trang 8Với tần số danh định của thạch anh là 12 MHz sẽ tạo ra chu kìmáy ( chu kì máy là khoảng thời gian cần thiết được qui định để viđiều khiển thực hiện hoàn thành một lệnh cơ bản )
Các tụ C1 = C2 = 33 pF dùng ổn định dao động cho thạch anh
II – Vi điều khiển 89S52
Là vi điều khiển họ MCS-51 do hãng Atmel sản xuất, tên gọi
vi điều khiển được thay đổi chút ít (mã số 80 chuyển thành 89) ,80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (AT89C52).Các vi điều khiển 890Sxx được cải tiến từ dòng 89Cxx
Hầu hết các vi điều khiển thuộc họ MCS-51 đều có đặc tính cơbản giống nhau về phần mềm ( các tập lệnh lập trình như nhau ), cònphần cứng được bổ xung với chip có mã hai số cuối cao hơn, các viđiều khiển sau này có nhiều tính năng vượt trội hơn vi điều khiểnthế hệ trước
Ưu điểm của VDK 89Sxx:
+ Chương trình viết cho 89Cxx đều chạy được cho 90Sxx.+ 89Sxx rẻ hơn 89Cxx
+ 89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khảnăng nạp ngay trên bo mạch khác mà không cần tháo chip VDKsang mạch khác để nạp chương trình và nhiều tính năng cải tiếnkhác
Trang 9
Bảng so sánh một số loại vi điều khiển họ MCS-51
Sơ đồ chân của vi điều khiển 89S52
Về cơ bản, các chân của 89S52 có chức năng giống với cácVDK thế hệ trước:
+ Port 0,1,2,3 có chức năng cơ bản xuất/nhập
+ Riêng P0,P2 còn có chức năng kết nối bộ nhớ mở rộng
+ Chân T2 và T2EX dùng cho timer/counter 2
+ Chân MOSI, MISO, SCK truyênd dữ liệu theo chuẩn SPIđồng thời có chức năng kết nối với mạch nạp chương trình
Trang 10P3 : tích hợp các chức năng đặc biệt
Sơ đồ điều kiện để 89S52 hoạt động và sơ đồ mạch nạp
Kết nối các Port với các LED
Các Port khi xuất tín hiệu ở mức logic 1 thường không đạ đến5V mà dao động trong khoảng từ 3,5V đến 4,9V và dòng xuất ra rấtnhỏ dưới 5mA (P0,P2 dòng xuất ra khoảng 1mA ; P3,P1 dòng xuất
ra trong khoảng 1mA đến 5mA ) vì vậydongf xuất này ko đủ để cóthể làm LED sáng
Trang 11Tuy nhiên các Port xuất tín hiệu ở mức logic 0 dòng điện chophép đi qua lớn hơn rất nhiều:
Cách khắc phục:
1 – Cho LED sáng khi VDK ở mức 0:
Px.x thay cho các chân xuất của các Port (P1.1, P2.0 … )+ Khi Px.x ở mức 1 : LED ko sáng
+ Khi Px.x ở mức 0 : LED sáng
2 – Cho LED sáng khi vi điều khiển xuất ở mức 1:
Như đã trình bày, vì ngõ ra VDK khi xuất ở mức 1 ko đủ đểcho LED sáng, để LED sáng được cần đặt thêm một điện trở kéo lênnguồn Vcc ( gọi là điện trở treo )
Trang 12+ Khi Px.x ở mức 1 (+5V), dòng điện ko chạy qua chân vi điềukhiển để về Mass được, có sự chênh lệch áp giữa hai chân LED,dòng điện trong trường hợp này qua LED về Mass do đó LED sáng.
R2 thường được sử dụng với giá trị từ 4,7K đến 10k Nếu tất
cả các chân trong 1 Port đều kết nối để tác động ở mức cao thì điệntrở R2 có thể thay bằng điện trở thanh 9 chân vì nó có hình dáng và
sử dụng dễ hơn khi lamg mạch điện
III – Bài tập lớn
Đề bài :
Đề bài : Thiết kế mạch điện gồm 16 Led ghép nối với 8051
Viết chương trình thực hiện các hiệu ứng sáng dần từ trái qua phải,
từ phải qua trái, từ hai đầu vào, từ giữa ra.
Trang 16acall delay
mov P3,#11111110bacall delay
mov P3,#11111111bacall delay
mov P1,#10000000bacall delay
mov P1,#11000000bacall delay
mov P1,#11100000bacall delay
mov P1,#11110000bacall delay
mov P1,#11111000bacall delay
mov P1,#11111100bacall delay
mov P1,#11111110bacall delay
mov P1,#11111111bacall delay
mov P1,#11111110bacall delay
mov P1,#11111100bacall delay
mov P1,#11111000bacall delay
mov P1,#11110000bacall delay
mov P1,#11100000bacall delay
mov P1,#11000000bacall delay
mov P1,#10000000bacall delay
mov P1,#00000000b
Trang 17acall delay
mov P3,#11111110bacall delay
mov P3,#11111100bacall delay
mov P3,#11111000bacall delay
mov P3,#11110000bacall delay
mov P3,#11100000bacall delay
mov P3,#11000000bacall delay
mov P3,#10000000bacall delay
mov P3,#00000000bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#00000000b
Trang 18mov P1,#00000000bacall delay
ret
nhay2:
mov P1,#00000001bacall delay
mov P1,#00000011bacall delay
mov P1,#00000111bacall delay
mov P1,#00001111bacall delay
mov P1,#00011111bacall delay
mov P1,#00111111bacall delay
mov P1,#01111111bacall delay
mov P1,#11111111bacall delay
mov P3,#00000001bacall delay
mov P3,#00000011bacall delay
mov P3,#00000111bacall delay
mov P3,#00001111bacall delay
mov P3,#00011111bacall delay
mov P3,#00111111bacall delay
mov P3,#01111111bacall delay
Trang 19mov P3,#11111111bacall delay
mov P3,#01111111bacall delay
mov P3,#00111111bacall delay
mov P3,#00011111bacall delay
mov P3,#00001111bacall delay
mov P3,#00000111bacall delay
mov P3,#00000011bacall delay
mov P3,#00000001bacall delay
mov P3,#00000000bacall delay
mov P1,#01111111bacall delay
mov P1,#00111111bacall delay
mov P1,#00011111bacall delay
mov P1,#00001111bacall delay
mov P1,#00000111bacall delay
mov P1,#00000011bacall delay
mov P1,#00000001bacall delay
mov P1,#00000000bacall delay
mov P3,#10101010bmov P1,#01010101b
Trang 20acall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#00000000bmov P1,#00000000bacall delay
ret
nhay3:
mov P1,#10000000bmov P3,#00000000bacall delay
mov P1,#11000000bmov P3,#00000011bacall delay
mov P1,#11100000bmov P3,#00000111bacall delay
mov P1,#11110000bmov P3,#00001111bacall delay
mov P1,#11111000b
Trang 21mov P3,#00011111bacall delay
mov P1,#11111100bmov P3,#00111111bacall delay
mov P1,#11111110bmov P3,#01111111bacall delay
mov P1,#11111111bmov P3,#11111111bacall delay
mov P1,#11111110bmov P3,#01111111bacall delay
mov P1,#11111100bmov P3,#00111111bacall delay
mov P1,#11111000bmov P3,#00011111bacall delay
mov P1,#11110000bmov P3,#00001111bacall delay
mov P1,#11100000bmov P3,#00000111bacall delay
mov P1,#11000000bmov P3,#00000011bacall delay
mov P1,#10000000bmov P3,#00000001bacall delay
mov P1,#00000000bmov P3,#00000000bacall delay
mov P3,#10101010b
Trang 22mov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#00000000bmov P1,#00000000bacall delay
ret
nhay4:
mov P1,#00000001bmov P3,#10000000bacall delay
mov P1,#00000011bmov P3,#11000000bacall delay
mov P1,#00000111bmov P3,#11100000bacall delay
mov P1,#00001111bmov P1,#11110000bacall delay
Trang 23mov P1,#00011111bmov P3,#11111000bacall delay
mov P1,#00111111bmov P3,#11111100bacall delay
mov P1,#01111111bmov P3,#11111110bacall delay
mov P1,#11111111bmov P3,#11111111bacall delay
mov P1,#01111111bmov P3,#11111110bacall delay
mov P1,#00111111bmov P3,#11111100bacall delay
mov P1,#00011111bmov P3,#11111000bacall delay
mov P1,#00001111bmov P3,#11110000bacall delay
mov P1,#00000111bmov P3,#11100000bacall delay
mov P1,#00000011bmov P3,#11000000bacall delay
mov P1,#00000001bmov P3,#10000000bacall delay
mov P1,#00000000bmov P3,#00000000bacall delay
Trang 24mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#10101010bmov P1,#01010101bacall delay
mov P3,#01010101bmov P1,#10101010bacall delay
mov P3,#00000000bmov P1,#00000000bacall delay
ret
delay:
mov R1,#250
D1: mov R2,#200D2: djnz R2,D2 djnz R1,D1 ret
end