|
|
一.實(shí)驗(yàn)要求 8031內(nèi)部定時(shí)計(jì)數(shù)器,按計(jì)數(shù)器模式和方式1工作,對(duì)P3.4(T0)引腳進(jìn)行計(jì)數(shù)。使用8031的T1作定時(shí)器,50ms中斷一次,看T0內(nèi)每0.50ms來(lái)了多少脈沖,將其數(shù)值按二進(jìn)制數(shù)在74LS273驅(qū)動(dòng)LED燈上顯示出來(lái),5秒后再次測(cè)試。
二.實(shí)驗(yàn)?zāi)康?/FONT>
1.學(xué)習(xí)8031內(nèi)部定時(shí)/計(jì)數(shù)器使用方法。
2.進(jìn)一步掌握中斷處理編程方法。
三.實(shí)驗(yàn)電路及連線
 | 源代碼:
ORG 0000H
AJMP START
ORG 000BH ;T0中斷入口地址
RETI
ORG 001BH ;T1中斷入口地址
AJMP INT_T1
ORG 0040H
START:
MOV SP,#60H
MOV TMOD,#1DH ;置T1為方式1
;置T0為方式1,計(jì)數(shù)方式,
;門(mén)控選通位有效
MOV TL0,#0H ;計(jì)數(shù)器清零
MOV TH0,#0H
MOV TL1,#32H ;延時(shí)0.50mS常數(shù)
MOV TH1,#0FEH
MOV R0,#20 ;延時(shí) 5 秒常數(shù)
SETB TR0 ;啟動(dòng)T0
SETB ET0
SETB TR1 ;啟動(dòng)T1
SETB ET1
SETB EA ;開(kāi)中斷
SJMP $
INT_T1:
PUSH ACC
PUSH PSW
CLR TR1
MOV TL1,#32H ;延時(shí)0.50mS 常數(shù)
MOV TH1,#0FEH
MOV R1,TL0 ;保存計(jì)數(shù)值
MOV R2,TH0
MOV TL0,#00H ;清計(jì)數(shù)器
MOV TH0,#00H
SETB TR1
DJNZ R0,EXIT
MOV R0,#20 ;延時(shí) 5 秒常數(shù)
MOV DPTR,#8300H ;LED地址
MOV A,R1
MOVX @DPTR,A ;把計(jì)數(shù)值在LED上顯示
EXIT:
POP PSW
POP ACC
RETI
END