测控单片机课程设计报告(基于温度传感器)

测控单片机课程设计报告(基于温度传感器)

ID:36296807

大小:712.50 KB

页数:11页

时间:2019-05-08

测控单片机课程设计报告(基于温度传感器)_第1页
测控单片机课程设计报告(基于温度传感器)_第2页
测控单片机课程设计报告(基于温度传感器)_第3页
测控单片机课程设计报告(基于温度传感器)_第4页
测控单片机课程设计报告(基于温度传感器)_第5页
资源描述:

《测控单片机课程设计报告(基于温度传感器)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《单片机原理与接口技术》课程设计报告实验名称:基于DS18B20温度传感器设计系(院):控制工程学院专业班级:测控技术与仪器1301实验日期:2015年5月20日指导老师:李红波1.组员及任务安排:组长:姚冲学号:1304091019负责任务:程序设计与编写组员1:杨稀智学号:1304091018负责任务:硬件搭建与调试组员2:学号:负责任务:组员3:学号:负责任务:组员4:学号:负责任务:2.目的要求:利用STC51单片机,DS18B20温度传感器与数码管制作数字温度显示装置,可以以数字形式显示当前温度值。3.仪器设备、软件、元器件:单片机:STCIAP1

2、5L2K61S2数字温度计:DS18B206位七段式数码管:KYX-3662BSC51编程软件:keiluvision4电气仿真:proteus7.5程序烧录软件:STC-IAP面包板,导线,按键,排阻,STC下载器以及其他元器件若干4.Proteus电路原理图5.实物运行图6.C语言程序代码:#include#include#include#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3^3;ucharcodesegcode[

3、]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x7F,0x8C,0xFF};//0123456789ABCDEF.p暗ucharcodebitcode[]={0x08,0x01,0x02,0x04,0x10,0x20};//个位,十位,百位,千位//1234uchardispbuff[]={0x00,0x00,0x00,0x00,0x00,0x00};typedefunion//定义联合体{uintT;uchartt[2];}myt;my

4、tTbuff;voidDelay10us()//@11.0592MHz{unsignedchari;_nop_();i=25;while(--i);}voidDelay54us()//@11.0592MHz{unsignedchari,j;_nop_();i=1;j=145;do{while(--j);}while(--i);}voidDelay90us()//@11.0592MHz{unsignedchari,j;_nop_();_nop_();_nop_();i=1;j=244;do{while(--j);}while(--i);}voidDelay50

5、0us()//@11.0592MHz{unsignedchari,j;_nop_();_nop_();i=6;j=93;do{while(--j);}while(--i);}voidDelay10ms()//@11.0592MHz{unsignedchari,j;i=108;j=145;do{while(--j);}while(--i);}voidDelay1000ms()//@11.0592MHz{unsignedchari,j,k;_nop_();_nop_();i=43;j=6;k=203;do{do{while(--k);}while(--j);}w

6、hile(--i);}voidDS18B20_Init(void){DQ=1;Delay90us();//DQ18B20初始化DQ=0;Delay500us();//单片机将DQ拉低//延时>480us540usDQ=1;Delay90us();//拉高总线15-60us//延时}ucharDS18B20_RByte(void){uchari=0;uchardat=0;for(i=8;i>0;i--){DQ=0;//单片机将DQ拉低dat>>=1;//将dat的各位数据位右移一位,因为先读出的是字节的最低位(dat=dat>>1)DQ=1;//给脉冲if(D

7、Q)//如果读出的数据是1dat

8、=0x80;//将1取出,写出dat的最高位Delay54us();//54us内读完一个数}return(dat);//将读出的数据返回}voidDS18B20_WByte(ucharwdat){uchari=0;for(i=8;i>0;i--)//连续读8个二进制数据{DQ=0;Delay10us();DQ=wdat&0x01;//写所给数据最低位Delay54us();DQ=1;//给脉冲wdat>>=1;//将dat的各位数据位右移一位,因为先读出的是字节的最低位(dat=dat>>1)}}uintDS18B20_R

9、_T(void){uchara=0;uintt=0;

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

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

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