lzth.net
当前位置:首页 >> stm32单片机如何实现一个按键切换两个程序 >>

stm32单片机如何实现一个按键切换两个程序

定义一个标志位 bit flag=0; 主各序结构:while(1) { if(flag==0) {..程序1 } if(flag==1) {.程序2 } } 按键检测可用中断,中断程序中改变flag的值

这个我做过好多次了,记得,我们上单片机课,老师叫我们做一个六个实验,也就是小型开发板;老师检查时,我是用按键切换给他切换不同的实验,也就是不同功能 每个while(1)就是一个功能 结构就是这样的 变量自己定义如 sbit pi0=p1^0; while(1) { while(1) { if(p10==0) {delay(); break; } } while(1) { if(p10==0) { delay(); break; } } } 就是这样的结构,你看看可以用不

我是这么认为的!时钟和温度都是在显示子程序中显示的显示子程序的变量用形参传递进行切换时,把显示的形参改为温度和时间就行了啊具体变量为温度或时间,就看你的按键判断啊标志决定不就行了吗求最佳

貌似你将问题想的太复杂了,时间的增减,需要用两个定时器来控制吗?没有必要.

朋友,我来告诉你答案!是C语言吗VB道是有个教程里面提示是将两个子程序中一个设置焦点setfocus命令然后激活,另外一个子程序不激活.程序的思想是这样的

两种方式:1、GPIO中断 正负电平检测 2、主程序死循环查询 在定时器里做个标志 死循环里做键盘显示函数 另外 ,你的led显示可以在定时器里刷屏,刷新频率只要超过人眼识别的范围就行了[em:2:]

如果这2113两个功能都是一个死循环,可5261以考虑用中断,这样就不必在两个独立的4102功能中插入按键检测了1653while(1){while(flag==1){死循环1}while(flag==2){死循环2}}如果这两个功能专不是死循环,就 简单了while(1){if(key1==0) {延时消抖属 功能1}if(key2==0) {延时消抖 功能2}}

你好! 两个程序合并在一起,可以设置一个按键来完成切换 那你吧程序私信给我,我帮你看看

前面是作为普通IO,你后边不是PWM输出么,当然不听使唤咯.

那么多的中断可用为什么两个按键非得使用一个中断呢?布线问题的话那无话可说.我能想到的两个解决方案:第一个就是使用AD采集电压,两个按键按下后分别接通不同电阻产生不同电压,使用一路AD采集即可分辨不同按键.不过这样虽能实现但是很笨拙,大材小用.还不如更改电路.还有一种高级方式是换用电容按键,给予不同电容,区分两个按键的充放电时间常数也可以区分按键.不过这两种方式似乎都要更改电路.

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com