




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#includesbit DHT = P00; /管脚定义,DHT11总线输入输出;uchar data_byte;uchar Tem_Z,Tem_X,Hum_Z,Hum_X,Check;void LCD_Display(); /声明LCD_Display液晶显示函数;void Rec_DHT(); /声明Rec_DHT,DHT11接收数据函数;void receive();/主函数void main()lcd_init(); while(1) Rec_DHT(); LCD_Display(); delayms(1000); /延时函数,/延时msvoid delays()/12.000MHz uchar i, j, k;i = 1;j = 234;k = 113;dodowhile (-k); while (-j); while (-i);/延时iusvoid delay10us() uchar i; for(i=0;i6;i+) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*主机发出开始信号*/ void DHT11_Start() DHT=1; delay10us(); DHT=0; delays(); /保持电平时间大于18ms,延时20ms DHT=1; delay10us(); /延迟等待20-40us,延时20us delay10us(); delay10us(); delay10us(); DHT=1; /拉高等待DHT11响应/DHT11接收一个字节数据uchar receive_data() uchar i,temp,count; data_byte=0; for(i=0;i8;i+) count=2; while(!DHT)&count+); /等待50us低电平结束 delay10us(); /等待40us高电平,后判断电平高低,高:DHT为1,低:DHT为0 delay10us(); delay10us(); delay10us(); temp=0; if(DHT=1) temp=1; /DHT为高:1,位为1 count=2; while(DHT)&count+); /等待DHT高电平结束 if(count=1) break; /DHT为低:0,位为0 data_byte35) write(注意防署); else if(Tem_Z70) write(注意除湿); else if(Hum_Z0;i-) /单片机晶振频率为12MHZ; for(j=120;j0;j-); /单片机12倍速度运行/12864写命令void write_com(uchar com) uchar i; uchar i_data; i_data=0xf8; /11111000-写指令0 cs=1; sclk=0; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=com; i_data&=0xf0; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=com; i_data=i_data4; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; cs=0; delayms(10); /12864写数据void write_data(uchar date) uchar i; uchar i_data; i_data=0xfa; /写数据 cs=1; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=date; i_data&=0xf0; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=date; i_data=i_data4; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; cs=0; delayms(10); /lcd12864初始化void lcd_init() psb=0; /液晶屏为串行数据传输模式 rst=0; /复位 delayms(2); rst=1; delayms(2); write_com(0x30); /基本指令, 扩充指令为34H delayms(4); write_com(0x02); /清除ddram delayms(4); write_com(0x0c); /显示开, 关光标 delayms(4); write_com(0x01); /清屏 delayms(4);/设定显示位置,x、y为12864轴坐标,x:1-4;y:1-16;void lcd_pos(uchar x,uchar y) uchar pos; if(x=1) x=0x80; /x为第几行1-4; else if(x=2) x=0x90; else if(x=3) x=0x88; else if(x=4) x=0x98; pos=x+y-1; write_com(pos);/指定位置显示任意文字、字符void write(uchar * str) uchar i =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年人保护性约束课件
- 老年人保健知识培训总结课件
- 山东省日照市东港区某中学2024-2025学年九年级下学期三模考试数学试卷(附答案)
- 人教版八年级英语下册专练:阅读理解20篇(含答案)
- 老年专科护士课件
- CN120199976A 阻燃抗收缩涂层自交联锂电池隔膜及其成型工艺
- CN120197083A 一种面向数据空间信息演化过程的数据分级方法
- 热点09 海-气相互作用与全球气候变化-2024年高考地理专练(新高考专用)
- 2020年7月国开电大法学本科《国际法》期末纸质考试试题及答案
- 老师上课课件改成AV
- 【共享经济下网约工劳动关系认定问题研究-以外卖骑手为例18000字(论文)】
- DB13T 5098-2019 无人值守起重机控制系统检验规则
- 被动解除劳动合同范本
- XX学校(幼儿园)食堂管理各岗位廉政(廉洁)风险点及防控措施一览表
- 探索未来学习中心的构建:理论、关键要素与体系架构
- 院长绩效协议书
- 直播运营考试试题及答案
- 2025-2030中国冲锋衣行业发展趋势与投资战略研究报告
- 食品与营养课程课件
- 林长制知识培训课件
- 高效氯胺酮合成路线研究-深度研究
评论
0/150
提交评论