Giao tiếp bàn phím ma trận, LCD và PPI8255 - Pdf 11

Bài tập lớn - nhóm 9
ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐIỆN-ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO
Giao tiếp bàn phím ma trận, LCD và PPI8255
GVHD: Thầy Nguyễn Thanh Hiếu
Danh sách nhóm 9:
Nguyễn Thanh Duy
Nguyễn Thị Các Linh
Phan Thị Huỳnh Giao
Phạm Văn Hiếu
Bùi Văn Thời
Nguyễn Ngọc Thương
1
Bài tập lớn - nhóm 9
Nhận xét của Giáo Viên Hướng Dẫn

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………

 Mạch mô phỏng protues
3
Bài tập lớn - nhóm 9
A. PHẦN 1
I. Giới thiệu vi điều khiển 8501
GIỚI THIỆU HỌ MSC-51
MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất. Các IC tiêu biểu cho họ là 8051
và 8031. Các sản phẩm MSC-51 thích hợp cho những ứng dụng điều khiển. Việc xử lý
trên Byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ
truy xuất dữ liệu nhanh trên RAM nội. Chíp này có đặc điểm : 4 port , 8bit , có tốc độ,
công suất thấp có lập trình được nhờ bộ nhớ Flash và dùng thuật ngữ lập trình 80C51
Được sử dụng để điều khiển công nghiệp hay tự động hoá AT89C51 cung cấp những đặc
tính chuẩn như sau : 4 KB bộ nhớ chỉ đọc có thể xóa và lập trình nhanh (EPROM), 128
Byte RAM, 32 đường I/O, 2 TIMER/COUNTER 16 Bit, vecto ngắt có cấu trúc 2 mức
ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo xung Clock và dao động
ON-CHIP. Thêm vào đó, AT89C51 được thiết kế với logic tĩnh cho hoạt động đến mức
không tần sốvà hỗ trợ hai phần mềm có thể lựa chọn những chế độ tiết kiện công suất,
chế độ chờ (IDLE MODE) sẽ dừng CPU trong khi vẫn cho phép RAM, timer/counter,
port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ giảm công suất sẽ lưu nội dung
RAM những sẽ treo bộ dao động làm khả năng hoạt động của tất cả những chức năng
khác cho đến khi Reset hệ thống
Bộ nhớ chương trình bên trong: 4 KB (ROM)
4
Bài tập lớn - nhóm 9
Cấu trúc của 8051
Chức năng các chân của AT89C51
5
Bài tập lớn - nhóm 9
89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. trong đó có 24 chân có
tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường

ALE = 0 →trong thời gian bus AD0 - AD7 đóng vai trò là bus D0 - D7.
ALE = 1 →trong thời gian bus AD0 - AD7 đóng vai trò là bus A0 - A7.
- Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vào của xung
lập trình.
c/Chân EA\:
- EA (External Access): truy xuất ngoài, chân số 31.
- Chức năng:
• Là tín hiệu cho phép truy xuất (sử dụng) bộ nhớ chương trình (ROM) ngoài.
• Là tín hiệu nhập, tích cực mức thấp.
EA\ = 0 →Chip 8051 sử dụng chương trình của ROM ngoài.
EA\ = 1 →Chip 8051 sử dụng chương trình của ROM trong.
- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp
lập trình
d/Chân RST
7
Bài tập lớn - nhóm 9
Ngõ vào RST ở chân 9 là ngõ vào reset của 89C51, khi ngõ vào tín hiệu này đưa lên
cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong đươc nạp những giá trị thích hợp
để khởi động hệ thống, khi cấp mạch điện tự động reset.
II. GIỚI THIỆU VỀ PPI 8255
a. Giới thiệu về PPI8255
- PPI: programmable peripheral interface – giao
tiếp ngoại vi lập trình được
- Dùng 8255 để mở rộng I/O. từng port có thể
lập trình là input hay output một cách linh
hoạt bằng phần mềm (so sánh với việc thiết kế
I/O port dùng 74LS244 và 74LS373 ở chương 1
→ input hay output được thiết kế “cứng”,cố định).
- Các chân:
D0÷D7: bus dữ liệu 2 chiều

