简单温度控制完整程序

上传人:新**** 文档编号:54262737 上传时间:2022-02-13 格式:DOCX 页数:16 大小:46.17KB
收藏 版权申诉 举报 下载
简单温度控制完整程序_第1页
第1页 / 共16页
简单温度控制完整程序_第2页
第2页 / 共16页
简单温度控制完整程序_第3页
第3页 / 共16页
资源描述:

《简单温度控制完整程序》由会员分享,可在线阅读,更多相关《简单温度控制完整程序(16页珍藏版)》请在装配图网上搜索。

1、简单温度控制完整程序#include#include#defineucharunsignedchar#defineuintunsignedintsbitrs=P3A4;sbitrw=P3A5;sbitep=P3A7;unsignedintsetl=30?set2=10;unsignedcharflag=O;sbitDQ=P1A7;定义通信端口sbitfengmingqi=P1A1;sbitjidianqi=PlA5;.codeiltiiarmayuan=,0,l,2,3,4y5,6r,r7,8r,r9,;codeucharaa=nwenduis:1*);codeucharbb=f1shedin

2、g:WpedefbitBOOL;unsignedchark,dat_wr8,dat_rd8;voidputchar(ucharweizhi,ucharda);3voiddelay(uchar);voidlcd_wcmd(uchar);BOOLlcd_bz();voidlcd_pos(uchar);voidlcd_wdat(uchar);voiddisplay(uchar,uchar*);voidlcdinit();voidlongdelay(uchars);voidkeyscan(void);BOOLlcd_bz()/测试LCD忙碌状态BOOLresult;rs=0;rw=1;result=(

3、BOOL)(P2&0x80);:外孑:k.&Tep=0;returnresult;voidlcd_wcmd(ucharcmd)/写入指令数据到LCDwhile(lcdbz();rs=0;rw=0;ep=0;P2=cmd;ep=1;ep=0;voidlcd_pos(ucharpos)设定显示位置RC:4,Cg%J:/Olcdwcmd(posI0x811);)voidlcdwdat(uchardat)写入字符显示数据到LCDwhile(lcd_bz();Oft、ep=1;ep=0;voidledJnit()/LCD初始化设定lcd_wcmd(0x38);/functionsetdelay;lcd_

4、wcmd(0x38);/functionsetdelay;Icd_wcmd(0x08);/displayon/offdelay;lcd_wcmd(0x01);清除LCD的显示内容delay(1);lcd_wcmd(0x06);/entrymodesetdelay(1);lcd_wcmd(0x0c);/entrymodesetdelay(l);/*函数名称:display()功能:在LCD上显示数组的数据说明:先写显示地址,后写显示数据调用:lcd_wcmd(),lcd_pos()入口参数:pos写入的位置,q指向要写入的数据所在的数组返回值:无*/voiddisplay(ucharpos,uc

5、har*q)uchari;/lcd_wcmd(0x01);/clear/delay(lO);lcd_pos(pos);for(i=0;i9;i+)kd_wdat(*q);q+;0Zflongdelay(2);voidputchar(ucharweizhi,ucharda)(delay(2);lcd_pos(weizhi);lcd_wdat(da);延时函数void delay(uchar ms)/延时子程序uchari;while(ms-)for(i=0;i4&mU.E*JrjggwrjwJwrpCMr|wrj*J,jwrjwr1*Jwrj*sIjp3%jJjp,必Tjr1#,!JrSjpy|

6、J*JW1-JJJWFjJiJWJ1JWJJW|Jli2mTiftfif*Jwrpirj*rjw0;i-)DQ=1;delay2(5);DQ=0;/给脉冲信号dat=l;*DQ=1;/给脉冲信号if(DQ)datl=0x80;delay2(5);DQ=1;return(dat);工1A:.H:4工.A:-二u:工.”:A:.,y31%Lf%2/i7,kLf1%27,2*rjvprjvr1*J*pr不rjvrj*jvprjvqpprrjv*j%rjvprjv1&2(mbi4bjut:M*产kifa&ialdUfrtA*“产6&i*jwrjrjwwj*rjwrj*J*rjw*J*rjwfmivmj

7、wrjJwrjrj*rjw*J*rjwfmivK*Jwrjwrjwwjwrj*rjwpi./.A0,4.%TjRkI7hT|jp%14lp.7/%f/i7/t0;i)pau|DQ=1;delay2(5);DQ=0;DQ=dat&OxOl;delay2(5);DQ=1;dat=l;,七)delay(5);)mfi,JrpkMwrjwrjwjjwf读取温度unsignedintReadTemperature(void)unsignedinta=0;unsignedintb=0;unsignedintt=0;Init_DS18B20();WriteOneChar(OxCC);/跳过读序号列号的操Wr

8、iteOneChar(Ox44);/启动温度转换delay2(200);Init_DS18B20();WriteOneChar(OxCC);跳过读序号列号的操。V作WriteOneChar(OxBE);读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();读低八位数据b=ReadOneChar();位读最高四位,一共十二/b=4;/b+=(a&0xf0)4;/b与a组成最高的八位c,算时舍去了最低四位,只保留5到12位(c*2*2*2*2*0.0625=c*l=c),所以c的值就是实测温度t=b+a;return(t);)main()(uintbai9shi,ge;floatv;intj;unsignedinti;fengmingqi=l;jidianqi=l;delay(lO);lcd_init();/初始化LCDdisplay(0x009aa);display(0x40,bb);while(l)i=ReadTemperature();/读温度i=i4;bai=i/100;shi=i%100/10;ge=i%10;putchar(0x0b,mayuanbai);putchar(0x0c,mayuanshi);putchar(0x0d,mayuange);J、C/-J

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!