




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-作者xxxx-日期xxxx单片机设计温湿度传感器的设计程序【精品文档】(GDAIB小远制作)R #ifndef _REG51_H_#define _REG51_H_/* BYTE Register */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0
2、 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr IE = 0xA8;sfr IP = 0xB8;sfr SCON = 0x98;sfr SBUF = 0x99;/* BIT Register */* PSW */sbit CY = 0xD7;sbit AC = 0xD6;sbit F0 = 0xD5;sbit RS1 = 0xD4;sbit RS0 = 0xD3;sbit OV = 0xD2;sbit P = 0xD0;/* TCON */sbit TF1 = 0x8F;sbit TR1 = 0x8E;sbit TF0 = 0x
3、8D;sbit TR0 = 0x8C;sbit IE1 = 0x8B;sbit IT1 = 0x8A;sbit IE0 = 0x89;sbit IT0 = 0x88;/* IE */sbit EA = 0xAF;sbit ES = 0xAC;sbit ET1 = 0xAB;sbit EX1 = 0xAA;sbit ET0 = 0xA9;sbit EX0 = 0xA8;/* IP */ sbit PS = 0xBC;sbit PT1 = 0xBB;sbit PX1 = 0xBA;sbit PT0 = 0xB9;sbit PX0 = 0xB8;/* P3 */sbit RD = 0xB7;sbit
4、 WR = 0xB6;sbit T1 = 0xB5;sbit T0 = 0xB4;sbit INT1 = 0xB3;sbit INT0 = 0xB2;sbit TXD = 0xB1;sbit RXD = 0xB0;/* SCON */sbit SM0 = 0x9F;sbit SM1 = 0x9E;sbit SM2 = 0x9D;sbit REN = 0x9C;sbit TB8 = 0x9B;sbit RB8 = 0x9A;sbit TI = 0x99;sbit RI = 0x98;#endifM#ifndef _MAIN_H_#define _MAIN_H_#include#define uc
5、har unsigned char#define uint unsigned intvoid delay1m(uint x);void RH_founction();/温湿度读取子程序void init_1602();/初始化1602函数void DHT11_display(uchar add,uchar shi,uchar ge);/温湿度显示函数void key_shidu();void key_wendu();void alarm_function();void w_string(uchar add, uchar *p);#endifM/温湿度实时监测显示,超限报警,温度测量范围为0+5
6、0; 湿度测量范围为20%90%;#includemain.hsbit s1=P14;/温度sbit s2=P13;/湿度sbit s3=P12;/sbit s4=P11;/sbit s5=P10;/确定sbit alarm=P15;/蜂鸣器报警extern uchar TH,RH;/温度整数,湿度整数部分uchar code word116= My own design! ; uchar code word216=Tem= C Hum= %;/word24word25C word213word214%uchar code hehe16= Set Temperature!;/设置温度上下限界面
7、uchar code haha16= Set Humidity! ;/设置湿度上下限界面uchar code word316=up= C down= C;uchar code word416=up= % down= %;uchar w_up=30;w_down=20;/温度上下限uchar s_up=60;s_down=40;/湿度上下限void main()uint i; init_1602();delay1m(500);/延时等待1602稳定RH_founction();while(1) key_wendu();/温度上下限调整key_shidu();/湿度上下限调整i+;if(i2000
8、)/动态延时读取温湿度值i=0;RH_founction();/读取温湿度DHT11_display(0xc0+4,TH/10+0x30,TH%10+0x30); /显示温度 DHT11_display(0xc0+13,RH/10+0x30,RH%10+0x30); /显示湿度if(THw_up)|(THs_up)|(RH4000)counter=0;/清零if(counter2000)DHT11_display(dzwei,0x20,0x20);/显示空格if(counter1)wei=0;if(!s3)/加1while(!s3);bufwei+;if(bufwei50)bufwei=0;i
9、f(!s4)/减1while(!s4);bufwei-;if(bufwei=0xff)bufwei=50;if(buf04000)counter=0;/清零if(counter2000)DHT11_display(dzwei,0x20,0x20);/显示空格if(counter1)wei=0;if(!s3)/加1while(!s3);bufwei+;if(bufwei90)bufwei=0;if(!s4)/减1while(!s4);bufwei-;if(bufwei20)bufwei=90; if(buf0=buf1)buf0=60;buf1=40;/如果湿度上限不大于下限,回到初始状态whi
10、le(s5);/按下s5设置确定s_up=buf0;s_down=buf1;w_string(0x80,word1);w_string(0xc0,word2);/发送字符串到LCD第一行 /=ms级延时函数= void delay1m(uint x) uint k,j; for(k=0;kx;k+) /连数x次,约 x ms for(j=0;j120;j+); /数120 次,约1 ms#includemain.h#define shuju P0/数据脚sbit rs=P27;/数据命令选择端sbit rw=P26;/读写选择端sbit en=P25;/1602使能端sbit busy = P
11、07;/检测为1,说明1602忙extern uchar code word116;extern uchar code word216;/=读繁忙标记函数=void read_busy()shuju = 0xff;/准备读数据dors = 0;/读状态rw = 1;/读en = 0;en = 1;/使能1602数据读出 while(busy);en = 0;/=写命令函数=void write_cmd(uchar cmd)read_busy();rs = 0;/写指令rw = 0;/写shuju = cmd;en = 0;en = 1;en = 0; /=写数据函数=void write_da
12、t(uchar dat)read_busy();rs = 1;/写数据rw = 0;/写shuju = dat;en = 0;en = 1;en = 0;/=1602初始化函数=void init_1602()write_cmd(0x38); / 16*2显示,5*7点阵,8位数据接口 write_cmd(0x0c); / 显示开、光标关、光标不允许闪烁 write_cmd(0x06); / 文字不动,光标自动右移 write_cmd(0x01); / 清屏w_string(0x80,word1);w_string(0xc0,word2);/=将温湿度数据分成高低位在1602上显示函数=voi
13、d DHT11_display(uchar ad,uchar shi,uchar ge) write_cmd(ad);write_dat(shi);write_dat(ge);/=调整数据的时候,1602显示=void w_string(uchar add, uchar *p) /发送字符串到LCDuchar i;write_cmd(add);for(i=0;i0;j-) for(i=0;i27;i+);void Delay_10us(void) uchar i; i-;i-;i-; i-;i-;i-;void COM(void) uchar i; for(i=0;i8;i+) flag=2;
14、 while(!DQ)&flag+); Delay_10us(); Delay_10us(); Delay_10us(); temp=0; if(DQ)temp=1;/判断数据位是0还是1 flag=2; while(DQ)&flag+); if(flag=1)break;/超时则跳出for循环 /如果高电平高过预定0高电平值则数据位为 1 comdata=1; comdata|=temp; /-温湿度读取子程序 -void RH_founction() DQ=0; Delay(180);/主机拉低18ms DQ=1;/总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); DQ=1;/主机设为输入 判断从机响应信号 if(!DQ)/判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 flag=2; while(!DQ)&flag+);/判断从机是否发出 80us 的低电平响应信号是否结束 flag=2;while(DQ)&flag+); /判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 /数据接收状态 COM(); RH_temp=comdata; COM(); R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年呼伦贝尔职业技术学院单招职业倾向性测试题库汇编
- 2025年度土地互换与农村土地制度改革合同
- 2025年度客户价格保密与农业科技合作开发合同
- 2025年度工地食堂员工满意度调查与提升承包合同
- 2025年度夫妻双方子女抚养权及探望权离婚协议书
- 2025年度房屋赠予与遗产分配协议
- 2025年度大型活动临时聘用保安人员合作协议
- 2025年度人工智能教育平台建设合同变更协议
- 互联网平台限用农药违规售卖现状调研报告
- 2025年度总经理聘任与质量管理体系合同:提升产品质量合作协议
- “SoC设计导论”教学大纲
- 风湿性心脏病影像诊断与鉴别学习课件
- 2023年江苏信息职业技术学院单招职业适应性测试笔试题库及答案解析
- 林木育种学:第二讲 林木选育技术基础课件
- 部编版小学二年级语文下册第七单元《写话》课件
- 转动机械找对轮找中心(有图、有公式)课件
- 承插型盘扣式钢管进场验收记录表
- 地基注浆加固记录表
- CA-PDS新品投产管理手册
- 初中生物实验目录(苏教版)
- 2022年幼儿语言教育活动设计与指导完整版课件整套电子教案
评论
0/150
提交评论