欢迎来到天天文库
浏览记录
ID:18328978
大小:82.00 KB
页数:27页
时间:2018-09-16
《基于单片机多点温度测试仪带按键设定温度报警_带仿真图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本系统的设计思路1.2.1本系统的设计思想和工作原理设计思想:随着时代的发展人们的生活水平越来越高,对生活的要求也越来越高,单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统。同时随着现代信息技术的飞速发展,温度测量采集以及报警系统在工业、农业、军事及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集报警系统的设计与研究有十分重要的意义。设计原理:
2、本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LCD进行显示。本系统可以实现多路温度信号采集与显示,可以使用程序来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和LED进行报警。#include#defineucharunsignedchar#defineuintunsignedintsbitDQ=P2^0;//一号ds1
3、8b20与单片机连接口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[]
4、={"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;
5、//温度正负标志/*******************lcd1602程序**********************/voiddelay1ms(uintms)//延时1毫秒{unsignedinti,j;for(i=0;i6、y1ms(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!=' '){wr_dat(*p);p++;delay1ms(5);}}init_play()//1号初始化显示{lcd_init7、();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);}}*//**************8、**1号DS1820程序*********************/voiddelay_18B20(uinti)//延时1微秒{while(i--);}voidds1820rst()//ds1820复位{u
6、y1ms(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!=' '){wr_dat(*p);p++;delay1ms(5);}}init_play()//1号初始化显示{lcd_init
7、();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);}}*//**************
8、**1号DS1820程序*********************/voiddelay_18B20(uinti)//延时1微秒{while(i--);}voidds1820rst()//ds1820复位{u
此文档下载收益归作者所有