Bài giảng Microcontroller - Chương 6: Vào ra với 8051 và 8255

Các cổng I/O đa hợp của 8051

z Là các cổng mà các chân ra của nó có thể được sử

dụng với các dạng tín hiệu khác

– P0 : Còn có thể dùng làm bus địa chỉ A0:A7 và dữ liệu D0:D7

– P1 : chuyên biệt cho mục đích vào/ra

– P2 : Còn được sử dụng làm bus địa chỉ A8:A15

– P3 : Còn được sử dụng làm các cổng truyền thông nối tiếp

(TxD, RxD), đầu vào bộ định thời (T0, T1), các ngắt ngoài

(INT0, INT1) và các tín hiệu điều khiển đọc/ghi bộ nhớ

ngoài (RD,WR)

z Đối với 8051 hay DS5000, khi không ghép nối với bộ

nhớ ngoài, thì P0, P1 và P2 dùng làm cổng I/O. Đối với

8031, chỉ có P2 là có thể sử dụng.

z Để tăng số lượng các cổng I/O, ta có thể sử dụng 1

chip giao tiếp các cổng I/O song song, như 825

Đặc trưng phần cứng các cổng 8051

z P0 là cổng cực nguồn mở.

– Phải có thêm các điện trở 10K ngoài nối lên 5V để xác lập

mức 1 cho các chân ra của P0.

– Không cần có điện trở này, nếu P0 được sử dụng làm các

đường địa chỉ

z P1, P2, P3 có sẵn điện trở kéo lên (pull-ups)

z Hệ số phân đầu ra của cổng (số lượng các thiết bị mà

nó có thể điều khiển) bị hạn chế.

– Sử dụng các bộ đệm (74LS244, 74LS245, vv) để tăng dòng

điều khiển.

– P1, P2, P3 có thể điều khiển tới 4 đầu vào đệm chốt họ LS-TTL

– Hệ số phân đầu ra của P0 phụ thuộc vào giá trị của điện trở

kéo lên, nó bị giới hạn bởi dòng lớn nhất mà nó có thể nuốt khi

đưa ra ở mức thấp

