资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
3单片机开发工程案例分析与解析3.1定时报警器设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59秒)进行倒计时,当计时到0时数码管闪烁“00”(以1Hz闪烁),按键功能如下:(1)设定键:在倒计时模式时,按卜此键后停止倒计时,进入设置状态:如果已经处J:设置状态则此键无效。(2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。3)递一键:在设置状态时,每按一次递减键,初始值的数字减1。(4)确认键:在设置状态时,按卜此键后,单片机按照新的初始值进行倒计时及显示倒计时的数字。如果已经处F计时状态则此键无效。3. 1.2模块1:系统设计3999)Tl_cnt二0;辻(cnt_val!=0)cnt_val-一;elsestate_val=2;show_val二cnt_val;/如果计数3999,计时1s/定时计数到0时,切换状态break;case2:if(Tl_cnt1999)如果计数1999,计时05sTlCnZO;shan_val=!shanval;/闪烁状态break;/mainOinit_val=59;/初始化各变量cnt_val=init_val;show_val=cn;state_val=O;key_val_old=255;Tl_cnt=O;shan_val=O;/初始化51的寄存器TM0D=0x20;TH1二0x19;TL1二0x19;EA=1;ET1二1;TRI二1;wh订己(1)key_val_new=scan_key0;/255表不无键按卜if(key_val_new!=key_val_old)/只有当前打描的键值与上次扫描的不同,才判断是有键按Fkey_val_old=key_val_new;switch主程序/用T1计时8位自动装载定时模式/250微秒溢出一次;250=(256-x)*12/11.0592-x二230.4打开总中断允许/开中断允许/开定时器T1casecase(key_val_new)1:/设置键state_val=l;TR1二1;show_val=init_val;break;2:if(state_val=l)if(init_val0)/处设置状态停止计时/显示原來的倒计数初始值/只有在设置状态,增1键才有用/更改原來的倒计数初始值init_val-;elseiniVval=59;show_val=init_va1;/显示更改后的倒计数初始值
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号