完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大神,麻烦帮我看看,这段程序有什么问题?用的是STC单片机的定时器2 主要实现开始关箱时蜂鸣器需要响2声,每声500ms,现在经常出现2个按键按下时蜂鸣器响声不正常并且,串口只返回“TEST”,却不返回“READY”,中间只延时了3S而已,不知到为什么,大家能不能帮忙看看。 //定时50ms T2MOD = 0; //初始化模式寄存器 T2CON = 0; //初始化控制寄存器 TL2 = 0x00; //设置定时初值 TH2 = 0x4C; //设置定时初值 RCAP2L = 0x00; //设置定时重载值 RCAP2H = 0x4C; //设置定时重载值 TR2 = 0; //定时器2开始计时 ET2=0; void timer2() interrupt 5 { TF2=0; if(count--==0) { count=10; j++; if(j<3) BUZZER=~BUZZER; //500ms翻转一次 else { j=0; BUZZER=1; TR2=0; ET2=0;} } } void keyscan()//按键扫描 { if(INC==0) //先按下关箱按键 { delay_ms(100); if((INC==0)&&(INO==0)) { boxclose(); while(INO==0); while(INC==0);} } if(INO==0) //先按下开箱按钮 { delay_ms(100); while((INO==0)&&(INC==1)); if(INC==1) //开箱按钮松开,则开箱 boxopen(); else if(INC==0) //开箱按钮松开前按下关箱按钮,则关箱 { boxclose(); while(INO==0); while(INC==0);} } } void boxclose()//关箱 { BUZZER=0;//蜂鸣器响 ET2=1; TR2=1;//开始定时 Send_test();//返回TEST delay_ms(3000); Send_ready();//返回READY } |
|
相关推荐
5个回答
|
|
if(INO==0) //先按下开箱按钮
{ delay_ms(100); while((INO==0)&&(INC==1)); if(INC==1) //开箱按钮松开,则开箱 boxopen(); else if(INC==0) //开箱按钮松开前按下关箱按钮,则关箱 { boxclose(); while(INO==0); while(INC==0);} } } 这一段有问题把,应该全速跑的话怎么也跑不到这一句判断里else if(INC==0) //开箱按钮松开前按下关箱按钮,则关箱 |
|
|
|
当我按下开箱按钮后,执行到这一句 while((INO==0)&&(INC==1)); 然后按关箱按钮(INC=0),不就到了 else if(INC==0) //开箱按钮松开前按下关箱按钮,则关箱 这句了吗 |
|
|
|
你最好一个功能一个功能的先调试好了,再往一起组合。
|
|
|
|
我如果屏蔽掉定时器2就可以正常工作了,每次都能运行到 Send_ready();//返回READY,是定时器2 哪里有问题了吗? |
|
|
|
谢谢各位的建议,已经找到原因了,是硬件问题!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
852 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
592 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
705 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
926 浏览 2 评论
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:39 , Processed in 0.557141 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号