找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2627|回复: 19
打印 上一主题 下一主题
收起左侧

请问C51单片机两个延时函数互相干扰是什么原因?

  [复制链接]
楼主
ID:889094 发表于 2021-5-11 11:17 | 显示全部楼层
单片机程序都是顺序执行,从main函数 开始 ,你的程序结构挺好,先读取温度,转换格式 ,显示,问题在于你的动态显示里面用到了delay100ms,视觉不闪烁起码要显示频率大于24,而你的显示频率小于10了,可以把LED控制和显示数码管分开。
前几天看到大神的贴子,能不用delay尽量不用,因为delay的时候CPU没有闲着,它一直在忙,别的程序就没法执行,除非像读取DS18B20这种需要具体延时多少us或ms的时候用delay,其实显示控制之类的可以用定时器来控制时间。在定时器中设置一个或几个变量累加,到某个值之后置0,在主程序中判断范围显示或是关闭
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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