温湿度传感器程序.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温湿度传感器程序

/*基于盛群单片机开发的 获得温湿传感器dht11和光敏电阻的数据 并且发送到1602显示屏的程序*/ #include ht46r232.h #pragma vector isr_4 @ 0x4 #pragma vector isr_8 @ 0x8 #pragma vector isr_c @ 0xc #pragma vector isr_ad @ 0x10 //ad中断服务程序(r232地址是10) //ISR for safequard void isr_4(){} // external ISR void isr_8(){} // timer/event 0 void isr_c(){} // timer/event 1 //initialize registers for safeguard void safeguard_init(){ _intc0=0; _intc1=0; _tmr0h=0; _tmr0l=0; _tmr0c=0; _tmr1h=0; _tmr1l=0; _tmr1c=0; _pac=0xff; _pbc =0xff; //input mode _pcc =0xff; } typedef unsigned char u8; #define rs _pc2 //屏幕的控制rs #define ep _pc0 //屏幕的控制rs #define rw _pc1 //屏幕的控制rs #define dht _pb1 #define ko _pb2 //外部按键定义 #define ky _pb3 #define LED_DATA_CRL _pac //屏幕数据管脚的I/O控制 #define DHT_DATA_CRL _pbc //dht数据管脚的I/O控制 #define LED_DATA_DATA _pa //屏幕数据管脚的数据传递 #define LED_CRL_CRL _pcc //屏幕控制管脚的I/O控制 #define ad_start _26_7 //定义ad转换的start位(r232的adcr寄存器地址是0x26h) void busycheck(void); void init(void); void cmd(unsigned char); void data(int); signed char U8FLAG,U8temp,U8comdata; int U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;/*中间数值,校对校验码后付给最终的结果*/ int U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;/*实际数值*/ int k; //外部按键常量 unsigned int light; //光强的数字值 int light_b; //百位 int light_s; //十位 int light_g; //个位 int count; void ADtrans(){ //ad转换开始 ad_start=0; ad_start=1; ad_start=0; } //--------------------------------------屏幕部分------------------------------ //********************************屏幕初始************************************ void init() { LED_DATA_CRL=0; LED_CRL_CRL=0; LED_DATA_DATA=0; _pc=0; _delay(5000); _delay(5000); _delay(5000); cmd(0x38); _delay(5000); cmd(0x38); _delay(5000); cmd(0x38); _delay(5000); cmd(0x38); busycheck(); cmd(0x08); busycheck();

文档评论(0)

sb9185sb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档