用单片机做的倒计时15s.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用单片机做的倒计时15s

用单片机设计15s倒计时器 ??? 跳线设置:默认跳线位置,注意蜂鸣器选择跳线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

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档