Professional Documents
Culture Documents
Interrup 8051 PDF
Interrup 8051 PDF
BI 6: INTERRUPT (NGT)
MC CH
THIT B S DNG
My vi tnh.
Phn mm Proteus
1. C s l thuyt
Thanh ghi IE (Interrupt Enable Register)
Thanh ghi IE dng cho php hay cm cc ngt hot ng. Mc nh khi
khi ng chng trnh th tt c cc ngt u b cm. Chc nng cc bit trong
thanh ghi IE cho trong bng sau:
D7 D6 D5 D4 D3
EA -
EA
D2
D1
D0
= 0: cm tt c cc ngt
= 1: cho php ngt tu theo trng thi cc bit iu khin tng ng
ES
ET1
= 0: cm ngt ti Timer 1
= 1: cho php ngt ti Timer 1
= 0: cm ngt ti Timer 0
= 1: cho php ngt ti Timer 0
Trang 39
D7 D6 D5 D4 D3 D2 D1 D0
1
= 82h
0003H
- SETB
EA
- SETB
EX0
- SETB
IT0 (ngt cnh)
Xut hin cnh xung (hoc mc
thp) ti chn INT0
- Ngt timer0:
a ch vector ngt
Khai bo s dng ngt
S kin ngt
- SETB
- SETB
Trn timer 0
000BH
EA
ET0
- Ngt ngoi 1:
a ch vector ngt
Khai bo s dng ngt
S kin ngt:
00013H
- SETB
EA
- SETB
EX1
- SETB
IT1 (ngt cnh)
Xut hin cnh xung (hoc mc
thp) ti chn INT1
- Ngt timer1:
a ch vector ngt
Khai bo s dng ngt
S kin ngt
- SETB
- SETB
Trn timer 1
0001BH
EA
ET1
Trang 40
00023H
- SETB
EA
- SETB
ES
Nhn c mt byte hoc truyn
xong mt byte trong SBUF
- TH1 = -3 ; 9600bps
- TH1 = -6 ; 4800bps
- TH1 = -12 ; 2400bps
- TH1 = -24 ; 1200bps
S kin ngt
Vector ngt:
.
.
RETI
0
main
0003h
int0_isr
; a ch bt u chng trnh
; a ch chng trnh phc v ngt cho INT0
Main:
; khai bo s dng ngt
SETB EA
SETB EX0
; C th thay 2 lnh ny bng lnh MOV IE,#81h
; chng trnh chnh
Int0_isr:
; chng trnh phc v ngt
RETI
END
Trang 41
VSM Oscilloscope
VSM Oscilloscope l thit b cho php hin th dng tn hiu tng t, bao
gm 2 knh A v B. VSM c kh nng o 2 tn hiu ng thi.
V tr ca Oscilloscope trong ca s thit k nh sau:
Mn hnh hin th
dng sng tn hiu
Chn hin th ng
thi 2 knh hay v
knh 2 theo knh 1
ng b tn hiu
(cho php dng tn
hiu)
Chnh h
s trc tung
Y ca knh
2 (bin )
Chnh h s trc
honh X (thi
gian)
Trang 42
main:
MOV IE,#82h
MOV TMOD,#02h
MOV TH0,#(-100) ; f = 5KHz T = 1/f = 0.2ms = 200 s thi gian
MOV TL0,#(-100) ; tr l 100 s gi tr m ca Timer l 100
SETB TR0
Here:
SJMP here
;----------Timer0_isr:
CPL P2.0
Phm Hng Kim Khnh
Trang 43
RETI
END
-
main:
SETB EA
SETB ET0
SETB ET1
MOV TMOD,#12h
MOV TH0,#(-100)
MOV TL0,#(-100)
SETB TR0
MOV TH1,#HIGH(-1000)
MOV TL1,#LOW(-1000)
SETB TR1
here:
SJMP here
;----------Timer0_isr:
CPL P2.0
RETI
;----------Timer1_isr:
MOV TH1,#HIGH(-1000)
MOV TL1,#LOW(-1000)
CPL P2.1
RETI
;----------END
Phm Hng Kim Khnh
Trang 44
Mch ng h
-
Category
All
All
74 TTL Series
Switches & Relays
Sub-category
All
All
All
Switches
Results
7SEG-COM-ANODE
AT89C51
74LS374
SW-SPDT
Trang 45
Chng trnh ng h:
ORG 0
LJMP main
ORG 0Bh
LJMP Timer0_ISR
main:
SETB EA
SETB ET0
MOV TMOD,#01h
MOV TH0,#HIGH(-50000)
; m 50000 chu k = 50 ms
MOV TL0,#LOW(-50000)
MOV R7,#20
; 20 x 50ms = 1000ms = 1s
SETB TR0
MOV 30h,#0
; Gi
MOV 31h,#0
; Pht
MOV 32h,#0
; Giy
CALL display
here:
SJMP here
Phm Hng Kim Khnh
Trang 46
;---------Timer0_ISR:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
DJNZ R7,exittimer0
MOV R7,#20
CALL IncTime
CALL display
; v hin th ra Led
exittimer0:
RETI
;--------IncTime:
INC 32h
; Tng giy
MOV A,32h
CJNE A,#60,ExitIncTime ; Nu Giy = 60
MOV 32h,#0
; th Giy = 0
INC 31h
; v tng pht
MOV A,31h
CJNE A,#60,ExitIncTime ; Nu Pht = 60
MOV 31h,#0
; th Pht = 0
INC 30h
; v tng gi
MOV A,30h
CJNE A,#24,ExitIncTime ; Nu gi = 24
MOV 30h,#0
; th Gi = 0
ExitIncTime:
RET
;--------display:
MOV A,30h
; Hin th 2 Led ch gi
MOV B,#10
DIV AB
MOV DPTR,#MaLed7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.0
Phm Hng Kim Khnh
Trang 47
SETB P1.0
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CLR P1.1
SETB P1.1
MOV A,31h
MOV B,#10
DIV AB
MOV DPTR,#MaLed7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.2
SETB P1.2
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CLR P1.3
SETB P1.3
MOV A,32h
MOV B,#10
DIV AB
MOV DPTR,#MaLed7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.4
SETB P1.4
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CLR P1.5
SETB P1.5
RET
;--------MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
Phm Hng Kim Khnh
Trang 48
END
-
Ngt ngoi
S dng mch nh hnh v:
Category
All
All
74 TTL Series
Switches & Relays
Sub-category
All
All
All
Switches
Results
7SEG-COM-ANODE
AT89C51
74LS374
SW-SPDT
Trang 49
here:
SJMP here
;---------Int0_ISR:
INC 30h
MOV A,30h
CJNE A,#100,next
MOV 30h,#0
next:
CALL display
RETI
;--------display:
MOV A,30h
MOV B,#10
DIV AB
MOV DPTR,#MaLed7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.0
SETB P1.0
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CLR P1.1
SETB P1.1
RET
;--------MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
END
-
Thm vo lnh cho php ngt bng cnh nh sau (ti on in m):
SETB EA
SETB EX0
SETB IT0
Trang 50
Category
Subcategory
All
All
All
All
74 TTL Series All
Switches
& Switches
Relays
Switches
& Switches
Relays
Results
Componet
Reference
7SEG-COM-ANODE
AT89C51
74LS374
BUTTON
INC
BUTTON
DEC
Trang 51
main:
SETB EA
SETB EX0
SETB EX1
SETB ET0
SETB IT0
SETB IT1
MOV TMOD,#01h
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
MOV R7,#20
SETB TR0
MOV 30h,#0
CALL display
here:
SJMP here
;---------Int0_ISR:
INC 30h
MOV A,30h
CJNE A,#100,next
MOV 30h,#0
next:
CALL display
RETI
;---------Int1_ISR:
DEC 30h
MOV A,30h
CJNE A,#255,next1
MOV 30h,#99
next1:
CALL display
RETI
;--------Phm Hng Kim Khnh
Trang 52
Timer0_ISR:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
DJNZ R7,exittimer0
MOV R7,#20
INC 30h
MOV A,30h
CJNE A,#100,next2
MOV 30h,#0
next2:
CALL display
exittimer0:
RETI
;--------display:
MOV A,30h
MOV B,#10
DIV AB
MOV DPTR,#MaLed7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.0
SETB P1.0
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CLR P1.1
SETB P1.1
RET
;--------MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
END
-
Trang 53