电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

温湿度传感器程序VIP免费

温湿度传感器程序_第1页
1/11
温湿度传感器程序_第2页
2/11
温湿度传感器程序_第3页
3/11
/*基于盛群单片机开发的获得温湿传感器dht11和光敏电阻的数据并且发送到1602显示屏的程序*/#include#pragmavectorisr_4@0x4#pragmavectorisr_8@0x8#pragmavectorisr_c@0xc#pragmavectorisr_ad@0x10//ad中断服务程序(r232地址是10)//ISRforsafequardvoidisr_4(){}//externalISRvoidisr_8(){}//timer/event0voidisr_c(){}//timer/event1//initializeregistersforsafeguardvoidsafeguard_init(){_intc0=0;_intc1=0;_tmr0h=0;_tmr0l=0;_tmr0c=0;_tmr1h=0;_tmr1l=0;_tmr1c=0;_pac=0xff;_pbc=0xff;//inputmode_pcc=0xff;}typedefunsignedcharu8;#definers_pc2//屏幕的控制rs#defineep_pc0//屏幕的控制rs#definerw_pc1//屏幕的控制rs#definedht_pb1#defineko_pb2//外部按键定义#defineky_pb3#defineLED_DATA_CRL_pac//屏幕数据管脚的I/O控制#defineDHT_DATA_CRL_pbc//dht数据管脚的I/O控制#defineLED_DATA_DATA_pa//屏幕数据管脚的数据传递#defineLED_CRL_CRL_pcc//屏幕控制管脚的I/O控制#definead_start_26_7//定义ad转换的start位(r232的adcr寄存器地址是0x26h)voidbusycheck(void);voidinit(void);voidcmd(unsignedchar);voiddata(int);signedcharU8FLAG,U8temp,U8comdata;intU8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;/*中间数值,校对校验码后付给最终的结果*/intU8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;/*实际数值*/intk;//外部按键常量unsignedintlight;//光强的数字值intlight_b;//百位intlight_s;//十位intlight_g;//个位intcount;voidADtrans(){//ad转换开始ad_start=0;ad_start=1;ad_start=0;}//--------------------------------------屏幕部分------------------------------//********************************屏幕初始************************************voidinit(){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();cmd(0x01);busycheck();cmd(0x06);busycheck();cmd(0x0c);busycheck();}//****************************//***********送指令函数********voidcmd(u8mingling){//busycheck();rs=0;rw=0;ep=0;LED_DATA_DATA=mingling;_delay(100);ep=1;_delay(100);ep=0;}//***************************//*********送数据************voiddata(intzimu){//busycheck();rw=0;rs=1;rw=0;ep=0;LED_DATA_DATA=zimu;_delay(100);ep=1;_delay(100);ep=0;}//***************************//**********busycheck***********voidbusycheck(void){u8val;do{ep=0;LED_DATA_CRL=0xff;rs=0;rw=1;ep=1;_delay(100);val=LED_DATA_DATA;_delay(100);ep=0;}while(val&(u8)0x80);rw=0;LED_DATA_CRL=0;}//*****************************************************//******************写入地址***************************voidpos(u8x){cmd(x|0x80);}//*****************************************************//-------------------dht21部分------------------------//**************获取8位二进制数************************/*COM获取一个8位二进制数*/voidCOM(void){u8i;for(i=0;i<8;i++){U8FLAG=2;while((!dht)&&U8FLAG++);_delay(35);U8temp=0;if(dht)U8temp=1;U8FLAG=2;while((dht)&&U8FLAG++);//超时则跳出for循环if(U8FLAG==1)break;//判断数据位是0还是1//如果高电平高过预定0高电平值则数据位为1U8comdata<<=1;U8comdata|=U8temp;}//rof}//***********************************************************/*--------------------------------*//*-----温湿度读取子程序----------*//*--------------------------------*//*-----以下变量均为全局变量-------*//*----温度高8位==U8T_data_H------*//*----温度低8位==U8T_data_L------*//*----湿度高8位==U8RH_data_H-----*//*----湿度低8位==U8RH_data_L-----*//*----校验8位==U8checkdat...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

温湿度传感器程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部