1.题目要求
有时候我们需要知道在一段时间里温度传感器测量的温度的历史数据,之前的温度传感器例程只是在液晶屏上实时显示出数据而已,并不能查看它的历史数据,所以我们运用之前所有学过的知识来完成这个任务。
首先我们先从简单的理念入手,利用串口每隔一秒打印出来当前的温度值,这样的话,所有历史数据在电脑端的窗口都可以看到了,只不过我们的开发板的USB线不能离开电脑,测温度只能连着电脑测,然后观察电脑端窗口数据的变化。
这一次我们实时显示的温度用数码管显示,串口打印的数据格式大体如下所示
第1秒:10.2度
第2秒:15.7度
第3秒:7.6度
第4秒:0.5度
2.main.c测试代码
#include #include #include #include #include u8 flag1s = 0; void main() { u32 x=1; u8 str[13]; u16 temp; EA = 1; LED_Init(); Start18B20(); //启动DS18B20 TIM0_Init(1000,33); //定时1ms,33是微调使定时精度更高,每次微调都由中断函数里的内容而决定 ConfigUART(9600); while (1) { if (flag1s) //每秒更新一次温度 { flag1s = 0; if( TEMP_CONV(&temp,str)==1 ) //返回值为1代表读取温度成功 { printf_str("第"); printf_num(x); x++; printf_str("秒:"); printf_str(str+temp_i); printf_str("度"); printf_rn(); //回车换行 temp_i=0; //以下是处理数码管显示的内容 LedBuff[0]=LedChar[str[4]-'0']; LedBuff[1]=0x7F; //显示小数点 LedBuff[2]=LedChar[str[2]-'0']; if(str[0]=='-') //温度小于0 { if(str[1]=='0') { LedBuff[3]=0xBF; //数码管显示“-” LedBuff[4]=0xFF; } else { LedBuff[3]=LedChar[str[1]-'0']; LedBuff[4]=0xBF; //数码管显示“-” } } else //温度大于等于0 { if(str[1]=='0')LedBuff[3]=0xFF; //高位不显示0 else LedBuff[3]=LedChar[str[1]-'0']; if(str[0]=='0')LedBuff[4]=0xFF; //高位不显示0 else LedBuff[4]=LedChar[str[0]-'0']; } } Start18B20(); //重新启动下一次转换 } } } void TIM0_IRQHandler() interrupt 1 { static u16 tmr1s = 0; TH0 = T0RH; //重新加载重载值 TL0 = T0RL; tmr1s++; SEG_Scan(); if (tmr1s >= 1000) //定时1s { tmr1s = 0; flag1s= 1; } } void InterruptUART() interrupt 4 { if (RI) //接收到字节 { RI = 0; //手动清零接收中断标志位 } } 3.串口打印截图 笔者上电之后,故意向开发板上的温度传感器吹热气,效果很棒
上一篇:51单片机-遥控器控制舵机
下一篇:51单片机-模拟倒车雷达报警
推荐阅读
史海拾趣
随着产品的热销,Astro Industries Inc开始积极寻求市场拓展的机会。公司加强了与各大销售渠道的合作,通过线上线下相结合的方式,将产品推向更广阔的市场。同时,公司也注重品牌建设,通过统一的品牌形象和宣传策略,提升了品牌知名度和美誉度。这些举措使得Astro Industries Inc在电子行业中逐渐崭露头角。
在汽车电子市场取得成功后,Eris Tech开始将目光投向工业控制领域。通过深入了解工业控制市场的需求和技术特点,公司成功开发出多款适用于工业控制领域的半导体产品。这些产品不仅具有高性能、高可靠性等特点,还能满足工业控制领域对实时性、安全性等方面的要求。随着工业控制领域的不断拓展,Eris Tech在该领域的市场份额也逐渐增加。
为了更好地服务全球客户,美高测积极寻求与国际知名企业的合作。通过与半导体制造巨头台积电、英特尔等公司的合作,美高测不仅获得了先进的制造技术和市场洞察能力,还成功将其高压测试产品打入了这些巨头的供应链体系。同时,公司还与多个国家的科研机构建立了长期合作关系,共同开展前沿技术的研发和应用,进一步提升了公司的国际影响力。
随着电子技术的飞速发展,ARCOL公司意识到只有不断创新才能在激烈的市场竞争中立于不败之地。因此,公司加大了对研发的投入,积极引进先进的生产设备和技术,不断推出创新性的产品。通过不断优化生产工艺和提升产品质量,ARCOL的产品在市场上逐渐占据了领先地位。
一 、数模混合设计的难点 二、提高数模混合电路性能的关键 三、仿真工具在数模混合设计中的应用 四、小结 五、混合信号 PCB 设计基础问答 前言: 数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈。众所周 知,现实的世界 ...… 查看全部问答∨ |
|
都说“三十而立,四十不惑”,在跨过了20多岁因全力拼搏而快速上升的飞跃期,到了三十多、四十岁的时候,本应处在一种稳步前进的状态,工作能力已经得到检验,拥有充沛的精力和赚钱的实力,可以为自己应得的报酬同老板讨价还价,然而你却丝毫舒坦不 ...… 查看全部问答∨ |
|
http://blog.eeworld.net/jinlking/archive/2009/06/10/4256311.aspx 我已经在网上找了些资料,上面这个最清楚,但是我不确定是否正确,而且好多函数是没有提供的 也在网上下载了写源码,是VC的,我现在要在EVC下实现,但是从网上下载的源码 跟博 ...… 查看全部问答∨ |