找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机AD转换中按键控制的问题

查看数: 2079 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-5-18 12:37

正文摘要:

这个程序不加按键可以正常显示,加上按键之后按键不起作用,按键功能是按一下采集一个数,想问一下怎么解决? 程序如下: #include <reg51.h> #define uchar unsigned char #define uint unsigned int ucha ...

回复

ID:749362 发表于 2020-5-18 15:18
根据以上的代码,可以发现,按键理应没有作用。
因为你定义了一个变量flag,没有进行初始化,所以编译器会默认为0,此时按键根据程序会执行caiji();        disp(ADC0809()*19.6078);break;
运行后,按下按键时,flag也会置0,此时仍然会执行caiji();    文中缺少了flag =1 ;的语句!
建议,在按键中,添加Flag置1的语句或者在执行完caiji()后对flag进行置1操作。以实现按键没有按下时,不执行ADC转换函数。

以上希望对你有所帮助。

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

ID:716292 发表于 2020-5-18 14:57
写消抖程序

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表