大哥啊!我的单片机控制18b20在单片机数码管显示示的时候温度老跳!

我将DS18b20得到的温度传给另一个单片机为啥会出现乱码啊?_51单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:33,240贴子:
我将DS18b20得到的温度传给另一个单片机为啥会出现乱码啊?收藏
程序如下#include &reg51.h&#include &intrins.h& //_nop_();延时函数用#define dm P0 //段码输出口#define uchar unsigned char#define uint unsigned intsbit DQ=P2^4; //温度输入口sbit w0=P2^0; //数码管4sbit w1=P2^1; //数码管3sbit w2=P2^2; //数码管2sbit w3=P2^3; //数码管1int temp1=0; //显示当前温度和设置温度的标志位为0 时显示当前温度//**************温度小数部分用查表法***********//uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};//小数断码表uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//共阴LED 段码表"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-"uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //个位带小数点的断码表uchar data temp_data[2]={0x00,0x00}; //读出温度暂放uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4 个数据和一个运算暂用/*****************11us 延时函数*************************/void delay(uint t){for (;t&0;t--);}void scan(){for(j=0;j&4;j++){switch (j){case 0: dm=table_dm[display[0]];w0=0;delay(50);w0=1;//xiaoshucase 1: dm=table_dm1[display[1]];w1=0;delay(50);w1=1;//geweicase 2: dm=table_dm[display[2]];w2=0;delay(50);w2=1;//shiweicase 3: dm=table_dm[display[3]];w3=0;delay(50);w3=1;//baiwei// else{dm=table_dm[b3];w3=0;delay(50);w3=1;}}}}//***************DS18B20 复位函数************************/ow_reset(void){char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;delay(50); //550 usDQ=1;delay(6); //66 uspresence=DQ; //presence=0 复位成功,继续下一步}delay(45); //延时500 uspresence=~DQ;}DQ=1; //拉高电平}/****************DS18B20 写命令函数************************///向1-WIRE 总线上写1 个字节void write_byte(uchar val){for(i=8;i&0;i--){DQ=1;_nop_();_nop_(); //从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 usDQ=val&0x01; //最低位移出delay(6); //66 usval=val/2; //右移1 位}DQ=1;delay(1);}/****************DS18B20 读1 字节函数************************///从总线上取1 个字节uchar read_byte(void){uchar value=0;for(i=8;i&0;i--){DQ=1;_nop_();_nop_();value&&=1;DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 usDQ=1;_nop_();_nop_();_nop_();_nop_(); //4 usif(DQ)value|=0x80;delay(6); //66 us}DQ=1;return(value);}/*****************读出温度函数************************/read_temp(){ow_reset(); //总线复位delay(200);write_byte(0xcc); //发命令write_byte(0x44); //发转换命令ow_reset();delay(1);write_byte(0xcc); //发命令write_byte(0xbe);temp_data[0]=read_byte(); //读温度值的第字节temp_data[1]=read_byte(); //读温度值的高字节temp=temp_data[1];temp&&=8;temp=temp|temp_data[0]; // 两字节合成一个整型变量。 //返回温度值}/****************温度数据处理函数************************///二进制高字节的低半字节和低字节的高半字节组成一字节,这个//字节的二进制转换为十进制后,就是温度值的百、十、个位值,而剩//下的低字节的低半字节转化成十进制后,就是温度值的小数部分/********************************************************/work_temp(uint tem){uchar n=0;if(tem&6348) // 温度值正负判断{tem=65536-n=1;} // 负温度求补码,标志位置1display[4]=tem&0x0f; // 取小数部分的值display[0]=ditab[display[4]]; // 存入小数部分显示值display[4]=tem&&4; // 取中间八位,即整数部分的值display[3]=display[4]/100; // 取百位数据暂存display[1]=display[4]%100; // 取后两位数据暂存display[2]=display[1]/10; // 取十位数据暂存display[1]=display[1]%10; //个位数据r=display[1]+display[2]*10+display[3]*100;/////符号位显示判断/////if(!display[3]){display[3]=0x0a; //最高位为0 时不显示if(!display[2]){display[2]=0x0a; //次高位为0 时不显示}}if(n){display[3]=0x0b;} //负温度时最高位显示"-"}//*********设置温度显示转换************//void xianshi(int horl){int n=0;if(horl&128){horl=256-n=1;}display[3]=horl/100;display[3]=display[3]&0x0f;display[2]=horl%100/10;display[1]=horl%10;display[0]=0;if(!display[3]){display[3]=0x0a; //最高位为0 时不显示if(!display[2]){display[2]=0x0a; //次高位为0 时不显示}}if(n){display[3]=0x0b; //负温度时最高位显示"-"}}void send(uchar state){SBUF=while(TI==0);TI=0;}void SCON_init(void){SCON=0x50;TMOD=0x20;PCON=0x00;TH1=0TL1=0TI=0;TR1=1;ES=1;}/****************主函数************************/void main(){SCON_init();dm=0x00; //初始化端口w0=0;w1=0;w2=0;w3=0;for(h=0;h&4;h++) //开机显示"0000"{display[h]=0;}ow_reset(); //开机先转换一次write_byte(0xcc); //Skip ROMwrite_byte(0x44); //发转换命令for(h=0;h&100;h++) //开机显示"0000"{scan();}while(1){if (temp1==0){work_temp(read_temp()); //处理温度数据scan(); //显示温度值}
send(temp);}}另一单片机接收程序#include &reg51.h&#define uint unsigned int #define uchar unsigned char void receive(){while(RI==0)state=SBUF;RI=0;}void SCON_init(void){SCON=0x50;TMOD=0x20;PCON=0x00;TH1=0TL1=0RI=0;TR1=1;}void main(){
P2=0x0f;SCON_init();while(1){
receive();P0=}}
福利不只是穿多穿少,还要有迷人的微笑!
哪位大神帮忙看看,谢谢啦?
接收程序没有用到:work_temp(uint tem)void scan()
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或你看不到我~
看不到我……
视频: 51单片机控制继电器,DS18B20数字温度计 ,上下限蜂鸣器报警实验
<mendVideo();
分享给好友
51单片机控制继电器,DS18B20数字温度计 ,上下限蜂鸣器报警实验
下载至电脑
扫码用手机看
用或微信扫码在手机上继续观看
二维码2小时内有效
把视频贴到Blog或BBS&&
<input id="link4" type="text" class="form_input form_input_s" value=''>
flash地址:
<input type="text" class="form_input form_input_s" id="link3" value=''>
手机扫码分享视频
二维码2小时内有效
51单片机控制继电器,DS18B20数字温度计 ,上下限蜂鸣器报警实验
扫码用手机继续看
用或微信扫码在手机上继续观看
二维码2小时内有效,扫码后可分享给好友
没有优酷APP?立即下载
请根据您的设备选择下载版本
电路采用DS18B20温度传感器模块,实时检测温度传感器DS18B20的状态,如果无DS18B20时数码管无显示 。有DS18B20时,(传感器接p2^1)温度传感器实时检测,上电后数码管显示当前温度。
采用现在最常见的stc89c51单片机,0.56寸四位一体共阳数码管模块显示当前温度,温度为可显示两位整数和一位小数;最后一位显示℃,温度显示范围为:00.0℃到99.9 ℃之间,精度为0.1℃,可设置上限报警温度、下限报警温度(即高于上限值或者低于下限值时继电器启动),同时继电器模块开始动作,模块的发光二极管指示!。上限报警温度到达时IN接p3^2的继电器模块启动,下限报警温度到达时IN接p3^7的继电器启动!
断电重启,报警温度需要重设,P2^2:显示/设定温度,P2^3:增加温度 P2^4:减低温度!P2^0:蜂鸣器模块(按键时同时提示声音)
万万表情系列(VIP会员专享)
泡芙表情系列(VIP会员专享)
暴漫表情系列(VIP会员专享)
节目制作经营许可证京字670号
药品服务许可证(京)-经营-关于51单片机和DS18B20做温控系统的问题!用数码管显示,我做出来了,但是老是出错,请指点,QQ-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
关于51单片机和DS18B20做温控系统的问题!用数码管显示,我做出来了,但是老是出错,请指点,QQ
来源:互联网 发表时间: 0:38:32 责任编辑:鲁晓倩字体:
为了帮助网友解决“关于51单片机和DS18B20做温控系统的问题!用数码管显示,我做出来了,但是老是出错,请指点,QQ”相关的问题,中国学网通过互联网对“关于51单片机和DS18B20做温控系统的问题!用数码管显示,我做出来了,但是老是出错,请指点,QQ”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:关于51单片机和DS18B20做温控系统的问题!用数码管显示,我做出来了,但是老是出错,请指点,QQ,具体解决方案如下:解决方案1:
但是不怕.C语言的例子.com/help/q,硬件简单使得软件上稍微麻烦一下://www://www.html" target="_blank">http.111ttt,再试试:对DS18B20的控制.com//question/,1://zhidao.baidu,征服它://zhidao.baidu,修改自己的代码.html
2.com/help/q,请参考例子:祝你成功&顺利.html" target="_blank">http.汇编的例子,主要是数据的采集问题.111ttt
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号查看: 3178|回复: 53
18b20 与 动态扫描数码管的战争
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
& 起个霸气的标题。嘿嘿。
& 最近的一个项目,要用到6个18b20,然后又有11个数码管要扫描,算了一下,数码管刷新频率要保持在50hz才能保证不闪烁,也就是一位数码管扫描时间要控制在2ms,问题就来了,18b20的复位估计就得占用1ms的时间,然后还有跳过ROM的指令,等等 其他指令,先写了一个18b20的程序 验证下,发现有轻微闪烁,如果6个全上的话,估计会死无全尸。而且,这个系统中还用了I2C中断,SPI和4个串口中断。这种情况下,怎么构建软件架构??目前使用的是时间触发的任务调度器。18b20已经使用了状态机的写法,把各种命令放到了不同的状态里了。
& 请教各位大侠,该如何组织软件结构呢?
盼回复!!!!
牛逼死了,牛还活着吗?
主题帖子精华
在线时间264 小时
回复【楼主位】cortexM3:
---------------------------------
用ucosii吧。
扫描任务优先级最高,不停的扫。
ds18b20读取任务优先级低一点,慢慢的读。
我的淘宝小店:
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
18b20读数据还得屏蔽中断吗?
牛逼死了,牛还活着吗?
主题帖子精华
在线时间264 小时
回复【3楼】cortexM3:
---------------------------------
不能屏蔽哦,屏蔽显示就可能出问题了。
我的淘宝小店:
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
原子哥,这个动态数码管扫描用ucosii,未免太小题大做了吧?
回复【楼主位】cortexM3:
---------------------------------
兄弟,你把数码管的扫描弄一个定时器,用定时器中断扫描,不就行了吗?
那时候数码管显示和DS18B20完全不冲突,他显示他的,因为在定时器中断中不断变换显示位数,在主程序中18B20读他自己的,到时候你弄10个18B20都可以。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【楼主位】cortexM3:
---------------------------------
神马是状态机?
Time?And?Relative?Dimension?In?Space.
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【5楼】Tardis:
---------------------------------
恩&再考虑一下怎么协调。把扫描放到中断里,会影响调度用的时基信号吧,毕竟扫描是2ms执行一次的。
牛逼死了,牛还活着吗?
主题帖子精华
在线时间1 小时
我以前&就遇到过,可以解决
你定时中断(5~20ms一次)里面给位码和段码赋值,只赋值千万不要计算,处理越简练越好,包括中断调用等&不超过2us的。&
主函数&处理18B20,然后计算段码应该显示的内容。
这样肯定不会有问题。
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【8楼】aleda303:
---------------------------------
奥,我试试,多谢提供思路,这样应该能行。
牛逼死了,牛还活着吗?
主题帖子精华
新手上路, 积分 21, 距离下一级还需 29 积分
在线时间0 小时
回复【楼主位】cortexM3:
---------------------------------
用定时器做延时,弄个变量递增,数码管函数和18b20查询自己的延时时间,延时完成则执行相应的代码
主题帖子精华
在线时间17 小时
51都可以做,stm32还有什么压力
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【11楼】xouou_53320:
---------------------------------
51&做起来有点吃力吧,2ms中断一次可不是闹着玩的,还有6个18b20
牛逼死了,牛还活着吗?
主题帖子精华
在线时间17 小时
18b20进行温度转换是由18b20的硬件进行的,又不会消耗单片机的资源
&单片机只要发转换命令, 过一段时间后,去读就行了 , 哪来的压力呢
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【13楼】xouou_53320:
---------------------------------
单总线的性质决定的,每次复位差不多要消耗1ms,0、1是通过电平持续时间来确定的,你说的只发指令其中还有好多为了符合标准而加的延时。这些延时对于数码管2ms的扫描来说也不小。
牛逼死了,牛还活着吗?
主题帖子精华
在线时间17 小时
回复【14楼】cortexM3:
回复【13楼】xouou_53320:
---------------------------------
单总线的性质决定的,每次复位差不多要消耗1ms,0、1是通过电平持续时间来确定的,你说的只发指令其中还有好多为了符合标准而加的延时。这些延时对于数码管2ms的扫描来说也不小。
---------------------------------
是的,18b20初始化在1ms以上&,&但单片机不用初始化啊,你说是吗
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【15楼】xouou_53320:
---------------------------------
不是那样,18b20的初始化&:mcu的&IO置高50us&然后置低300us再置高(释放总线),等待18b20(从机)响应(拉低信号线),MCU要全程参与。不是发个命令就让他自己初始化mcu去干别的!
你看看单总线的协议是不是这样。
牛逼死了,牛还活着吗?
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【15楼】xouou_53320:
---------------------------------
谢谢关注。。
牛逼死了,牛还活着吗?
主题帖子精华
在线时间17 小时
怪不得你说不行,&你把mcu全浪费在18b20初始化了
mcu为啥要全程参与呢&,&这不是白白浪费资源么
可以用状态机
或者用定时器,
就算不会用状态机,也没有定时器&,&&mcu延时300us的时间可以扫描数码管好几次了
或者在扫描数码管一个位后,执行18b20的初始化,&&数码管扫描10次,18b20初始化一次...
方法很多了&&,希望能帮到楼主,有问题再聊
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【7楼】cortexM3:
---------------------------------
不影响调度,你写好扫描函数即可,推荐扫描时间100ms这样不会使数字重叠。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【12楼】cortexM3:
---------------------------------
又如何,只要你中断别太坑爹即可,不过你18B20太多,很有可能中断影响了18B20的时序,因为18B20要求时序太严格了,为什么你不使用热敏电阻来检测呢,热敏电阻便宜,又不吃时序,同样能测准,只是写程序的时候你要写好计算公式即可。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【13楼】xouou_53320:
---------------------------------
18B20太贵,不推荐使用,6元一个芯片,我6元能做一个产品了。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【19楼】Tardis:
---------------------------------
动态数码管&&100ms根本不行的。
牛逼死了,牛还活着吗?
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【19楼】Tardis:
---------------------------------
现在18b20的扫描间隔是1s&&呵呵,才接了一个,刚才刚弄完文件系统,还是有轻微闪烁。想把功能写完再考虑怎么优化吧,不行的话就用专用芯片,省心,热电阻的话校准比较麻烦,没考虑,现在感觉18b20对于高速MCU来说就是鸡肋。&&菜鸡感叹~~~
牛逼死了,牛还活着吗?
主题帖子精华
在线时间17 小时
回复【21楼】Tardis:
---------------------------------
18B20&零售4元
批发2.5元
主题帖子精华
在线时间264 小时
回复【24楼】xouou_53320:
---------------------------------
2.5元?没这么便宜吧...多少的量?
我的淘宝小店:
主题帖子精华
在线时间17 小时
回复【25楼】正点原子:
回复【24楼】xouou_53320:
---------------------------------
2.5元?没这么便宜吧...多少的量?
---------------------------------
我一个qq群里的家伙说的2.5元,我也不能肯定是这个价,
不过我在淘宝上买了2个&确实是4元一个
所以2.5元这个价格如果是批发的话应该可以有
现在物价上涨了&&,就不太清楚了
主题帖子精华
初级会员, 积分 196, 距离下一级还需 4 积分
在线时间0 小时
回复【楼主位】cortexM3:
---------------------------------
交叉调用会不会好点????用扫描数码管做18b20的延时
主题帖子精华
初级会员, 积分 100, 距离下一级还需 100 积分
在线时间0 小时
我建议2个解决方案:
1,用一个最最低端便宜的(几毛钱)mcu专门从事led扫描,其他的交给主mcu,双核方案哦!
2,提高mcu主频率,在扫描一个的等待间隙里从事其它事件处理,合理分配也会绰绰有余的。
希望能帮到你。
主题帖子精华
初级会员, 积分 68, 距离下一级还需 132 积分
在线时间0 小时
个人表示64*192LED点阵扫描显示+各种外设使用毫无压力
主题帖子精华
在线时间1 小时
回复【28楼】dwwzl:
---------------------------------
有&专用&的&LED接口驱动芯片,&&SPI接口的。&ZLG7289,HD7279等&多了
功能很齐全,&可以&闪烁&等
扫描完18B20&之后&送个数据就可以了
主题帖子精华
在线时间1 小时
回复【8楼】aleda303:
---------------------------------
我以前用PIC单片机&主频11.0592
&8路,&共约200个18B20,&
数码管显示&都没问题的。
主题帖子精华
在线时间17 小时
回复【31楼】aleda303:
回复【8楼】aleda303:
---------------------------------
我以前用PIC单片机&主频11.0592
&8路,&共约200个18B20,&
数码管显示&都没问题的。
---------------------------------
厉害啊&&呵呵
理论上来说,就算1000个都没问题, 不过可能要至少5秒种读取一次温度值了
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【31楼】aleda303:
---------------------------------
怎么实现的啊?真诚的请教
牛逼死了,牛还活着吗?
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【31楼】aleda303:
---------------------------------
8路&&200个18b20的意思是&&18b20级联的吗?&&如果是这样的话&应该和我现在的很相近,我也是8个
牛逼死了,牛还活着吗?
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【24楼】xouou_53320:
---------------------------------
不可能吧,2.5这么便宜,不过我自从认识了热敏电阻这玩意,我对18B20没有任何兴趣了,18B20就是一个蛋痛的设计,贵又不靠谱,我用一个NTC,结合ADC,比你用18B20要写的驱动还少,而且省时序,对于需要连续检测的时候还不用担心读数据问题,直接把ADC设置为连续采集模式即可了,完全不用管,只要弄一个任务把ADC寄存器的数据读出来,用公式转换一下就完事,省时,省事,省RMB,还省电。
话说,如果你去面试企业的时候,说温度采集用18B20会被鄙视的,因为好几远的18B20,别人都能做一个产品了。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
在线时间1 小时
当时是一个 地层 &测温度分布的一个项目&预留8通道,实际使用6通道&。 &就按我说的那种方式 就都没问题
fb2dc84f7be91b0f9b664_391.jpg (0 Bytes, 下载次数: 0)
22:54 上传
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【31楼】aleda303:
---------------------------------
奥&你的意思是用专用芯片啊?恩&&我也正在考虑这个方案。
牛逼死了,牛还活着吗?
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【35楼】Tardis:
---------------------------------
热电阻是PT100吗?&&硬件设计麻烦点吧?软件校准也麻烦啊?
牛逼死了,牛还活着吗?
主题帖子精华
在线时间1 小时
回复【37楼】cortexM3:
---------------------------------
我做的时候&就没用&,也没问题啊
建议&如果没有解决的话,就用专用芯片!
主题帖子精华
在线时间17 小时
回复【35楼】Tardis:
----------------------------------------------------
18b20主要是学习下他的单总线协议
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【38楼】cortexM3:
---------------------------------
不是,你用NTC就可以了,用10K的那种,B值在3950左右就可以了,一般温度计都用这种,硬件设计不麻烦,直接把热敏串联一个10k电阻,然后热敏接电源,电阻接地,热敏和电阻之间接ADC,那么读取到的ADC数据就是电阻的分压,计算出热敏阻值R=(Res_Voltage*10)/(Sensor_Voltage),即可得出热敏电阻阻值,根据开尔文温度公式,可以直接计算出当前开尔文温度:
公式如下:
B=(lnR25-lnRtn)/(1/T25-1/Tn);
其中R25是指热敏电阻在25摄氏度下的阻值,你买的多少阻值的热敏,就是那个阻值,10K的热敏,25度阻值在10K,T25为25摄氏度下的开尔文温度,也就是298.15,当你求出TN,然后根据一下公式求出摄氏度:
C=TN-273.15;
以上算法经过验证,使用浮点型运算的话,会吃比较大的内存,而且,不管怎么算,电阻算不出小数点后两个精度,目前在研究中……
大约B=3950的10k电阻,阻值在8.3k左右的时候,室温28℃,算出来的,和市面上卖的一样。用的是AVR单片机的ADC。
备注:Rtn是你通过ADC算出来的热敏电阻阻值
ln这个,你得包含math.h,调用里面的log函数来实现,log函数就是ln,算出来是浮点型的,数据有点变态。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【40楼】xouou_53320:
---------------------------------
表示此总线在实际产品上使用不多
Time?And?Relative?Dimension?In?Space.
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【38楼】cortexM3:
---------------------------------
PT也可以,不过PT计算可能比NTC麻烦点,没有研究PTC,只研究了NTC
Time?And?Relative?Dimension?In?Space.
主题帖子精华
初级会员, 积分 143, 距离下一级还需 57 积分
在线时间0 小时
回复【41楼】Tardis:
---------------------------------
多谢这位大神的指点,听君一席话胜读十年书啊!!!哇嘎嘎,研究一下撒
牛逼死了,牛还活着吗?
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【44楼】cortexM3:
---------------------------------
我也是最近研究的,因为我想弄点小制作放淘宝卖,来帮补一下生活。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
初级会员, 积分 91, 距离下一级还需 109 积分
在线时间0 小时
回复【35楼】Tardis:
---------------------------------
求例程
机会,抓住一次就够了
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【46楼】iDream:
---------------------------------
你要热敏的例程吗?
例程很简答的,就6行代码而已。
Time?And?Relative?Dimension?In?Space.
主题帖子精华
高级会员, 积分 930, 距离下一级还需 70 积分
在线时间0 小时
回复【35楼】Tardis:
---------------------------------
主题帖子精华
高级会员, 积分 930, 距离下一级还需 70 积分
在线时间0 小时
回复【47楼】Tardis:
---------------------------------
Tardis可以分享一下热敏例程吗?我最近想做一个玩玩。谢谢。
主题帖子精华
金牌会员, 积分 1943, 距离下一级还需 1057 积分
在线时间0 小时
回复【49楼】螃蟹爱虫:
---------------------------------
我今晚找找。
Time?And?Relative?Dimension?In?Space.
Powered by}

我要回帖

更多关于 单片机数码管显示 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信