ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:413KB ,
资源ID:3185862      下载积分:10 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-3185862.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于stm32的智能家居设计原理(免费版).doc)为本站会员(顺腾)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

基于stm32的智能家居设计原理(免费版).doc

1、t tempreadbit(void);uchar tempread(void);void tempwritebyte(uchar dat);void tempchange(void);uint get_temp();uchar keyscan(void);/*定时器0和中断系统初始化*/void init() HEAT=1; TMOD=0x11; TH0=(65536-1000)/256; /1ms时基 TL0=(65536-1000)%256; TH1=(65536-1000)/256; TL1=(65536-1000)%256; ET0=1; ET1=1; EA=1; TR0=1;voi

2、d main()init();while(1) switch(keyscan_num)case 0:P20=1;P21=1;P22=1;P23=1;P0=0xbf; break;case 1:if(wendu_value(set_temp_H*10)COOLING=0;H_warn=0;elseCOOLING=1;H_warn=1;break; void timer0(void) interrupt 1static uchar timecount=0,timecount1=0,timecount3=0;TR0=0;TH0=(65536-1000)/256;TL0=(65536-1000)%25

3、6;timecount+;timecount1+;timecount3+;if(timecount=5)timecount=0; if(keyscan_num=1)display();if(timecount1=200)timecount1=0;tempchange();wendu_value=get_temp();if(timecount3=50)timecount3=0;keyscan_num=keyscan();TR0=1;void timer1(void) interrupt 3 static uchar timecount2=0;TR1=0;TH1=(65536-1000)/256;

4、 TL1=(65536-1000)%256;timecount2+;if(timecount2=200)timecount2=0;time20ms=!time20ms; TR1=1;/*数码管显示子程序*/void display()temp_shi=wendu_value/100;temp_ge=wendu_value%100/10;temp_xiaoshu=wendu_value%100%10;P20=0;P21=0;P22=0;P23=0;if(temp_wela=0)P0=tabletemp_shi;P20=1; if(temp_wela=1)P0=tabletemp_ge+10;P2

5、1=1;if(temp_wela=2)P0=tabletemp_xiaoshu;P22=1;temp_wela+;if(temp_wela=3)temp_wela=0;/*温度读取子程序*/void delay(uint delay_x)uint x,y; for(x=delay_x;x0;x-)for(y=110;y0;y-);void dsreset(void) /DS18B20复位,初始化函数uint i;ds=0;i=103;while(i0)i-;ds=1;i=4;while(i0)i-;bit tempreadbit(void) /读一位数据函数uint i;bit dat;ds=

6、0;i+;ds=1;i+;i+;dat=ds;i=8;while(i0)i-;return(dat);uchar tempread(void) /读1个字节数据函数uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tempreadbit();dat=(j1); /读出的数据最低位在最前面,这样刚好一个字节在dat里return(dat);void tempwritebyte(uchar dat) /向DS18B20写一个字节数据函数uint i;uchar j;bit testb;for(j=1;j1;if(testb) /写1ds=0;i+;i+;ds=1;i=8;w

7、hile(i0)i-;elseds=0; /写0i=8;while(i0)i-;ds=1;i+;i+;void tempchange(void) /DS18B20开始获取温度并转换dsreset();delay(1);tempwritebyte(0xcc); /写跳过读ROM指令tempwritebyte(0x44); /写温度转换指令uint get_temp() /读取寄存器中存储的温度数据uchar a,b;dsreset();delay(1);tempwritebyte(0xcc); tempwritebyte(0xbe);a=tempread(); /读低8位b=tempread()

8、; /读高8位temp=b;temp=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp+0.05;return temp; /temp是整型/*键盘子程序*/uchar keyscan(void)static uchar k=0;uchar Trg,Cont,ReadData;P3=0xff;ReadData=P30xff;Trg=ReadData&(ReadDataCont);Cont=ReadData;switch(Trg)case 0x01:k=1;break;case 0x02:k=2;break;case 0x04:k=3;break;case 0x08:k=4;break;return(k);4 总结.

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报