求单片机计数器程序
来源:百度知道 编辑:UC知道 时间:2024/08/31 20:13:02
求单片机计数器程序,
我用的单片机IC:ATM89S51
我想用LED灯来显示数字,我有个机器每隔5秒就会暂停一次,在工作16次时就要按停止开关,所以我想制作一个简单的十位数计数器。要求每工作一次计数一次,按停止时复位为00,希望哪位高手帮忙一下,谢谢!
同时告诉我制作方法,因我是初学单片机,不是很懂。Thanks
有没有相应程序提供一下呀
我用的单片机IC:ATM89S51
我想用LED灯来显示数字,我有个机器每隔5秒就会暂停一次,在工作16次时就要按停止开关,所以我想制作一个简单的十位数计数器。要求每工作一次计数一次,按停止时复位为00,希望哪位高手帮忙一下,谢谢!
同时告诉我制作方法,因我是初学单片机,不是很懂。Thanks
有没有相应程序提供一下呀
你这个东西是不是就是用数码管显示16位数啊?提示你16次到了,让后你认为的去按下停止按钮。如果是这样程序可供参考:
/*初始化程序*/
RU BIT P1.0 ;定义检测接口
QING BIT P1.1 ;定义清零接口
SHI BIT P1.2 ;定义显示十位
GE1 BIT P1.3 ;定义显示个位
ORG 0000H
JMP START
ORG 0030H
START:
MOV R0,#0H
/*主函数*/
MAIN:
MOV DPTR,#TABLE
LCALL DISPLAY ;调用显示子程序
JNB RU,LOP1 ;判断接口有无信号
JNB QING,START ;判断是否清屏
JMP MAIN
LOP1:
INC R0 ;计数器加一
JMP MAIN
/*显示子程序*/
DISPLAY:
MOV A,R0
MOV B,#10 ;分解十位显示
DIV AB ;分解个位显示
MOV R1,B
MOVC A,@A+DPTR ;查表显示
MOV P0,A
CLR SHI
LCALL DELAY
SETB SHI
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
CLR GE1
LCALL DELAY
SETB GE1
RET
/*10ms延时*/
DELAY:
MOV R2,#250
YAN:
MOV R3,#20
DJNZ R3,$
DJNZ R2,YAN
RET
TABLE:
DB 01H,02H,03H,