数字体温计protues仿真图和程序.docx

数字体温计protues仿真图和程序.docx

ID:62711059

大小:208.70 KB

页数:19页

时间:2021-05-17

数字体温计protues仿真图和程序.docx_第1页
数字体温计protues仿真图和程序.docx_第2页
数字体温计protues仿真图和程序.docx_第3页
数字体温计protues仿真图和程序.docx_第4页
数字体温计protues仿真图和程序.docx_第5页
资源描述:

《数字体温计protues仿真图和程序.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、willCurrentTen?!TEriP;36力BSs2l^£A&SXSS^丽珅用均则吗V'tMM・*4■PAMWFU4E-3PUdE-lPUMBflPMJM,3户flJvlf=i■AMIJUM-?p»i-9fwtrm-iw38WJD小■■M-1^系统程序#include#include#defineucharunsignedchar#defineuintunsignedintsbitBUFFER=P1A5;sbitDQ=P3A7;sbitlcdrs=P2A6;sbitlcden=P2A7;sbit

2、lcdrw=P2A5;sbitAN=P2A0;sbitAM=P2A1;ucharcodeTemp_Disp_Title□={"CurrentTemp:"};uchartemp_buffer[]={"TEMP:"};ucharcodexs[]={0,1,1,2,334,4,5,6,6,7,8,8,9,9};仞、数位ucharTemp_value[]={0x00,0x00};//为DS18B20读取的字节分配地址ucharDisplay_Digit[]={0,0,0,0};uintT;voiddelay(uint);voiddelay1602(ui

3、nt);voidinit_ds18b20();voidwrite_byte(uchardate);voiddisplay_temp();voidwrite_com(uchar);voidwrite_2(uchar);voidinit1602();ucharread_byte();voidread_temp();voidmain(){bitzhi=0;AN=1;init1602();//1602初始化read_temp();//读取温度delay(50000);while(1){read_temp();if(zhi==0)display_temp

4、();//按键没有按下时显示温度if(Display_Digit[2]>2)//设定报警温度if(zhi==0)BUFFER=0;delay(2000);BUFFER=1;delay1602(1);if(AN==0)//检测按键{delay1602(5);//去抖if(AN==0)//按下按键{zhi=~zhi;//while(1);//保持当前温度while(!AN);//松手检测}}voiddelay(uintt){while(t--);}voiddelay1602(uintz){uintx,y;for(x=z;x>0;x--)for(y=

5、110;y>0;y--);}/****************************初始化,检测DS18B20是否在线*****************************/voidinit_ds18b20(){DQ=1;delay(8);DQ=0;delay(85);DQ=1;delay(14);delay(5);}voidwrite_byte(uchardate){uchari;for(i=0;i<8;i++){DQ=0;//写数据前将数据线拉低DQ=date&0x01;//从最低位开始写delay(5);//留出ds18b20采样时

6、间DQ=1;//采样完将数据拉高,等待下一次采样date>>=1;〃date右移一位}delay(5);}ucharread_byte(){uinti,value;for(i=0;i<8;i++){DQ=0;value>>=1;//右移一位,同时起延时作用DQ=1;if(DQ==1)value

7、=0x80;//R高位开始读delay(5);}returnvalue;}voidread_temp(){init_ds18b20();whte_byte(0xcc);//跳过ROMwhte_byte(0x44);//启动温度测量delay(200);/

8、/给出温度测量时间init_ds18b20();whte_byte(0xcc);//跳过ROMwhte_byte(0xbe);//读取温度}voiddisplay_temp(){uinti;Temp_value[0]=read_byte();Temp_value[1]=read_byte();Display_Digit[0]=xs[Temp_value[0]&0x0f];//显示小数位T=((Temp_value[0]&0xf0)>>4)

9、((Temp_value[1]&0x07)<<4);Display_Digit[3]=T/100;//百位

10、Display_Digit[2]=T%100/10;//十位Display_Digit[1]=T%10;//个位temp_buffer[11]=Dis

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

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

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