giá trị hàng và cột thông qua Port 1.
- Nếu 1 phím nào đó được nhấn: hàng và cột tương ướng nối với nhau và ở
mức logic 0, tuân theo quy tắc sau ta xác định mã phím:
+Ta có số hàng là 4: đếm theo thứ tự:
hi = 1(ứng với H4), 2( ứng với H3), 3(ứng với H2), 4(ứng với H1)
ci = 0 (ứng với C1), 4(ứng với C2), 8(ứng với C3), 12(ứng với C4).
12
Bài tập lớn - nhóm 9
Ta có thể thấy các cột hơn kém nhau 4 đơn vị
Ma phimi = (4-hi)+ci
- Ta thực hiện quét 4 lần, lần lượt 4 hàng
- Thuật toán quét bàn phím như sau:
Chương trình quét bàn phím được viết như sau:
SCAN_KEY:
MOV R1,#0FEH
MOV R6,#4
SCAN:
13
Bài tập lớn - nhóm 9
MOV P1,R1
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,GET_CODE
XCH A,R1
RL A
XCH A,R1
DJNZ R6,SCAN
CLR F0
LJMP EXIT
GET_CODE:

 '( ++$.  & +$%&$$5!
)%6 & +%)788#9:7'( )
$/.  & + 3).)+$'
;$
!   ;$% $
< =>> ?@ ?@
A = BC= B
D = :'''BC= ( & +
/
8 E> 7F 
G% *
7G
% 
C EFH 7F (F?
G(*7G?
I " 7F / $/
#<8 J:J# 7F $-% 
15
Bài tập lớn - nhóm 9
• K=>>=G$.)?@
• K=G & +/)4 +,'
• E>L   % MG$A!N%)% 
.)% '@ !E>$!/%  / $/
)$ %  !O5$)4 +
,P +. )Q@ !E>$%  
/ $/)$% &$ + +,% '
• EFHL FR MG/ $/$% % &$% P
$% &$$)$$'
• "L -% MG) +!$% % % .)$)
% $'S% )4 +,%  !

6@6ZG
>"J"*"[< +5!-\% 
EE>* !% 
;X=YY]D97*-9-`&$C59A)
E"*5! "
19
Bài tập lớn - nhóm 9
YHY6Z*) !& !-
>"J"*"[< +5!-\% 
EE>* !% 
;X=YY]:"7*``
E"*5! "
YHY6Z*) !& !-
>"J"*"[< +5!-\% 
EE>* !% 
;X=YY]:I7*.,0,/&$
E"*5! "
YHY6Z*) !& !-
E"
Xoùa maøn hình hieån thò LCD
EZG
>"J"
EE>
;X=YY]:<7
E"
YHY6Z
20
Bài tập lớn - nhóm 9
E"
Ghi ra maøn hình

chính
Xử lý dữ liệu
Hiển thị lên LCD
END
RESET
Giao tiếp PPI
8255 với 8051
Giao tiếp PPI
8255 với LCD
Chương trình
cho LCD
Bài tập lớn - nhóm 9
ORG 0H
RS EQU P1.0
RW EQU P1.1
E EQU P1.2
DB0 EQU P0.0
DB1 EQU P0.1
DB2 EQU P0.2
DB3 EQU P0.3
DB4 EQU P0.4
DB5 EQU P0.5
DB6 EQU P0.6
DB7 EQU P0.7
H1 EQU P2.0
H2 EQU P2.1
H3 EQU P2.2
H4 EQU P2.3
C1EQU P2.4
C2EQU P2.5

MOV TH0,#HIGH(-50000)
MOV TL0,#LOW (-50000)
SETB TR0
CLR TF0
JNB TF0,$
CLR TF0
CLR TR0
RET
XUAT_CHUOI:
MOV R0,#0H
L1: MOV A,R0
MOVC A,@A+DPTR
CJNE A,#0H,CONT_WRITE
24
Bài tập lớn - nhóm 9
SJMP END_WRITE
CONT_WRITE:
CJNE R0,#0FH,TIEP
MOV R2,#0C0H
ACALL XUAT_LENH
TIEP:
INC R0
MOV R3,A
ACALL XUAT_DATA
SJMP L1
END_WRITE:
RET
KHOITAO_LCD:
MOV R2,#38H ;BUS 8
BIT ,FONT 5X8 ,2 HANG

SETB E
SETB RS
CLR RW
CLR P3.4
CLR P3.5
CJNE R1,#0FH,XUAT
MOV R2,#0C0H
ACALL XUAT_LENH
XUAT:
INC R1
MOV DATA_LCD,R3
SETB P3.6
CLR P3.7
SETB P3.7
CLR E
LCALL DELAY
25


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status