1602液晶使用规范

上传人:fgh****35 文档编号:81577157 上传时间:2022-04-27 格式:DOC 页数:5 大小:23.50KB
收藏 版权申诉 举报 下载
1602液晶使用规范_第1页
第1页 / 共5页
1602液晶使用规范_第2页
第2页 / 共5页
1602液晶使用规范_第3页
第3页 / 共5页
资源描述:

《1602液晶使用规范》由会员分享,可在线阅读,更多相关《1602液晶使用规范(5页珍藏版)》请在装配图网上搜索。

1、#include reg52.h#define uchar unsigned char /宏定义#define uint unsigned intsbit DHTIO = P27; /管脚定义,DHT11总线输入输出;sbit LCDRS = P35; /管脚定义,1602液晶RS控制端;sbit LCDWR = P36 ; /管脚定义,1602液晶W/R控制端;sbit LCDEN = P34; /管脚定义,1602液晶EN使能端;uchar code table=0,1,2,3,4,5,6,7,8,9;uchar data_byte;uchar Tem_Z,Tem_X,Hum_Z,Hum_

2、X,Check;void LCD_Init(); /声明LCD_Init液晶初始化函数;void LCD_Display(); /声明LCD_Display液晶显示函数;void Rec_DHT(); /声明Rec_DHT,DHT11接收数据函数;/主函数void main()LCD_Init();while(1) Rec_DHT();LCD_Display(); /*延时函数*/void delay(uchar ms) uchar i ;while(ms-)for(i=0;i250;i+);/*延时10us*/void delay1()uchar i;i-;i-;i-;i-;i-;i-;/*

3、主机发出开始信号*/void DHT11_Start() /请结合时序图分析DHTIO=1;delay1();DHTIO=0;delay(20); /保持电平时间大于18msDHTIO=1;delay1(); /延迟等待20-40usdelay1();delay1();delay1();delay1();/*DHT11接收一个字节数据*/uchar receive_data()uchar i,temp,count;data_byte=0;for(i=0;i8;i+)count=2;while(!DHTIO)&count+);/等待50us低电平结束temp=0;delay1();delay1(

4、);delay1();delay1();if(DHTIO=1) temp=1;count=2;while(DHTIO)&count+); if(count=1) break;data_byte=1; data_byte|=temp;return data_byte;/*DHT11接收数据*/void Rec_DHT()uchar flag;DHT11_Start();/主机发出开始信号DHTIO=1; /拉高等待DHT11响应if(!DHTIO) /从机发出响应信号flag = 2;while(!DHTIO) & flag+); /判断从机是否发出 80us 的低电平响应信号是否结束flag

5、= 2;while(DHTIO & flag+); /判断从机是否发出 80us 的高电平,若发出则开始采集数据Tem_Z = receive_data(); /采集湿度整数部分Tem_X = receive_data(); /采集湿度小数部分Hum_Z = receive_data(); /采集温度整数部分Hum_X = receive_data(); /采集温度小数部分Check = receive_data(); /采集校验位DHTIO = 1;/*指令码*/void write_com(uchar com)com=(com&0x01)7)|(com&0x02)5)|(com&0x04)

6、3)|(com&0x08)1)|(com&0x20)3)|(com&0x40)5)|(com&0x80)7); /注:此部分因采用的最小系统板电路设计原因,需要将字节信息逆置;LCDRS=0;LCDEN=0;delay(2);LCDEN=1;P0=com;delay(2);LCDEN=0; /*数据码*/void write_data(uchar date)date=(date&0x01)7)|(date&0x02)5)|(date&0x04)3)|(date&0x08)1)|(date&0x20)3)|(date&0x40)5)|(date&0x80)7); /注:此部分因采用的最小系统板电

7、路设计原因,需要将字节信息逆置;LCDRS=1;LCDEN=0;delay(2);LCDEN=1;P0=date;delay(2);LCDEN=0;/*/*1602液晶显示初始化*/void LCD_Init() LCDEN=0; /使能低电平LCDWR=0; write_com(0x38); /显示模式设置,设置16*2显示,5*7点阵,8位数据接口delay(2);write_com(0x0c); /显示开关及光标设置delay(2);write_com(0x06);delay(2);write_com(0x01); /清屏delay(2);/*1602液晶显示*/void LCD_Dis

8、play()/液晶显示第一行:温度显示;write_com(0x0c);write_com(0x81);delay(2);write_data(T);delay(2);write_data(e);delay(2);write_data(m);delay(2); write_data(:);delay(2);write_com(0x86);delay(2);write_data(table(Tem_Z/10);delay(2); /输出温度的十位write_data(table(Tem_Z%10);delay(2); /输出温度的个位write_data(.);delay(2);write_da

9、ta(0);delay(2);write_data(0);delay(2);write_com(0x8c);delay(2);write_data(0xdf);delay(2); /输出write_data(0x43);delay(2);/液晶第二行:湿度显示;write_com(0xc1);delay(2);write_data(H);delay(2);write_data(u);delay(2);write_data(m);delay(2);write_data(:);delay(2);write_com(0xc6);delay(2);write_data(table(Hum_Z/10);delay(2); /输出湿度的十位write_data(table(Hum_Z%10);delay(2); /输出湿度的个位write_data(.);delay(2);write_data(0);delay(2);write_data(0);delay(2);write_com(0xcc);delay(2);write_data(%);delay(2);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!