新闻中心
一.实验要求
8031内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。使用8031的T1作定时器,50ms中断一次,看T0内每0.50ms来了多少脉冲,将其数值按二进制数在74LS273驱动LED灯上显示出来,5秒后再次测试。
二.实验目的
1.学习8031内部定时/计数器使用方法。
2.进一步掌握中断处理编程方法。
三.实验电路及连线
源代码:
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,计数方式,
;门控选通位有效
MOV TL0,#0H ;计数器清零
MOV TH0,#0H
MOV TL1,#32H ;延时0.50mS常数
MOV TH1,#0FEH
MOV R0,#20 ;延时 5 秒常数
SETB TR0 ;启动T0
SETB ET0
SETB TR1 ;启动T1
SETB ET1
SETB EA ;开中断
SJMP $
INT_T1:
PUSH ACC
PUSH PSW
CLR TR1
MOV TL1,#32H ;延时0.50mS 常数
MOV TH1,#0FEH
MOV R1,TL0 ;保存计数值
MOV R2,TH0
MOV TL0,#00H ;清计数器
MOV TH0,#00H
SETB TR1
DJNZ R0,EXIT
MOV R0,#20 ;延时 5 秒常数
MOV DPTR,#8300H ;LED地址
MOV A,R1
MOVX @DPTR,A ;把计数值在LED上显示
EXIT:
POP PSW
POP ACC
RETI
END