找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求助,单片机温度程序不知道是哪里出了问题

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

正文摘要:

要求是这样的 设计内容:? 1、可设置三种最高温度值,如低温(20°),中温(30°),高温(50°);(20分)? 2、可设置最长10分钟定时;(20分)? 3、用DS18B20感知温度,当温度达到设置温度值,并持续设定时 ...

回复

ID:739545 发表于 2020-6-4 09:17
1042860439 发表于 2020-6-2 12:26
程序确实不是我的,我还在初步学习,但我想知道问题出在哪里,我把if(Temp==T)这句删掉依然可以倒计时,T ...

你代码都没有完全搞清楚,就随便删除,能找到原因就怪了。你把主函数代码搞清楚,再看子函数的调用是否正确。做事要按照步骤来。 直接从头建立一个工程,按照自己的理解把代码填进去
ID:767431 发表于 2020-6-2 14:01
买个20多块的逻辑分析仪调试,分析iic spi都能用得上
ID:765457 发表于 2020-6-2 12:29
烈火 发表于 2020-6-2 08:42
void setTemp()//温度设定,采用扫描独立键盘来确定输入
{while(1)
{

我觉得问题出在了DS18B20上面,我删了就能倒计时,应该是temp数据读取那边程序有问题,但我不知道怎么改。
ID:765457 发表于 2020-6-2 12:26
lovezjf234 发表于 2020-6-2 09:29
主函数都没有调用倒计时函数,另软件里面有两个调用REG52,及不同的DS算法,不知道你是怎么编译过的。估计 ...

程序确实不是我的,我还在初步学习,但我想知道问题出在哪里,我把if(Temp==T)这句删掉依然可以倒计时,T能显示所以是有赋值的,所以我认为问题出在了DS18B20温度读取TEMP上,但是不知道怎么改,能教我一下吗
ID:739545 发表于 2020-6-2 09:29
主函数都没有调用倒计时函数,另软件里面有两个调用REG52,及不同的DS算法,不知道你是怎么编译过的。估计只是用了下人家的hex文件,然后胡乱copy下代码
ID:744327 发表于 2020-6-2 08:42
void setTemp()//温度设定,采用扫描独立键盘来确定输入
{while(1)
{
P3=0xff;
if(S1==0) button=1;//20度
if(S2==0) button=2;//30度
if(S3==0) button=3;//50度
if(button==1)
{
T=20;
weizhi(2,5);
wdata(table[2]);
delay_1ms(1);
weizhi(2,6);
wdata(table[0]);
}
这段程序没有进行按键消抖

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

Powered by 单片机教程网

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