新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用单片机设计15s倒计时器

用单片机设计15s倒计时器

作者:时间:2012-11-10来源:网络收藏

/*
跳线设置:默认跳线位置,注意选择跳线J5要选23端
程序效果:利用的定时/计数器设计一个15到0
按S4后启动,要求精确显示到百分之一秒。
发挥部分:
1、定时结束后有提示音报警,并可重新定时
2、定时过程中按独立键盘s5可暂停,按S4继续
运行环境:51hei学习板
*/
ORG 0000H
LJMP START //主程序必须避开地址000BH
ORG 000BH //定时器0的中段服务程序,起始地址为000BH
LJMP IT00
ORG 0030H
START: MOV TH0,#0EBH //装入初始值,定时时间为10ms
MOV TL0,#64H
MOV TMOD,#01H //工作方式1
MOV 33H,#01 //显示初值为15s
MOV 32H,#05
MOV 31H,#00
MOV 30H,#00
SETB ET0 //打开定时0
SETB EA //开总中断
LOOP1: JB P3.6,LOOP //判断高低位,即按键KEY0是否按 下
LCALL DISPLAY //为低,即按键按下,延时消抖
LCALL DISPLAY
JB P3.6,LOOP //按键真的按下,并不是外界的干扰
SETB TR0 //启动定时器
HERE: LCALL DISPLAY //调用显示
JB P3.7,LOOP3 //判断高低,即KEY1按键是否按下
CLR TR0 //按下,关闭定时器,这里并没有消抖
LJMP LOOP1 //等待KEY0的按下
LOOP3: SJMP HERE //KEY1没有按下,就需显示
LOOP: LCALL DISPLAY //KEY1没有按下,就需显示
LJMP LOOP1
//减10ms子程序
SUB1: DEC 30H //百分位减1
MOV A,30H
CJNE A,#0FFH,LOOP2 //判断百分位减到0之后是否 再减1
MOV 30H,#09 //是,装入初值9
DEC 31H //十分位减1
MOV A,31H
CJNE A,#0FFH,LOOP2 //判断百分位减到0之后是否 再减1
MOV 31H,#09
DEC 32H
MOV A,32H
CJNE A,#0FFH,LOOP2
MOV 32H,#09
DEC 33H
MOV A,33H
CJNE A,#0FFH,LOOP2
clr P2.2 //从15s减到0s后,驱动
LCALL DELAY //延时
LCALL DELAY
SETB P2.2 //关闭
MOV 33H,#01 //装入初值15s
MOV 32H,#05
MOV 31H,#00
MOV 30H,#00
LOOP2: NOP //空指令
RET //返回
//显示子程序
DISPLAY: MOV DPTR,#TAB //赋表首地址
MOV A,#0FBH

SETB P2.7
MOV P0,A //亮最左边的数码管
CLR P2.7
XCH A,R0 //暂存A的值
MOV A,33H
MOVC A,@A+DPTR //根据表值查找所需的值
SETB P2.6
MOV P0,A //显示值
CLR P2.6
LCALL DELAY //延时
XCH A,R0 //恢复原值
RL A //循环左移,为下次做准备
SETB P2.7
MOV P0,A
CLR P2.7
XCH A,R0
MOV A,32H
MOVC A,@A+DPTR
SETB P2.6
MOV P0,A
CLR P2.6
LCALL DELAY
XCH A,R0
RL A

SETB P2.7
MOV P0,A
clr P2.7

XCH A,R0
MOV A,31H
MOVC A,@A+DPTR
SETB P2.6
MOV P0,A
clr P2.6
LCALL DELAY
XCH A,R0
RL A
SETB P2.7
MOV P0,A
clr P2.7
XCH A,R0
MOV A,30H
MOVC A,@A+DPTR
SETB P2.6
MOV P0,A
clr P2.6
LCALL DELAY
RET
TAB: DB 3FH,06H,5BH,4FH,66H ;数码管显示的数值
DB 6DH,7DH,07H,7FH,6FH
IT00: MOV TH0,#0EBH //装入初值,时间为10ms
MOV TL0,#64H
LCALL SUB1 //减10ms
RETI //返回
DELAY: MOV R7,#04 //延时子程序,时间大约为:2us*4*250
DEL2: MOV R6,#250
DEL1: DJNZ R6,DEL1
DJNZ R7,DEL2
RET
END //结束

蜂鸣器相关文章:蜂鸣器原理


评论


相关推荐

技术专区

关闭