LẬP TRÌNH I/O CHO 8051

35 411 2
LẬP TRÌNH I/O CHO 8051

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xung & Hoi1 1.Giớithiệu 2.Sơđồ khốivàchân 3.Tổchứcbộnhớ 4.Cácthanhghichứcnăng đặcbiệt 5.Dao độngvàhoạt độngreset 6.Tậplệnh 7.Cácmode định địachỉ 8.LậptrìnhIO (IO Port Programming) 9.Tạotrễ 10.LậptrìnhTimer/Counter 11.Lậptrìnhgiaotiếpnốitiếp 12.Lậptrìnhngắt 13.Lậptrìnhhợpngữ Xung & Hoi2 Port 1 đượckýhiệuP1 à Cácchân: P1.0 -P1.7 SửdụngP1 trongcácvídụsau đây để chỉ rahoạt động củachúng à P1 làcổngra–output (ghidữliệuCPU racácchân bênngoài) à P1 làcổngvào–input (đọcdữliệutừcácchânbên ngoàivàoCPU bus) Port 1 (chân1-8) 8-1. Cổng1 (Port 1) Xung & Hoi3 8051 IC DQ ClkQ Vcc Read DFF Read pin Write to DFF M1 P1.x P1.x TB1 TB2 Tải Bus nội 8-2. CấutrúcphầncứngcủaP1.x Xung & Hoi4 a.Bus nội: giaotiếpvớiCPU b.BộchốtdữliệuDFF: lưutrữ giátrị củachân. Khi “Write to DFF”= 1: ghidữliệuvàoDFF c.Haibộđệm3 trạngthái(tri-state buffers): -TB1: điềukhiểnbởi“Read pin”. Khi“Read pin”= 1: đọcgiátrị tạichân ngoài -TB2: điềukhiểnbởi“Read DFF”. Khi“Read DFF”= 1: đọcgiátrị từ DFF nội d.Transistor M1 Xung & Hoi5 0 1 0 1 1 1 Bộđệm3 trạngthái(Tri-state Buffer) OutputInput Tri-state control (kíchhoạt mứccao) 0 Trở khángcao (hở mạch) Xung & Hoi6 8-3. Ghiracổngoutput Vd: MOV A, #55H BACK: MOV P1, A ACALLDELAY CPL A SJMP BACK Xung & Hoi7 DQ ClkQ Vcc Read DFF Read pin Write to DFF M1 P1.x P1.x 8051 IC 2. Chânralà Vcc 1.ghi1 1 0 output 1 TB1 TB2 8-3-1. Ghi“1”rachânoutput P1.x Bus nội Tải Xung & Hoi8 DQ ClkQ Vcc Read DFF Read pin Write to DFF M1 P1.x P1.X 8051 IC 1. ghi0 0 1 output 0 TB1 TB2 Bus nội 8-3-2. Ghi“0”rachânoutput P1.x Tải 2. Chânra nối đất Xung & Hoi9 8-4. Đọctừchâninput & bộ chốt Khi đọcchân, cóhaikhả năngsau: ØĐọctrạngtháicủachân input (bênngoài) MOVA,Px JNBP2.1,Label JBP2.1,Label ØĐọcdữliệubộchốtcủachân output (bêntrong) ANLP1,A ORLP1,A INCP1 Đọc-Sửa đổi-Ghi Xung & Hoi10 8-4-1. Đọctừchâninput Để P1 làinput, P1 phải đượclậptrìnhbằngcáchghi“1” vàotấtcảcácbit củaP1 MOV P1,#0FFH ; P1=11111111B ; P1 làinput BACK:MOV A,P1 MOV P2,A SJMP BACK E tươngtựchoP0, P2, P3 [...]... địa chỉ & gửi tới ROM OE 74LS373 G D P0.7 A0 A7 Address D0 D7 /EA P2.0 A8 P2.7 A12 8051 Xung & Hoi ROM 31 Đọc ROM ngoài (2/2) PSEN ALE P0.0 P0.7 2 74373 chốt địa chỉ & gửi tới ROM OE 74LS373 G D Address A0 A7 D0 D7 /EA 3 ROM gửi lệnh trở lại P2.0 A8 P2.7 A12 8051 Xung & Hoi ROM 32 8-6-3 Đọc ghi RAM ngoài RAM(S) or I/O 8051 DECODE PORT 2 ALE PORT 0 ADDRESS LATCH CE ADDRESS INPUTS DATA OUTPUTS R/W OE... 4,7K) Và với các điện trở kéo lên bên ngoài này, khi reset hay khi bật nguồn, P0 mặc định là output Vcc 10 K Port 8051 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 0 Xung & Hoi 26 8-6 Vai trò kép của P0 • Khi nối 8051 tới bộ nhớ ngoài thì nó sử dụng các port để gửi địa chỉ và đọc các lệnh – 8051 có khả năng truy xuất 64K bytes bộ nhớ ngoài – Địa chỉ 16-bit: P0 cung cấp các đường địa chỉ A0-A7, P2 cung cấp... Đọc-Sửa đổi-Ghi MOV P1,#55H ;P1=01010101B AGAIN: XRL P1,#0FFH ACALL DELAY SJMP AGAIN Xung & Hoi 23 8-5 Các cổng (port) còn lại Ø P1, P2, P3 có điện trở tải nội Ø P0 không có điện trở tải nội Ø Phía người lập trình: không có sự khác biệt nào giữa các cổng Ø Tất cả các cổng là output và ở mức logic cao khi Reset Xung & Hoi 24 Cấu trúc phần cứng P0.x Read DFF Bus nội TB2 D P0.X Q P1.X Write to DFF Clk Q M1... D 1 Q 1 P1.x P1.x Write to DFF 3 Read pin=1 Read DFF=0 Write to DFF=0 Clk 0 Q M1 TB1 Read pin 8051 IC Xung & Hoi 11 Đọc “0” tại chân input Read DFF Vcc TB2 1 Ghi 1 MOV P1,#0FFH Bus nội D Q Tải 2 MOV A,P1 Chân ngoài=“0” 0 1 P1.x P1.x Write to DFF 3 Read pin=1 Read DFF=0 Write to DFF=0 Clk Q 0 M1 TB1 Read pin 8051 IC Xung & Hoi 12 Các lệnh đọc chân input Lệnh MOV A,PX Ví dụ MOV A,P2 Mô tả Đọc P2 vào A... chốt 74LS373 8051 A15 - A8 PORT2 ROM(S) ADDRESS ALE PORT0 AD7 - AD0 LATCH A7 - A0 D7 - D0 PSEN ADDRESS INPUTS DATA OUTPUTS OE Chân ALE được dùng để giải đa hợp (de-multiplexing) địa chỉ và dữ liệu bằng cách nối tới chân G của bộ chốt 74LS373 Khi ALE=0, P0 cung cấp dữ liệu D0-D7 Khi ALE=1, P0 cung cấp địa chỉ A0-A7 Xung & Hoi 28 PSEN ALE P0.0 OE 74LS373 G D P0.7 A0 A7 D0 D7 EA P2.0 A8 P2.7 A15 8051 ROM... KQ vào DFF Read pin=0 Read DFF=0 Write to DFF=1 4 P1.7 = 1 1 0 Q 1 P1.7 P1.7 0 Clk Q M1 TB1 Read pin 8051 IC Xung & Hoi 15 Đọc-Sửa đổi-Ghi Đặc điểm này bao gồm 3 hành động trong 1 lệnh đơn: 1 CPU đọc bộ chốt 2 CPU thực hiện tính toán à sửa đổi bộ chốt 3 Ghi ra chân Chú ý: 8 chân của Port làm việc độc lập nhau Xung & Hoi 16 Các lệnh có đặc điểm Đọc-Sửa đổi-Ghi Lệnh Ví dụ ANL ANL P1,A ORL ORL P1,A XRL... ngoài •Tại sao phải set chân trước khi tiến hành đọc? üĐọc giá trị từ bộ chốt •Lệnh như thế nào gọi là có tính chất Đọc-Sửa đổi-Ghi? Xung & Hoi 19 Bài toán 1: thao tác bit Bài toán: 1 Theo dõi bit P1.2 cho đến khi nhận được “1” 2 Khi nhận được “1”, ghi 45H ra P0 3 & gửi xung “High-to-Low” ra chân P2.3 Xung & Hoi 20 Giải đáp: AGAIN: SETB MOV JNB MOV SETB CLR P1.2 A,#45H P1.2,AGAIN P0,A P2.3 P2.3 ;P1.2... gián tiếp qua 2 thang ghi R0 và R1, con trỏ dữ liệu Xung & Hoi 33 8-7 Port 3 • Port 3 không cần các điện trở kéo lên bên ngoài • Mặc dầu Port 3 cũng được cấu hình như ouput khi reset nhưng nó thường dùng cho các chức năng riêng nêu dưới đây P3 Bit Function Pin P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RxD TxD INT0 INT1 T0 T1 WR RD & Hoi Xung 10 11 12 13 14 15 16 17 34 Xung & Hoi 35 . (đọcdữliệutừcácchânbên ngoàivàoCPU bus) Port 1 (chân1 -8 ) 8- 1. Cổng1 (Port 1) Xung & Hoi3 80 51 IC DQ ClkQ Vcc Read DFF Read pin Write to DFF M1 P1.x P1.x TB1 TB2 Tải Bus nội 8- 2. CấutrúcphầncứngcủaP1.x Xung. DFF M1 P1.x P1.x 80 51 IC 2. Chânralà Vcc 1.ghi1 1 0 output 1 TB1 TB2 8- 3-1 . Ghi“1”rachânoutput P1.x Bus nội Tải Xung & Hoi8 DQ ClkQ Vcc Read DFF Read pin Write to DFF M1 P1.x P1.X 80 51 IC 1 DFF M1 P1.x P1.X 80 51 IC 1. ghi0 0 1 output 0 TB1 TB2 Bus nội 8- 3-2 . Ghi“0”rachânoutput P1.x Tải 2. Chânra nối đất Xung & Hoi9 8- 4. Đọctừchâninput & bộ chốt Khi đọcchân, cóhaikhả năngsau: ØĐọctrạngtháicủachân

Ngày đăng: 06/05/2014, 15:09

Tài liệu cùng người dùng

Tài liệu liên quan