intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

I/O của 8051 và 8255

Chia sẻ: Khinh Kha Kha | Ngày: | Loại File: PDF | Số trang:15

195
lượt xem
34
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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á í thì sẽ không đảm bảo á à ế á ít ì ô ả ả 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...

Chủ đề:
Lưu

Nội dung Text: I/O của 8051 và 8255

  1. I/O của 8051 và 8255 Bài 7 Bộ môn TĐ Khoa KTĐK
  2. 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á í thì sẽ không đảm bảo á à ế á ít ì ô ả ả cho các ứng dụng điều khiển phức tạp
  3. 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 đó
  4. 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
  5. 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 g ợ ệ – 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 P0 P1 sẵn. • Để tăng số lượng cổng, sử dụng chip giao tiếp cổng song song giống như 8255
  6. Các thông số phần cứng • P0 là cực máng hở ự g – 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ề khiể ) ó ó đ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
  7. Chuyển mạch trên các cổng IO • Trường hợp 1 g ợp – 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 ở đầ ra có mức 0 ế đầu ó ứ
  8. 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
  9. LED trên cổng IO • Trường hợp 1 – LED bật khi đầu ra =0 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 (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
  10. 8051 giao tiếp với 8255 • Thường được sử dụng làm chip điều khiển vào / g ợ ụ g p ra – 40 chân – Có 3 cổng 8 bit PA, PB và PC PA – 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
  11. Sơ đồ chức năng của 8255 • CS được sử dụng để giao g g 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
  12. Các chế độ làm việc của 8255 • Mode 0: Vào ra đơn giản g – 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 g y – 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
  13. 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 D7 D6 D5 D4 D3 D2 D1 D0 Nh A ãm Nhãm B 1=ChÕ ®é I/O 0 ChÕ 0=ChÕ ®é BSR Nöa thÊp cæn 1= Input 1 I t Chän chÕ ®é 0= Output 00=ChÕ ®é 0 01 ChÕ ®é = 1 Cæng B 1X=ChÕ ®é 2 1= Input 0= Output Cæng A 1= Input Chän chÕ ®é 0= Output 0=ChÕ ®é 0 1= ChÕ ®é1 Nöa cao cæng C 1= Input 1 I 0= Output
  14. 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 @DPTR, ; write 55H t PC it to cpl A ; toggle A (55 -> AA, AA ->55) acall MY_DELAY ; small delay subroutine sjmp repeat ; for (1)
  15. 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 đỏ xanh, đỏ.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2