pdf17 trang | Chia sẻ: trungkhoi17 | Lượt xem: 519 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Microcontroller - Chương 6: Vào ra với 8051 và 8255, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
DCE VÀO RA VỚI 8051 VÀ 8255 Microcontroller Chapter 6 Ngo Nhu Khoa Department of Computer Engineering ThaiNguyen University of Technology 10/1/2005 2 DCE 1. Why I/O Ports z 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à tạo ra các tín hiệu điều khiển cho thiết bị ngoài. – Các cổng I/O phục vụ cho mục đích này z 8051 được thiết kế sẵn với 4 cổng I/O z Có quá nhiều cổng sẽ làm tăng số chân ra và tăng giá thành của chip. Nếu quá ít cổng thì nó lại không thích hợp với các nhu cầu điều khiển phức tạp z Nhìn chung, số lượng cổng I/O hạn chế so với yêu cầu thực tế, do vậy việc phân phối và sử dụng hợp lý các cổng I/O là 1 vấn đề quan trọng đối với người thiết kế. 10/1/2005 3 DCE 2. Cấu trúc các cổng I/O của 8051 z 32 chân được sử dụng cho 4 cổng I/O, mỗi cổng 8 bit – P0, P1, P2, P3 z Khi bật nguồn, tất cả các cổng được đặt là các cổng ra 1 cách ngầm định. z Để cấu hình bất kỳ cổng nào làm cổng vào, viết 1 ra trên các chân của cổng (0xFF) – Q=1, QB=0, M1=OFF, khi đó Read_Pin (chân điều khiển đệm đọc) được lập bởi 1 lệnh đọc cổng 10/1/2005 4 DCE 3. Đọc- ghi các cổng I/O của 8051 z Các cổng có thể được đọc và ghi 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 z Các cổng có thể được truy xuất đến từng bit (cpl và 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 10/1/2005 5 DCE 3. Các cổng I/O đa hợp của 8051 z Là các cổng mà các chân ra của nó có thể được sử dụng với các dạng tín hiệu khác – P0 : Còn có thể dùng làm bus địa chỉ A0:A7 và dữ liệu D0:D7 – P1 : chuyên biệt cho mục đích vào/ra – P2 : Còn được sử dụng làm bus địa chỉ A8:A15 – P3 : Còn được sử dụng làm các cổng truyền thông nối tiếp (TxD, RxD), đầu vào bộ định thời (T0, T1), các ngắt ngoài (INT0, INT1) và các tín hiệu điều khiển đọc/ghi bộ nhớ ngoài (RD,WR) z Đối với 8051 hay DS5000, khi không ghép nối với bộ nhớ ngoài, thì P0, P1 và P2 dùng làm cổng I/O. Đối với 8031, chỉ có P2 là có thể sử dụng. z Để tăng số lượng các cổng I/O, ta có thể sử dụng 1 chip giao tiếp các cổng I/O song song, như 8255 10/1/2005 6 DCE 4. Đặc trưng phần cứng các cổng 8051 z P0 là cổng cực nguồn mở. – Phải có thêm các điện trở 10K ngoài nối lên 5V để xác lập mức 1 cho các chân ra của P0. – Không cần có điện trở này, nếu P0 được sử dụng làm các đường địa chỉ z P1, P2, P3 có sẵn điện trở kéo lên (pull-ups) z Hệ số phân đầu ra của cổng (số lượng các thiết bị mà nó có thể điều khiển) bị hạn chế. – Sử dụng các bộ đệm (74LS244, 74LS245, vv) để tăng dòng điều khiển. – P1, P2, P3 có thể điều khiển tới 4 đầu vào đệm chốt họ LS-TTL – Hệ số phân đầu ra của P0 phụ thuộc vào giá trị của điện trở kéo lên, nó bị giới hạn bởi dòng lớn nhất mà nó có thể nuốt khi đưa ra ở mức thấp. 10/1/2005 7 DCE 5. 8051 I/O Ports : Input Quirks z Các lệnh đọc cổng có thể là: – Đọc từ các chân của 8051 (các mức “điện áp” trên các chân) – Đọc từ 1 cổng chốt trong của các cổng z Ghi 1 ra bộ chốt – Q=1, QB=0; M1 ngắt – P1.x có thể dùng như 1 bộ đệm 3 trạng thái z Ghi 0 ra chốt – Q=0, QB=1; M1 dẫn – Đầu vào luôn nhận được là 0 – Có thể gây nguy hiểm cho (M1) nếu P1.x nối với Vcc – Sử dụng điện trở 10K giữa chuyển mạch (switch) trên P1.x và Vcc – Hoặc sử dụng 1 chuyển mạch SPST nối với GND 10/1/2005 8 DCE Input Quirks (contd.) z Các lệnh đọc các chân của 1 cổng I/O (READ_PIN được xác lập) – mov A, Px – jnb Px.y – jb Px.y – mov C, Px.y z Các lệnh đọc từ bộ chốt trong (READ_LATCH được lập) – Các lệnh này đọc giá trị đầu ra cuối cùng và không phải là giá trị trên các chân của cổng – [anl, orl, xrl] Px – [jbc, djnz] Px.y, target – [cpl, clr, setb] Px.y – [inc, dec] Px 10/1/2005 9 DCE 6. 8051 - Switch On IO Ports z Trường hợp 1 : – Nhận mức logic 0 khi SW đóng – Dòng là 0.5ma khi SW đóng – Điện trở Pull-up là cần thiết nếu là cổng P0 z Trường hợp 2: – Nhận mức logic 1 khi SW đóng – Dòng cao khi SW đóng z Trường hợp 3: – Có thể nguy hiểm cho cổng nếu ghi 0 ra cổng 10/1/2005 10 DCE 7. DIP Switches on IO port z Các chuyển mạch DIP thường có 8 công tắc z Cách nối như trong trường hợp 1 ở phần trước z Có thể dùng 1 trở dãy, thay cho các điện trở rời 10/1/2005 11 DCE 8. LED on IO Port z Cố gắng dùng theo chế độ nuốt dòng z Trường hợp 1 – LED sáng khi đầu ra là 0 – Phần lớn điện áp rơi trên led là từ 1.7 đến 2.5 volts và cần nguồn dòng khoảng 10ma – Do vậy, điện trở hạn dòng là 470 Ohm z Trường hợp 2 – Dòng sẽ quá lớn – Làm hỏng cổng hoặc led z Trường hợp 3 – Không đủ dòng để sáng led (1ma) – LED quá tối (với led 7 đoạn) – Cực chung Anode/ Cathode, thường là cathode chung – Trường hợp 1 có thể cho độ sáng các led là khác nhau 10/1/2005 12 DCE 9. 8051 giao tiếp với 8255 z 8255 - Được sử dụng rộng rãi trong các chip I/O – 40 chân – Cung cấp 3 cổng 8 bit: PA, PB và PC – Cổng PC có thể được sử dụng như là 2 cổng 4 bit, là PCL và PCU – Các cổng có khả năng bắt tay – Hai đường địa chỉ A0,A1 và 1 chân chọn chip CS z Không gian địa chỉ là 4 bytes z 00b chọn cổng A z 01b chọn cổng B z 10b chọn cổng C z 11b chọn thanh ghi điều khiển 10/1/2005 13 DCE 10. Sơ đồ chức năng của 8255 z CS được sử dụng để giao tiếp với 8051 z Nếu CS được phát sinh từ tổ hợp các đường địa chỉ A15:A12 như sau, A15:A12 = 1000 z Địa chỉ cơ sở của 8255 là – 1000 xxxx xxxx xx00b – 8000H z Địa chỉ ủa các thanh ghi là: – PA = 8000H – PB = 8001H – PC = 8002H – CR = 8003H 10/1/2005 14 DCE 11. Các chế độ hoạt động của 8255 z Mode 0 : Vào/ra đơn giản – Bất kỳ cổng nào trong số A, B, CL và CU có thể được lập trình như 1 cổng vào hoặc ra z Mode 1: Vào/ra có bắt tay – A và B có thể được dùn làm các cổng I/O – C cung cấp các tín hiệu bắt tay z Mode 2: Vào/ra 2 chiều có bắt tay – A là cổng hai chiều với C cung cấp các tín hiệu bắt tay – B có thể là cổng vao/ra đơn giản (mode-0) hay ở chế độ bắt tay (mode-1) z BSR (Bit Set Reset) Mode – Chỉ cổng C có thể sử dụng ở chế độ truy xuất theo từng bit 10/1/2005 15 DCE 12. Cấu hình cho 8255 z 8255 được cấu hình bằng cách viết 1 từ điều khiển vào thanh ghi điều khiển CR z Định nghĩa cho CR – D7 : 1 I/O mode, 0 BSR – D6,D5 : Lựa chọn chế độ cho A và CU 00 Mode0, 01 Mode1, 1x Mode2 – D4 : Port A control 1 A input, 0 A output – D3 : Port CU control 1 CU input, 0 CU output – D2 : Port B Mode selection 0 B is in mode 0, 1 B is in mode 1 – D1 : Port B control 1 B input, 0 B output – D0 : Port CL control 1 CL input, 0 CL output z Tham khảo thêm tài liệu datasheet của 8255 để có thông tin chi tiết 10/1/2005 16 DCE 12. Ứng dụng 8255 : Ví dụ z 8255 được ánh xạ bộ nhớ bởi 8051 ở địa chỉ cơ sở 8000H – PA = 8000H, PB = 8001H, PC = 8002H, CR = 8003H z Từ điều khiển cho tất cả các cổng là đầu ra ở mode 0 – CR : 1000 0000b = 80H z Trích đoạn mã lệnh: 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) 10/1/2005 17 DCE Next Class z Interfacing a keypad z Interfacing a character LCD z Scanned LED displays

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_microcontroller_chuong_6_vao_ra_voi_8051_va_8255.pdf
Tài liệu liên quan