基于单片机多点温度测试仪带按键设定温度报警带仿真图

本系统的设计思路1.2.1本系统的设计思想和工作原理设计思想:随着时代的发展人们的生活水平越来越高,对生活的要求也越来越高,单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统。同时随着现代信息技术的飞速发展,温度测量采集以及报警系统在工业、农业、军事及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集报警系统的设计与研究有十分重要的意义。设计原理:本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LCD进行显示。本系统可以实现多路温度信号采集与显示,可以使用程序来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和LED进行报警。#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P2^0;//一号ds18b20与单片机连接口sbitDQ1=P2^1;//二号ds18b20与单片机连接口sbitD1=P2^3;sbitD2=P2^4;sbitRS=P2^5;//LCD控制脚sbitRW=P2^6;sbitEN=P2^7;sbitkey0=P3^3;sbitkey1=P3^4;//按键定义sbitkey2=P3^5;sbitkey3=P3^6;sbitkey4=P3^7;sbitbell=P1^7;ucharcodestr1[]={"wendu1:"};ucharcodestr2[]={"wendu2:"};ucharcodestr3[]={"sethigh"};ucharcodestr4[]={"setlow"};uchardatadisdata[5];uchardatadisdata1[5];uchardatadisdata2[4];uchardatadisdata3[4];unsignedchartemphigh=40,templow=5;//温度设定初始值uintflag0,flag1,flag2,flag3,flag4;//按键标志uinthigh,low;//高温和低温设置值uinttvalue,tvalue1;//温度值uchartflag,tflag1;//温度正负标志/*******************lcd1602程序**********************/voiddelay1ms(uintms)//延时1毫秒{unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<110;j++);}voidwr_com(ucharcom)//LCD写指令{RS=0;RW=0;P0=com;delay1ms(5);EN=1;delay1ms(5);EN=0;}voidwr_dat(uchardat)//LCD写数据{RS=1;RW=0;P0=dat;delay1ms(5);EN=1;delay1ms(5);EN=0;}voidlcd_init()//LCD初始化设置{wr_com(0x38);//设置16×2显示,5×7点阵,8位数据接口wr_com(0x0c);//设置开显示,不显示关标wr_com(0x06);//写一个字符后地址指针加1wr_com(0x01);//显示清0,数据指针清0}voiddisplay(uchar*p)//显示{while(*p!='\0'){wr_dat(*p);p++;delay1ms(5);}}init_play()//1号初始化显示{lcd_init();wr_com(0x80);display(str1);}/******************二号初始化***********************/init_play1()//2号初始化显示{wr_com(0x80+0x40);display(str2);}/******************温度设定初始化******************//*init_wendusheding(){if(flag1==1){lcd_init();wr_com(0x80);display(str3);}}*//****************1号DS1820程序*********************/voiddelay_18B20(uinti)//延时1微秒{while(i--);}voidds1820rst()//ds1820复位{ucharx=0;DQ=1;//DQ复位delay_18B20(4);//延时DQ=0;//DQ拉低delay_18B20(100);//精确延时大于480usDQ=1;//拉高delay_18B20(40);}uchards1820rd()//读数据{uchari=0;uchardat=0;for(i=8;i>0;i--){DQ=0;//给脉冲信号dat>>=1;DQ=1;//给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);}return(dat);}voidds1820wr(ucharwdata)//写数据{uchari=0;for(i=8;i>0;i--){DQ=0;DQ=wdata&0x01;//数据放在数据线上被读走delay_18B20(10);DQ=1;wdata>>=1;}}read_temp()//1号读取温度值并转换{uchara,b;ds1820rst();ds1820wr(0xcc);//跳过读序列号ds1820wr(0x44);//启动温度转换ds1820rst();ds1820wr(0xcc);//跳过读序列号ds1820wr(0xbe);//读取温度a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x07ff)tflag=0;else{tvalue=~tvalue+1;tflag=1;}tvalue=tvalue*(0.625);//温度值...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?