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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于51的温度控制系统设计C语言源程序Word格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于51的温度控制系统设计C语言源程序Word格式.docx

1、II高温指示灯led_ok = P2A5;II温度正常指示灯led_work =戸2八4;II工作指示灯set =戸3八7;设置按键add = P3A4;II加一按键dec = P3A5;II减一按键定义变量和常量 int count = 0;存器/按键次数寄int h;/主函数用循环计数器uint temp; uchar r;数形式uchar high = 35,low = 20;/温度值温度值整/上下限初值共阳LED段码表3 456701289不亮uchar code LED_code12= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x 9

2、0;uchar code LED_code1= 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0 x10;uchar code ditab16= 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0 X06,0X06,0X07,0X08,0X08,0X09,0X09;小数部分转 换码表uchar data temp_data2 = 0x00,0x00;/存 储从传感器读出的温度值uchar data dp5 = 0x00,0x00,0x00,0x00,0x00;/显示单元数据,共4个数据和一个运算子函数声明vo

3、id ds_reset();始化函数一/DS18B20 初void ds write(uchar ds wrdata); 数据函数/DS18B20 写uchar ds read();读数据函数/DS18B20read temp();/读取温度函数void change_temp(uint tem);/温度数据处理void xianshi(int horl);/温度显示转换void display。;/数码管显示void keyscan();/按键查询void warn_led();/超限报警void delay(uint t); 单次25us/延时函数,*void main()LED=0x00

4、;口led1=0;Ied2=0;Ied3=0;Ied4=0;for(h=0;h4;h+) dph=8;while温度读取 uchar i; for(i=0;i0;i-) DQ=0;DQ=ds_wrdata&0X01; II 最低位移出delay(6);ds_wrdata=ds_wrdata/2; II 右移 1 位 一 一delay(1);I*函数名称:ds_read()I*函数功能:从 DS18B20读数据I*入口参数:I*输出参数:valueI*调用函数:i;value;帰*/ uchar ds_read(void) _ uchar value=0; value=1;if(DQ)value

5、|=0x80; return(value);/* 函数名称:read_temp()读温度数据数据/*输出参数:yempds_reset();ds_write();ds_read(); */temptemp_data;/传感器初始/发跳过读取/发温度转换读18B20中/读温度值的两字节合成/返回温度值化_delay(200); ds_write(0xcc);序列号命令ds_write(0x44);命令ds_write(0xcc);ds_write(0xbe);存储器temp_data0=ds_read();低字节命令temp_data1=ds_read();高字节一 一temp=temp_dat

6、a1; tempvv=8; temp=temp|temp_data0;一个整型变量return temp;chang_temp()将温度传感器中独到的数据进行转 换 */temdp/* 全局变量:dp;ditab;r;*/ void change_temp(uint tem)/温度值正uchar n=0;if(tem6348)负判断tem=65536-tem;/负温度求补码n=1;标志位置1dp4=tem&0x0f;分的值dp0=ditabdp4;分显示值dp4=tem位,即整数部分的值dp3=dp4/100;dp1=dp4%100;数据dp2=dp1/10;dp1=dp1%10;r=dp1+

7、dp2*10+dp3*100;(十进制)if(!dp3)断 dp3=0x0a;不显示dp2) dp2=0x0a;/取小数部/存入小数部/取中间八/取百位数据/取后两位/取十位数据/个位/实际温度值/符号位显示判/最高位为0时/次高位为0时不显示if何 dp3=0x0b; /负温度时最高位显示II IIxianshi()温度数据转换成显示所需 LED段码horldp;n;void xianshi(int horl) int n=0; if(horl128) horl=256-horl; n=1; dp3=horl/100; dp3=dp3 & dp2=horl%100/10; dp1=horl%

8、10; dp0=0;dp3) dp3=0x0a; if(!dp2) dp2=0x0a; if(n) /负数补码转换/百位十位小数位/高位为零不显示负数最高位显示dp3=0x0b;display。数码管显示delay()LED_code;LED_code1;*/ /*Ied1;led2;led3;led4;j;f*/ void display。 int j;for(j=0;j=3) /set键按下三次回到温度显示状态count=0; break;warned()工作情况指示灯控制void warn_led() _ if(rhigh) led_low=1; led_high=0; led_ok =1; buzzer = 0; else if(rt-);/*/程序结束

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1