版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 小型多路温控采集系统设计 推荐精选一 系统说明本系统采用51单片机作为控制器,控制温度采集及显示。温度传感器选用DS18B20,其单总线的通信方式可以减少系统的线路连接。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。内温范围55125,在-10+85时精度为0.5可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。同时本系统选用LCD1602作为显示器件,能够同时显示16x02即32个字符(16
2、列2行)。其显示清晰,并可以显示阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,满足了系统要求。二系统电路图推荐精选三、程序流程图推荐精选四、程序解读推荐精选注:程序分两部分。可以先用程序二读出各个器件的序列号,再将序列号填入程序一的SN48数组中,若要加入更多的器件可以扩大数组,并在程序中增加读显的循环次数。1.程序一:已知各个器件序列号读取温度 #include#define uchar unsigned char#define uint unsigned intuchar TMP4; /读取后的4个温度值uchar SN48=0x28,0x44,0x30,0xc5,0xb8,0x
3、00,0x00,0x12,0x28,0x15,0x30,0xc5,0xb8,0x00,0x00,0x0b,0x28,0x30,0xc5,0xb8,0x00,0x00,0x00,0x8e,0x28,0x05,0x30,0xc5,0xb8,0x00,0x00,0x50;/4个器件的序列号,先读出单个序列号后填上才可以读取温度uint f4; /结果是否为负温,“0”为正温,“1”为负温。 sbit DQ=P37;/ds18b20与单片机连接口sbit RS=P30;sbit RW=P31;sbit EN=P32;unsigned char code str0=temperature:U ;unsi
4、gned char code str5= ;uchar data disdata5;uint tvalue;/温度值uchar tflag4;/温度正负标志/*LCD1602程序*/void delay1ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/*写数据*/
5、unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; 推荐精选/*发送ds1820 开始转换/*/tmstart (void) / /ds1820rst(); /复位 /delay1ms(1); /延时 /ds1820wr (0xcc); /跳过序列号命令,对所有器件有效 /ds1820wr (0x44); /发转换命令 44H, / /*/read_temp()/*读取温度值并转换*/ /uchar i,j; /uchar a,b; /for(j=0;j4
6、;j+) / /ds1820rst(); /复位 /delay1ms(1); /延时 /ds1820wr(0x55); /发送ROM匹配命令 /for(i=0;i8;i+) / /ds1820wr(SNji); /发送64位序列号 / /ds1820wr(0xbe);/*读取温度*/ a = ds1820rd (); /连续读取两位温度 /b = ds1820rd (); /tvalue=b;tvalue=8;tvalue=tvalue|a;if(tvalue0xf800) tflagj=0; else tvalue=tvalue+1; tflagj=1; fj=tvalue*(0.625);
7、/温度值扩大10倍,精确到1位小数/return(f4);推荐精选/*/void ds1820disp()/温度值显示 uchar flagdat,i; for(i=0;i4;i+) tvalue=fi ; disdata0=tvalue/1000+0x30;/百位数 disdata1=tvalue%1000/100+0x30;/十位数 disdata2=tvalue%100/10+0x30;/个位数 disdata3=tvalue%10/1+0x30;/小数位 if(tflagi=0) flagdat=0x20;/正温度不显示符号 else flagdat=0x2d;/负温度显示负号:- i
8、f(disdata0=0x30) disdata0=0x20;/如果百位为0,不显示 if(disdata1=0x30) disdata1=0x20;/如果百位为0,十位为0也不显示 if(i=0)wr_com(0x8d); /第一个传感器在LCD第一行第14字符显示“1”wr_dat(1);if(i=1)wr_com(0x8d);/第二个传感器在LCD第一行第14字符显示“2”wr_dat(2);if(i=2)wr_com(0x8d); /第三个传感器在LCD第一行第14字符显示“3”wr_dat(3);if(i=3)wr_com(0x8d); /第四个传感器在LCD第一行第14字符显示“4
9、”wr_dat(4); wr_com(0xc0); /在LCD第二行第1个字符显示温度正负号 wr_dat(flagdat); /显示符号位 wr_com(0xc1); /在LCD第二行第2个字符显示百位温度值 wr_dat(disdata0);/显示百位 wr_com(0xc2); /在LCD第二行第3个字符显示十位温度值 wr_dat(disdata1);/显示十位 wr_com(0xc3); /在LCD第二行第4个字符显示个位温度值 wr_dat(disdata2);/显示个位 wr_com(0xc4); /在LCD第二行第5个字符显示小数点 wr_dat(0x2e); /显示小数点 w
10、r_com(0xc5); /在LCD第二行第6个字符显示小数位温度值 wr_dat(disdata3);/显示小数位delay1ms(1500);推荐精选 /*主程序*/void main() init_play();/初始化显示 while(1) tmstart();/开始转换 read_temp();/读取温度 ds1820disp();/显示/2.程序二:读取DS18B20序列号程序注:读ROM时,只能有一个器件与单片机通信。可以逐个相连来读出其ROM#include#define uchar unsigned char#define uint unsigned intuint sn8=
11、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10;sbit DQ=P37;/ds18b20与单片机连接口sbit RS=P30;sbit RW=P31;sbit EN=P32;void delay1ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/*写数据*/unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; /读取器件序列号子程序/rom(void)ds1820rst(); /复位 /delay1ms(1); /延时 /ds1820wr(0x33); /发送读序列号子程序 /sn0=ds1820rd(); /连续读出64位ROMsn1=ds1820rd();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版出租房整栋租赁与物业管理一体化合同3篇
- 二零二五版高龄劳动者就业协议书样本2篇
- 全新二零二五年度文化旅游项目合作协议3篇
- 2025年度太阳能热水器安装与热水供应合同2篇
- 2024铝矿回收利用与环保处理合作协议2篇
- 2025版大型公共场所消防器材设备采购与维护合同2篇
- 2025劳动合同法下经济补偿的适用指引
- 2025年度苗木运输及绿化工程合同范本4篇
- 二零二四年度中小企业担保贷款合同2篇
- 二零二五年度木制门窗安装清包服务合同3篇
- 土地买卖合同参考模板
- 新能源行业市场分析报告
- 2022年7月2日江苏事业单位统考《综合知识和能力素质》(管理岗)
- 初一英语语法练习
- 房地产运营管理:提升项目品质
- 你划我猜游戏【共159张课件】
- 专升本英语阅读理解50篇
- 中餐烹饪技法大全
- 新型电力系统研究
- 滋补类用药的培训
- 北师大版高三数学选修4-6初等数论初步全册课件【完整版】
评论
0/150
提交评论