Vi điều khiển 8051 Một số bài tập giao diện với ngoại vi... • Đoạn chương trình sau đây sẽ xuất nội dung của ô nhớ 30H ở RAM bên trong ra ngoại vi ghép với U2 và xuất nội dung của ô nhớ
Trang 1Vi điều khiển 8051 Một số bài tập giao diện với ngoại vi
Trang 2Mở rộng port xuất với các mạch chốt
3 4 5 6 7 8 9
3 4 5 6 7 8 9
1
5
2 3
6 4
Trang 3• Đoạn chương trình sau đây sẽ xuất nội dung của ô nhớ 30H ở RAM bên trong ra ngoại vi
ghép với U2 và xuất nội dung của ô nhớ 31H ở RAM bên trong ra ngoại vi ghép với U3.
MOV A, 30H MOV DPTR, #0C000H MOVX @DPTR, A
MOV A, 31H MOV DPTR, #0E000H MOVX @DPTR, A
Mở rộng port xuất với các mạch chốt
Trang 43 4 5 6 7 8 9
3 4 5 6 7 8 9
1
5
2 3
6 4
Trang 5• Đoạn chương trình sau đây sẽ nhập dữ liệu từ ngoại vi ghép với U2 rồi cất vào ô nhớ 40H ở
RAM bên trong và nhập dữ liệu từ ngoại vi ghép với U3 rồi cất vào ô nhớ 41H ở RAM bên trong.
MOV DPTR, #8000H MOVX A, @DPTR MOV 40H, A
MOV DPTR, #0A000H MOVX A, @DPTR
MOV 41H, A
Mở rộng port nhập
Trang 63 5 6
1
5
2 3 6 4
3 4 5 6 7 8 9
Mở rộng port với PPI 8255
Byte thấp của bus địa chỉ
Trang 8• Đọan chương trình sau đây sẽ nhập dữ liệu từ ngoại vi qua port A, ghi kết quả vào ô nhớ 30H của RAM bên trong Lấy nội dung ở nhớ 31H của RAM bên trong xuất ra ngoại vi qua port B và port C Các port A, B, C hoạt động ở chế độ 0.
Trang 93 5 6
1
5
2 3
6 4
Trang 10• Địa chỉ port A: 6000H.
Địa chỉ port B: 6100H.
Địa chỉ port C: 6200H.
Địa chỉ của thanh ghi điều khiển : 6300H.
Mở rộng port với PPI 8255
Trang 117 6 4 2 1 9 1 0
U 1 0 A
7 4 0 2
23
1/ C S 7
1
V C C
Hiển thị số
Trang 12• Địa chỉ của các IC chốt như sau:
7-Hiển thị số
Trang 14ORG 0000H
CS4 EQU 8000H CS5 EQU 0A000H CS6 EQU 0C000H CS7 EQU 0E000H MOV A, 30H
ANL A, #0FH
ACALL BCDTO7SEG MOV DPTR, #CS7 MOVX @DPTR, A MOV A, 30H
SWAP A
ANL A, #0FH
ACALL BCDTO7SEG
Hiển thị số
Trang 15MOV DPTR, #CS6 MOVX @DPTR, A MOV A, 31H
ANL A, #0FH
ACALL BCDTO7SEG MOV DPTR, CS5
MOVX @DPTR, A MOV A, 31H
SWAP A
ANL A, #0FH
ACALL BCDTO7SEG
Hiển thị số
Trang 16Hiển thị số
Trang 17A B C D E F G3
Trang 18P1.7 (L3)
P1.6 (L2)
P1.5 (L1)
P1.4 (L0)
P1.3 (D3)
P1.2 (D2)
P1.1 (D1)
P1.0 (D0)
Trang 225
2364
3456789
Hiển thị số - phương pháp quét
L3
Trang 27Bắt đầu
Không cho phép ngõ ra (OE = 0)
Chọn kênh tương tự (xác lập các địa chỉ CBA)
Tạo xung ALE
Tạo xung Start
Chờ biến đổi xong (tạo trì hoãn 120
EOC = 1) Cho phép ngõ ra (OE = 1)
Đọc dữ liệu
Kết thúc Giao diện với ADC
Trang 283 4 5 6
1 2
1 6
1 0 9 7
1 7
1 4
1 5 8
Trang 311 2
1 6
1 097
1 7
1 4
1 58
1
5
2364
3456A
Trang 32CLR P1.0 ; chọn kênh 0.
CLR P1.1
CLR P1.2
MOV DPTR, #4000H ; địa chỉ của ADC.
MOVX @DPTR, A ; tạo xung START và ALE (Y2
Trang 335
23
64
1 2
1 6
1 097
1 7
1 4
1 58
Trang 34MOV DPTR, #4000H ; địa chỉ của ADC.
EXT0_ISR:
MOV DPTR, #4000H ; địa chỉ của ADC.
Trang 355
23
64
3456789
1 4
1 5
42
Trang 36REF ana out
Vanalog_out điện áp 4 V.
MOV DPTR, #8000H MOV A, #(255 x 4 / 5) MOVX @DPTR, A
Giao diện với DAC
Trang 373 0 p F
R 1R