Upload
dang-nguyen
View
164
Download
5
Embed Size (px)
Citation preview
Ch 4 – TK hệ VXL
Các thí dụ minh họa
LED Blinking
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P0.0/AD0 39
P0.1/AD1 38
P0.2/AD2 37
P0.3/AD3 36
P0.4/AD4 35
P0.5/AD5 34
P0.6/AD6 33
P0.7/AD7 32
P2.7/A15 28
P2.0/A8 21
P2.1/A9 22
P2.2/A10 23
P2.3/A11 24
P2.4/A12 25
P2.5/A13 26
P2.6/A14 27
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P3.0/RXD 10
P3.1/TXD 11
P3.2/INT0 12
P3.3/INT1 13
P3.4/T0 14
P3.7/RD 17P3.6/WR 16P3.5/T1 15
U1
80C51
B1 S1
R0110k
R0010k
R30330R
R31330R
DB1 DS1
X1
16MHzCX133p
CX233p
CRST10n
RRST10k
B2
R32330R
DB2
D1LED-GREEN
D2LED-GREEN
D3LED-GREEN
D4LED-GREEN
D5LED-GREEN
D6LED-GREEN
D7LED-GREEN
R1330R
R2330R
R3330R
R4330R
R5330R
R6330R
R7330R
R8330R
D8LED-GREEN
Blink01.asm (1/2)xtal equ 12 ; Crystal frequency in MHzPattern equ 0FEh
org 0
mov P0,#00000011b ; Dat cau hinh P0.1 va P0.0 la Input mov P3,#10000000b ; Dat cau hinh P3.7 la Input mov P1,#Pattern
back:
; copy port0 switch B1,S1 states to acc mov a,P0 anl a,#00000011b ; P0.1 and P0.0 are selected orl a,#10000000b ; prepare P3.7 for input
; Sao chep bit P3.7 vao bit P3.2 mov C, p3.7 mov acc.2, C mov P3,a
Blink01.asm (2/2)mov A, P1jb P0.1, RoR; Xoay trai P1 RL A sjmp NextRoR:; Xoay phai P1 RR ANext: mov P1, A; delay for 25ms delay mov A,#250 acall dly100u sjmp back
dly100u:; delay loop takes;
mov r1,Adlylp1: mov r0,#(xtal*62/10)dlylp2: djnz r0,dlylp2
djnz r1,dlylp1 ret
end
Boole_Up BCD counter_7seg LED
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P0.0/AD0 39
P0.1/AD1 38
P0.2/AD2 37
P0.3/AD3 36
P0.4/AD4 35
P0.5/AD5 34
P0.6/AD6 33
P0.7/AD7 32
P2.7/A15 28
P2.0/A8 21
P2.1/A9 22
P2.2/A10 23
P2.3/A11 24
P2.4/A12 25
P2.5/A13 26
P2.6/A14 27
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P3.0/RXD 10
P3.1/TXD 11
P3.2/INT0 12
P3.3/INT1 13
P3.4/T0 14
P3.7/RD 17P3.6/WR 16P3.5/T1 15
U1
80C51
X1
16MHzCX133p
CX233p
CRST10n
RRST10k
R1
270R
R2
270R
R3
270R
R4
270R
R5
270R
R6
270R
R7
270R
;TD: boole04.asm; Minh hoa cac lenh nhay theo tri bien Boole: JC, JNC, JB, JNB, JBC ; Mo phong mach dem 10: ngo ra nhi phan o 4 bit thap P2, duoc noi voi mach hien
thi so; xung nhip CK (kich canh xuong) duoc noi chan P3.7CK EQU P3.7
MOV P3,#80H ; Dat cau hinh P3.7 INPUTMOV R0,#0 ; So dem ban dau la 0MOV P0,#0C0H; Dau tien so dem la 0
LOOP:JNB CK,$ ; Doi CK o muc 1JB CK,$ ; Doi CK o muc 0 ==> phat hien duoc canh xuongINC R0CJNE R0,#10,NEXTMOV R0,#0
NEXT:MOV A,R0ACALL BCD2LEDSJMP LOOP
BCD2LED:MOV DPTR,#LED_DATAMOVC A,@A+DPTRMOV P0,ARET
LED_DATA:DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90HRETEND
Boole_Up BCD counter_7seg LEDUsing Timer 0
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P0.0/AD0 39
P0.1/AD1 38
P0.2/AD2 37
P0.3/AD3 36
P0.4/AD4 35
P0.5/AD5 34
P0.6/AD6 33
P0.7/AD7 32
P2.7/A15 28
P2.0/A8 21
P2.1/A9 22
P2.2/A10 23
P2.3/A11 24
P2.4/A12 25
P2.5/A13 26
P2.6/A14 27
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P3.0/RXD 10
P3.1/TXD 11
P3.2/INT0 12
P3.3/INT1 13
P3.4/T0 14
P3.7/RD 17P3.6/WR 16P3.5/T1 15
U1
80C51
X1
12MHzCX133p
CX233p
CRST10n
RRST10k
R1
270R
R2
270R
R3
270R
R4
270R
R5
270R
R6
270R
R7
270R
;TD: counter01.asm; Minh hoa su dung chuc nang counter cua 8051 ; Su dung T0 che do 2 lam counter voi CLK la chan P3.4 (T0); counter nay co modulo 10, nghia là dem het 9 thi tranCOUNT EQU -10
SETB P3.4 ; dat cau hinh input cho P3.4MOV TMOD,#6 ; Timer 0: counter mode 2MOV TH0, #COUNTMOV TL0, #COUNTSETB TR0
LOOP:MOV A,TL0ADD A,#-COUNTCALL BCD2LEDMOV P0,ASJMP LOOP
BCD2LED:MOV DPTR,#LED_DATAMOVC A,@A+DPTRMOV P0,ARET
LED_DATA:DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90HRETEND