DSP温度采集与显示设计程序

DSP温度采集与显示设计程序

ID:40534985

大小:66.00 KB

页数:7页

时间:2019-08-04

DSP温度采集与显示设计程序_第1页
DSP温度采集与显示设计程序_第2页
DSP温度采集与显示设计程序_第3页
DSP温度采集与显示设计程序_第4页
DSP温度采集与显示设计程序_第5页
资源描述:

《DSP温度采集与显示设计程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#includesbitDQ1=P1^3;sbitDQ2=P1^4;//温度输入口sbitDP=P1^2;inttable[]={0xff,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f},i,k,value,MSB,LSB,temp,ss,w1,w2,w3,w4;voiddelay_50us(intm){intj;for(;m>0;m--)for(j=5;j>0;j--);}voiddelay(intt){while(t--);}/****************DS18B20复位函数************

2、************/voidinit1(){DQ1=1;delay(8);DQ1=0;delay(80);//大约600u秒,在12M晶振下DQ1=1;delay(15);}/****************DS18B20写命令函数************************///向1-WIRE总线上写1个字节voidwrite_byte1(intdat)//写一个字节{for(i=0;i<8;i++){DQ1=0;DQ1=dat&0x01;//此条语句可延时1u秒delay(4);DQ1=1;dat>>=1;}delay(4);}/****************DS

3、18B20读1字节函数************************///从总线上取1个字节intread_byte1()//读一个字节{for(k=0;k<8;k++){DQ1=0;value>>=1;DQ1=1;//释放总线if(DQ1)value=value

4、0x80;delay(4);}returnvalue;}/****************读出温度函数************************/intread_temperature1()//读温度函数{init1();write_byte1(0xcc);//跳过ROM命令write_byte1(0x44);

5、//写转换指令delay(300);init1();write_byte1(0xcc);write_byte1(0xbe);//写读温度指令LSB=read_byte1();MSB=read_byte1();ss=MSB&0x0f8;if(ss==0x00){MSB<<=4;MSB=MSB

6、(LSB&0xf0)>>4;//整数部分?}else{DP=0;delay(50);DP=1;P2=7;P0=table[0];MSB=0x00;}returnMSB;}/****************温度数据处理函数************************/voiddisplay1

7、()//显示函数{while(MSB<10

8、

9、MSB>50){DP=0;delay(50);DP=1;P2=7;P0=table[0];read_temperature1();}P2=4;P0=0x40;delay_50us(5);P2=5;P0=table[temp/10+1];delay_50us(5);P2=6;//整数部分显示P0=table[temp%10+1]

10、0x80;delay_50us(5);LSB=LSB&0x0f;P2=7;P0=table[LSB%10+1];//小数部分显示delay_50us(5);}/****************DS18B20复位

11、函数************************/voidinit2(){DQ2=1;delay(8);DQ2=0;delay(80);//大约600u秒,在12M晶振下DQ2=1;delay(15);}/****************DS18B20写命令函数************************///向1-WIRE总线上写1个字节voidwrite_byte2(intdat)//写一个字节{for(i=0;i<8;i++){DQ2=0;DQ2=dat&0x01;//此条语句可延时1u秒delay(4);DQ2=1;dat>>=1;}delay(4);}/****

12、************DS18B20读1字节函数************************///从总线上取1个字节intread_byte2()//读一个字节{for(k=0;k<8;k++){DQ2=0;value>>=1;DQ2=1;//释放总线if(DQ2)value=value

13、0x80;delay(4);}returnvalue;}/****************读出温度函数************************/intread_temperatur

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

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

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