智能风扇调速系统风扇调速系统程序

智能风扇调速系统风扇调速系统程序

ID:42894926

大小:56.50 KB

页数:10页

时间:2019-09-22

智能风扇调速系统风扇调速系统程序_第1页
智能风扇调速系统风扇调速系统程序_第2页
智能风扇调速系统风扇调速系统程序_第3页
智能风扇调速系统风扇调速系统程序_第4页
智能风扇调速系统风扇调速系统程序_第5页
资源描述:

《智能风扇调速系统风扇调速系统程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、#includecodeunsignedcharseg7code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40};//显示段码sbitTMDAT=P3^1;//DS18B20的数据输入/输出脚DQ,根据情况设定sbitP2_7=P2^7;sbitP2_6=P2^6;sbitP2_5=P2^5;sbitjia=P2^4;sbitjian=P2^3;sbitdi=P2^2;sbitzh=P2^1;sbitga=P2^0;j=0;unsignedintsdata;//测量到的温度的整数部

2、分//unsignedcharxiaoshu1;//小数第一位//unsignedcharxiaoshu2;//小数第二位//unsignedcharxiaoshu;//两位小数bitfg=1;//温度正负标志//////////*显示延时程序*///////////////voidDelay(unsignedinttc){while(tc!=0){unsignedinti;for(i=0;i<80;i++);tc--;}}////////////延时部分///////////////voidyanshi(unsignedintcount){unsignedchari;w

3、hile(count--){for(i=0;i<115;i++);}}voiddel()/*延时1秒*/{unsignedchari,j,k;for(i=20;i>0;i--)for(j=100;j>0;j--)for(k=248;k>0;k--);}/////////////发送复位///////////////voidfashong(void){unsignedchari;TMDAT=0;for(i=0;i<103;i++);TMDAT=1;for(i=0;i<4;i++);}bittmrbit(void)//读一位//{unsignedinti;bitdat;TMD

4、AT=0;i++;TMDAT=1;i++;i++;//微量延时//dat=TMDAT;for(i=0;i<8;i++);return(dat);}unsignedchartmrbyte(void)//读一个字节{unsignedchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmrbit();dat=(j<<7)

5、(dat>>1);}return(dat);}voidtmwbyte(unsignedchardat)//写一个字节{unsignedcharj,i;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;

6、dat=dat>>1;if(testb){TMDAT=0;//写0i++;i++;TMDAT=1;for(i=0;i<8;i++);}else{TMDAT=0;//写0for(i=0;i<8;i++);TMDAT=1;i++;i++;}}}voidtmstart(void)//发送ds1820开始转换{fashong();//复位yanshi(1);//延时tmwbyte(0xcc);//跳过序列号命令tmwbyte(0x44);//发转换命令44H,}voidtmrtemp(void)//读取温度{unsignedchara,b;fashong();//复位yanshi

7、(1);//延时tmwbyte(0xcc);//跳过序列号命令tmwbyte(0xbe);//发送读取命令a=tmrbyte();//读取低位温度b=tmrbyte();//读取高位温度if(b>0x7f)//最高位为1时温度是负{a=~a;b=~b+1;//补码转换,取反加一fg=0;//读取温度为负时fg=0}sdata=a/16+b*16;//整数部分//xiaoshu1=(a&0x0f)*10/16;//小数第一位//xiaoshu2=(a&0x0f)*100/16%10;//小数//xiaoshu=xiaoshu1*10+xiaoshu2;//小数}voidDS

8、18B20PRO(void){tmstart();//yanshi(5);//如果是不断地读取的话可以不延tmrtemp();//读取温度,执行完毕温度将存于}voidLed(){if(fg==1)//温度为正时显示的数据{P2_7=0;P0=seg7code[sdata/10];//输出十位Delay(8);P2=P2

9、0xf0;P2_6=0;P0=seg7code[sdata%10]

10、0x80;//输出个位Delay(8);P2=P2

11、0xf0;P2_5=0;P0=seg7code[j%10]

12、0x80;//输出延时位De

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

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

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