Bài giảng Vi điều khiển 8051 - Bài 7: I/O của 8051 và 8255
lượt xem 1
download
Bài giảng Vi điều khiển 8051 - Bài 7: I/O của 8051 và 8255 gồm có những nội dung chính sau: Cấu trúc bên trong của các cổng I/O, Cổng I/O của 8051, chân dồn kênh, các thông số phần cứng, chuyển mạch trên các cổng IO,... Mời các bạn cùng tham khảo để biết thêm nội dung chi tiết!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Vi điều khiển 8051 - Bài 7: I/O của 8051 và 8255
- I/O của 8051 và 8255 Bài 7 Bộ môn TĐ Khoa KTĐK
- Tại sao phải có cổng I/O • Các bộ điều khiển cần nhận các tín hiệu vào từ bên ngoài và xuất các tín hiệu ra bên ngoài – Cổng I/O phục vụ yêu cầu đó • 8051 có 4 cổng I/O • Có quá nhiều cổng sẽ làm tăng số chân và giá thành. Nếu quá ít thì sẽ không đảm bảo cho các ứng dụng điều khiển phức tạp
- Cấu trúc bên trong của các cổng I/O • 32 chân được chia thành 4 cổng 8 bit – P0, P1, P2, P3 • Khi bật nguồn tất cả các cổng được mặc định là cổng ra. • Để định cấu hình cho một cổng bất kỳ là cổng vào thì ghi 1(0xFF) tới cổng đó
- Cổng I/O của 8051 • Các cổng có thể được đọc và ghi giống như các thanh ghi thông thường mov A, #55H ; can use A mov P0, A ; write A to P0 mov P1, A mov P2, #0AAH ; can use immediate mode xlr P1, #0FFH ; read-modify-write (ex-or) mov P0, #0FFH ; configure P0 for input mov A, P0 ; read from P0 • Các cổng có thể được thực thi theo từng bit (có thể địa chỉ hoá theo từng bit) sử dụng lệnh cpl hoạc setb cpl P1.2 ; complement bit 2 of Port1 setb P1.3 ; set bit 3 for Port1 to 1 clr P0.0 ; clear bit 0 of Port0
- Chân dồn kênh • Các chân của cổng được dồn với các tín hiệu khác – P0: cũng mang A0:A7 và D0:D7 – P1: chuyên dụng – P2: mang A8:A15 – P3: mang tín hiệu I/O nối tiếp (TxD, RxD), dầu vào các bộ định thời (T0, T1), Các ngắt bên ngoài (INT0, INT1) và tín hiệu đọc, ghi (RD, WR) • Đối với 8051 hoặc DS5000 mà không có bộ nhớ ngoài thì P0, P1, P2 được dành sẵn. • Để tăng số lượng cổng, sử dụng chip giao tiếp cổng song song giống như 8255
- Các thông số phần cứng • P0 là cực máng hở – Phải có điện trở kéo 10KΩ bên ngoài – Không cần thiết nếu P0 được sử dụng làm các đường địa chỉ • P1, P2, P3 có các điện trở kéo bên trong • Hệ số đầu ra của cổng bị giới hạn (số các thiết bị nó có thể điều khiển). – Sử dụng các bộ đệm để tăng khả năng điều khiển (74LS244, 74LS245 …) – Hệ số đầu ra của P0 phụ thuộc vào giá trị của điện trở kéo, bị giới hạn bởi dòng lớn nhất mà nó có thể bị suy giảm trên các đầu ra
- Chuyển mạch trên các cổng IO • Trường hợp 1 – Có mức lôgic 0 khi chuyển mạch đóng – Dòng địên là 0,5ma khi chuyển mạch đóng • Trường hợp 2: – Có mức lôgic 1 khi chuyển mạch đóng – Dòng lớn khi chuyển mạch đóng • Trường hợp 3: – Có thể làm hỏng cổng nếu ở đầu ra có mức 0
- Các công tắc DIP trên cổng IO • Các công tắc DIP thường có 8 công tắc • Sử dụng trường hợp 1 ở trang trước • Có thể sử dụng một băng trở thay cho các điện trở rời rạc
- LED trên cổng IO • Trường hợp 1 – LED bật khi đầu ra =0 – Hầu hết điện áp rơi trên các LED từ 1,7 tới 2,5V và cần dòng khoảng 10ma – Dòng điện là (5-2)/470 • Trường hợp 2 – Dòng quá lớn – Gây hỏng cổng hoặc LED • Trường hợp 3 – Không dủ để điều khiển (1ma) – LED quá tối • Các LED 7 đoạn – Anôt/Catôt chung – Đưa vào CA – Trường hợp 1 các LED có thể có độ sáng khác nhau
- 8051 giao tiếp với 8255 • Thường được sử dụng làm chip điều khiển vào / ra – 40 chân – Có 3 cổng 8 bit PA, PB và PC – Cổng PC có thể được sử dụng như 2 cổng 4 bit PCL và PCU – Các cổng có khả năng bắt tay – 2 đường địa chỉ A0, A1 và 1 đường CS • Không gian địa chỉ 4 byte • 00b chọn cổng A • 01b chọn cổng B • 10b chọn cổng C • 11b chọn thanh ghi điều khiển
- Sơ đồ chức năng của 8255 • CS được sử dụng để giao tiếp với 8051 • Nếu CS được tạo từ các đường đại chỉ A15:A12 như sau: A15-A12 = 1000 • Địa chỉ cơ sở của 8255 là: – 1000 xxxx xxxx xx00b – 8000H • Đại chỉ của thanh ghi là – PA = 8000H – PB = 8001H – PC = 8002H – CR = 8003H
- Các chế độ làm việc của 8255 • Mode 0: Vào ra đơn giản – Bất kỳ cổng A, B, CL và CU có thể đựơc lập trình thành cổng vào hoặc cổng ra • Mode 1: Vào ra với khả năng bắt tay – A, B có thể được sử dụng làm cổng I/O – C cung cấp các tín hiệu bắt tay • Mode 2: Vào ra 2 chiều với khả năng bắt tay – A là cổng vào ra 2 chiều với các tín hiệu bắt tay trên cổng C – B là cổng I/O đơn giản (mode 0) hoặc I/O với khả năng bắt tay (mode 1) • Chế độ lập xoá bit BSR (Bit Set Reset) – Có thể lập trình cho từng bit trên cổng C
- Cấu hình của 8255 • Định cấu hình bằng cách ghi từ điều khiển vào thanh ghi điều khiển CR • CR xác định Tõ ®iÒu khiÓn D 7 D 6 D 5 D4 D3 D 2 D 1 D0 Nh m A ã Nhãm B 1ChÕ ®é/O = I 0 hÕ ®é BSR C = Nöa thÊp cæng 1 Input = Chän chÕ ®é 0 Output = 00 hÕ ®é = C 0 01 ChÕ ®é = 1 Cæng B 1X=hÕ ®é C 2 1 Input = 0 Output = Cæng A 1 Input = Chän chÕ ®é 0 Output = 0ChÕ ®é = 0 1 ChÕ ®é = 1 Nöa cao cæng C 1 Input = 0 Output =
- Sử dụng 8051: Ví dụ đơn giản • 8255 quản lý bộ nhớ của 8051 từ địa chỉ cơ sở 8000H • Từ điều khiển để tất cả các cổng là cổng ra ở chế độ 0 • Đoạn mã test: mov A, #80H ; control word mov DPTR, #8003H ; address of CR movx @DPTR, A ; write control word mov A, #55h ; will try to write 55 and AA alternatively repeat: mov DPTR, #8000H ; address of PA movx @DPTR, A ; write 55H to PA inc DPTR ; now DPTR points to PB movx @DPTR, A ; write 55H to PB inc DPTR ; now DPTR points to PC movx @DPTR, A ; write 55H to PC cpl A ; toggle A (55 -> AA, AA ->55) acall MY_DELAY ; small delay subroutine sjmp repeat ; for (1)
- Chuẩn bị thí nghiệm • Bài 1: Lập trình cho 8051 hiển thị 1234 trên LED 7 đoạn. • Bài 2: Dùng 8051 xây dựng bộ điều khiển đèn giao thông có đồng hồ đếm lùi thời gian sáng của đèn xanh, đèn đỏ.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Vi điều khiển 8051
30 p | 569 | 207
-
Đề cương bài giảng: Ứng dụng lập trình C cho vi điều khiển 8051
81 p | 452 | 205
-
Bài 5: Mạch vi điều khiển
8 p | 510 | 179
-
Bài giảng Vi xử lý – Vi điều khiển
222 p | 165 | 26
-
BÀI 7.1: LẬP TRÌNH HỢP NGỮ
44 p | 134 | 18
-
Bài giảng Lập trình Assembly: Chương 7 - Nguyễn Văn Thọ
14 p | 151 | 18
-
Bài giảng Vi xử lí: Chương 3 - Hồ Trung Mỹ
50 p | 62 | 15
-
Bài giảng Vi xử lý: Chương 3.1 - Bùi Minh Thành
101 p | 119 | 11
-
Bài giảng Vi xử lý: Chương 3.7 - Bùi Minh Thành
26 p | 104 | 7
-
Bài giảng Vi xử lý: Chương 3.8 - Bùi Minh Thành
49 p | 87 | 6
-
Bài giảng Vi xử lý: Chương 3.9 - Bùi Minh Thành
48 p | 83 | 6
-
Bài giảng Vi xử lý: Chương 3.6 - Bùi Minh Thành
39 p | 79 | 6
-
Bài giảng Hệ nhúng: Chương 3 - Phạm Văn Thuận
163 p | 110 | 3
-
Xây dựng các bài tập thực hành trên Kit phát triển AT89S52 cho môn Hệ thống nhúng
6 p | 59 | 2
-
Bài giảng Hệ nhúng: Chương 3 - Đỗ Công Thuần
66 p | 15 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn