DuyTan University Assembly Language Programming
CHNG 8
LPTRÌNH I/O CHO MT
SGIAO TIP CBN
I HCDUY TÂN
KHOA CÔNG NGH#THÔNG TIN
Nguyn VnTh
Bmôn in tvinthông
Khoa Công nghthông tin, i hcDuy Tân – 2008
Nguyen Van Tho – Duy Tan University
MT SGIAO TIP CBN
OUTPUT
Led &'n
Led 7 &o+n
Led ma tr0n
LCD
INPUT
Phím &'n
Bàn phím ma tr0n(bàn phím s8Hex)
In/Out
RS232
ADC/DAC
Nguyen Van Tho – Duy Tan University
LED 7 ON
Có2 lo+ichính
Anod chung
Catod chung
00hFFh[tr+ng]
76h89hF
70h82hE
71h8EhD
79h86hC
39hc6hB
77h88hA
67h98h9
7Fh80h8
07hF8h7
7Dh82h6
6Dh92h5
66h99h4
4FhB0h3
5BhA4h2
06hF9h1
3FhC0h0
CatodAnodHi8nth9
DuyTan University Assembly Language Programming
Nguye n Va n Tho Duy Tan Universi ty
GHÉP LED CHUNG DATA & PHNG PHÁP QUÉT LED
M+ch nguyên lý
Nguyen Van Tho – Duy Tan University
PhK'ng pháp quét led
PhK'ng pháp này dOatrên nguyên tPchình Rnh trên
võng m+c mPt vUncòn &KWc lKuthêm 1 thYigian sau
khi hình Rnh thOc t[ &ã m]t.
T+i m_ithYi&i`mchab0tsáng và hi`nthb01 led
idukhi`n b0tsáng teng led 1 vfi s8hi`nthbtK'ng
gng trong 1 thYigian r]tngPn rhi tPt
Do tin s8quét r]tcao nên mPtngKYikhông th]y sO
thay &ki&ómàchath]y t]t cRcác led cùng sáng.
Nguyen Van Tho – Duy Tan University
dn8.1: Hi`nthbs8“9876”
Thu0ttoán :
TPtled 0, B0tled 3 (P2.0=1 & P2.3=0)
Kamã s89ra port 1
Delay
TPtled 3, B0tled 2 (P2.3=1 & P2.2=0)
Kamã s88ra port 1
Delay
TPtled 2, B0tled 1, (P2.1=0 & P2.1=0)
Kamã s87ra port 1
Delay
TPtled 1, B0tled 0, (P2.1=1 & P2.0=0)
Kamã s86ra port 1
Delay
Lvp l+i te&iu
DuyTan University Assembly Language Programming
Nguye n Va n Tho Duy Tan Universi ty
VD 8.1
Org 00
LAP:
SETB P2.0 ; tPtled 0
CLR P2.3 ; b0tled 3
MOV P1,#98H ; hi`n thbs89
LCALL DELAY ; chY
SETB P2.3 ; tPtled 3
CLR P2.2 ; b0tled 2
MOV P1,#80H ; hi`n thbs88
LCALL DELAY ; chY
SETB P2.2 ; tPtled 2
CLR P2.1 ; b0tled 1
MOV P1,#0F8H ; hi`n thbs87
LCALL DELAY ;chY
SETB P2.2 ; tPtled 1
CLR P2.1 ; b0tled 0
MOV P1,#82H ; hi`n thbs86
LCALL DELAY ; chY
SJMP LAP
DELAY:
PUSH 01
MOV R1,#0FFH
DJNZ R1,$
POP 01
RET
END.
Nguyen Van Tho – Duy Tan University
dn8.2 : Hi`nthbgiá trbthanh ghi A ra led 7 &o+n
ORG 0H
Lap:
MOV B,#10
DIV AB ; Lay A chia 10
MOV R0,A ; Cat thuong vao R0
MOV A,B ; Dua so du vao A
MOV P2,#11111110B ; Hien chu so hang don vi
MOV DPTR,#LED7SEG ; DPTR tro den bang ma Led 7 doan
MOVC A,@A+DPTR ; Lay ma so hien thi dua vao A
MOV P1,A ; xuat ra P1
LCALL DELAY
MOV A,R0 ;
MOV B,#10
DIV AB ; chia tiep cho 10
MOV R0,A ; cat thuong (hang tram)
MOV A,B ; dua so du (hang chuc) vao A
MOV P2, #11111101B ; Hien chu so hang chuc
MOV DPTR,#LED7SEG ; DPTR tro den bang ma Led 7 doan
MOVC A,@A+DPTR ; Lay ma so hien thi dua vao A
MOV P1,A ; xuat ra P1
LCALL DELAY
Nguyen Van Tho – Duy Tan University
MOV A,R0
MOV P2,#11111011B ; Hien thi chu so hang tram
MOV DPTR,#LED7SEG ; DPTR tro den bang ma Led 7 doan
MOVC A,@A+DPTR ; Lay ma so hien thi dua vao A
MOV P1,A ; xuat ra P1
LCALL DELAY
SJMP LAP
DELAY:
PUSH 00H
PUSH 01H
D: MOV R0,#200
DJNZ R0,$
POP 01H
POP 00H
RET
LED7SEG:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
DB 88H,0C6H,86H,8EH,82H,89H
END
DuyTan University Assembly Language Programming
Nguye n Va n Tho Duy Tan Universi ty
dn8.2: Vi[tchK'ng trình ]nphím và hi`nthbs8&KWc
]ntrên led 7 &o+n tK'ng gng
Nguyen Van Tho – Duy Tan University
GiRithu0t :
Btled 0
Hinsô 0
P0.0=0 ?
S
P0.1=0 ?
P0.7=0 ?
Btled 1
Hinsô 1
S
Btled 7
Hinsô 7
BEGIN
Nguyen Van Tho – Duy Tan University
dn8.3: Vi[tchK'ng trình &[m s8lin]n hi`nthbtrên
led 7 &o+n
DuyTan University Assembly Language Programming
Nguye n Va n Tho Duy Tan Universi ty
Thu0ttoán :
ChK'ng trình chính
R0=0
Phím nhn ? S
BEGIN
HinthR0
R0=R0 +1
ChK'ng trình con hi`nthbR0
R0 chia 10
TPtled 2, b0tled 0
Hi`nthbs8dKtrên Led 0
Delay
ThK'ng chia 10
TPtled 0, b0tled 1
Hi`nthbs8dKtrên Led 1
Delay
TPtled1, b0tled 0
Hi`nthbthK'ng tn Led2
Nguyen Van Tho – Duy Tan University
RUNG PHÍM & PHNG PHÁP CHNG RUNG PHÍM
Bàn phím là chuy`n m+ch c'khí
Khi ]n nhRnút
rung phím : nhK nh]n nhR
nhidu lintrong thYigian r]tngPn
02 cách ch8ng xung nRykhi rung phím
Bng phin cgng
Bng phin mdm
Ch8ng xung nRy bng phin mdm : Ki`mtra nhidu lin
liên ti[p(vd: 50 lin ) phím ]nthì mfixem nhKnh]n
phím 1 lin
Nguyen Van Tho – Duy Tan University
;ki`mtra nh]n
For 50 lin
•cphím
If có phím nh]nthen &•cphím
Else
NhRy&[nki`mtra nh]n
EndFor
;ki`mtra nhR
For 50 lin
&•cphím
If không nh]nthen &•cphím
Else
NhRy&[nki`mtra nhR
EndFor