湿度传感器hs1101c语言的程序

湿度传感器hs1101c语言的程序

ID:9849211

大小:26.00 KB

页数:5页

时间:2018-05-12

湿度传感器hs1101c语言的程序_第1页
湿度传感器hs1101c语言的程序_第2页
湿度传感器hs1101c语言的程序_第3页
湿度传感器hs1101c语言的程序_第4页
湿度传感器hs1101c语言的程序_第5页
资源描述:

《湿度传感器hs1101c语言的程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//********应用频率计的思想来计算湿度,利用定时器计算频率脉冲F,**********////********再根据频率计算湿度。HS1101相当于一个电容变量,湿度变大电容也变大**********////********HS1101电容模拟信号经过NE555震荡后转变为频率信号*********************//#include#include#defineucharunsignedchar#defineuintunsignedintsbit

2、SCLK=P2^6;/***时钟信号即EN使能信号***/sbitCS=P2^4;/***片选信号即RS***/sbitSID=P2^5;/***数据信号即RW***/sbitPSB=P2^7;/***串、并行选择信号***/sbitout=P3^5;//湿度的输出端接单片机的定时器1口P3^5(因为该程序用定时器1来计数脉冲,用定时器0来定时1秒)//如果用定时器0来计数脉冲,则接P3^4口ucharflag;//定时器0定时1秒到uintmaichong;//定义频率脉冲,一定要定义为uint型,u

3、char型最大值只为255,而uint最大值为63335uintRH;//定义相对湿度uintC;ucharled[4]="";//频率数值,led缓存uchardis[3]="";//湿度数值,led缓存ucharvolatilecount0=0;//定时器0中断次数volatile定义的变量它的值在编译时是会改变的,跟const相反,而const定义的变量一直不会变的uintvolatilecount1=0;//定时器1中断次数voiddelay(uintxms){ucharx,y;for(x=xm

4、s;x>0;x--)for(y=110;y>0;y--);}/***************************************//*以串行协议发送数据*//***************************************/voidsend_bit(ucharbyte){ucharx;for(x=0;x<8;x++)//八位数据,一位一位发送//{if((byte<

5、0//}SCLK=0;SCLK=1;//每发送一位,SCLK跳变一次,上升沿有效//}delay(5);}/***************************************//*写串口命令函数*//***************************************/voidwrite_com(ucharcom){CS=1;//每次传数据前把CS端拉高//send_bit(0xf8);//串行发送命令前必发0xf8识别命令//send_bit(com&0xf0);//0xf0为1

6、1110000,送高四位send_bit((com<<4)&0xf0);//0xf0为11110000,送低四位delay(5);CS=0;}/***************************************//*写串口数据函数*//***************************************/voidwrite_date(uchardate){CS=1;//每次传数据前把CS端拉高//send_bit(0xfa);//串行发送数据前必发0xfa识别数据//send_bi

7、t(date&0xf0);//0xf0为11110000,送高四位//send_bit((date<<4)&0xf0);//0xf0为11110000,送低四位//delay(10);CS=0;}/***************************************//*液晶显示初始化*//***************************************/voidlcd_init(){PSB=0;//选择串口方式delay(5);write_com(0x30);//基本指令操作d

8、elay(5);write_com(0x0c);//开显示,关光标delay(5);write_com(0x02);//地址归位delay(5);write_com(0x01);//清除液晶显示内容delay(5);}//显示字符串voidwrite_word(ucharadd,uchar*s){write_com(add);while(*s!=''){write_date(*s);s++;delay(5);}}//基本显示voidse

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。