完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
4个按键 K1 K2 K3 K4 其中 K1是开启和暂停键(本来想长按开显示短按启动定时器 新手还没这么去编程),K2 K3 K4 按键每个按键下可以选择工作时长:按一下能切 5分钟 10分钟 15分钟 K2对应一个IO口驱动三极管 K3K4都是一样的(工作时长略微不同而已)。 现在遇到的问题点是, 1.K2选好时间档位,我按下K1开关/暂停 键,正常运行倒计时,时间没到00能正常启动/暂停,到00了选其他时间档位就不能正常启动了倒计时。。。2.K2控制的输出IO口置高,然后其他2个输出口为0但是实际编出来的效果是暂停了 K2控制的IO口还是输出高。。。不同按键单独控制一个IO口 暂停时关闭,启动是打开,思路是有,但是C语音编程就是没效果。。。一直查资料2天了没进展,附上 按键和定时器的编码
单片机源程序如下: void Key_Event_Handle() { if((K1==0) (munite_counts!=0)) { DelayMS(10); if(K1==0) { while(!K1); ET0=~ET0; TR0=~TR0; /@@* if((flag==1) (TR0==1)) { flag=0; SONIC=1; HEAT=0; UV=0; } if((flag1==1) (TR0==1)) { flag1=0; SONIC=0; HEAT=1; UV=0; } if((flag2==1) (TR0==1)) { flag2=0; SONIC=0; HEAT=0; UV=1; } */ } } if(K2==0) { DelayMS(10); if(K2==0) { flag=1; flag1=0; flag2=0; K2num++; while(!K2); K3num=0; K4num=0; // ET0=0; // TR0=0; if(K2num==1) { munite_counts=3; Second_Counts=0; } if(K2num==2) // { munite_counts=10; } if(K2num==3) // { munite_counts=15; } if(K2num==4) // { munite_counts=20; } if(K2num==5) // { K2num=0; munite_counts=2; } } Key_Flag_Idx=0; i=0; } if(K3==0) { DelayMS(10); if(K3==0) { flag=0; flag1=1; flag2=0; K3num++; while(!K3); K2num=0; K4num=0; //ET0=0; //TR0=0; if(K3num==1) { munite_counts=2; Second_Counts=0; } if(K3num==2) // { munite_counts=10; } if(K3num==3) // { munite_counts=20; } if(K3num==4) // { munite_counts=30; } if(K3num==5) // { K3num=0; munite_counts=3; } } Key_Flag_Idx=0; i=0; } if(K4==0) { DelayMS(10); if(K4==0) { flag=0; flag1=0; flag2=1; while(!K4); K2num=0; K3num=0; //ET0=0; //TR0=0; munite_counts=1; Second_Counts=0; } Key_Flag_Idx=0; i=0; } } void DSY_Refresh() interrupt 1 { TH0=(65536-5000)/256; TL0=(65536-5000)%256; i++; if(i==2) { i=0; Second_Counts++; if(Second_Counts==60) { Second_Counts=0; munite_counts--; if(munite_counts==0) { TR0=0; } } } } |
|
相关推荐
1个回答
|
|
觉得你的逻辑有问题,在按键处理完后只是修改了状态特征变量,并没有进行相应的 开始、暂停处理
此外你的编程习惯很不好,全是全局变量,连一个i都是全局变量,这样很容易跑飞程序的 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
72 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
509 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
546 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
545 浏览 0 评论
1008 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11763 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:12 , Processed in 0.469126 second(s), Total 38, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号