首页 电子温度计设计与调试实验报告

电子温度计设计与调试实验报告

举报
开通vip

电子温度计设计与调试实验报告 黄淮学院综合实验报告 ——单片机课程设计 学生姓名:              学    号:      ,      所在院(系):电子科学与工程系  班    级:电子科学与技术1201B班 专    业:  电子科学与技术    指导老师:                实验题目:电子温度计设计与调试实验 一、实验要求与目的 1、设计要求 1、了解一线总线技术在单片机系统中的应用。 2、熟悉数字温度传感器DS18B20扩展接口和编程方法。 3、掌握单片机应用系统开发步骤和方法。 2、实...

电子温度计设计与调试实验报告
黄淮学院综合实验报告 ——单片机课程设计 学生姓名:              学    号:      ,      所在院(系):电子科学与工程系  班    级:电子科学与技术1201B班 专    业:  电子科学与技术    指导老师:                实验题目:电子温度计设计与调试实验 一、实验要求与目的 1、设计要求 1、了解一线总线技术在单片机系统中的应用。 2、熟悉数字温度传感器DS18B20扩展接口和编程方法。 3、掌握单片机应用系统开发步骤和方法。 2、实验目的 1、    利用Proteus软件设计仿真电路原理图。 2、    系统控制能够完成: (1)    每隔1s,读取温度传感器数据,并转换结果从串口送到虚拟终端显示。 (2)    设计一温度报警电路,当温度≤20℃或≥28℃时,有声、光、文字提示。要求上限报警和下限报警具有明显的区别。报警器件选择 建议 关于小区增设电动车充电建议给教师的建议PDF智慧城市建议书pdf给教师的36条建议下载税则修订调整建议表下载 :声-蜂鸣器;光-LED;文字-LED显示器或LCD显示器。 2、实验原理 实验电路原理图: AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机;8重达林顿反相驱动器ULN2803包含8个NPN达林顿管,是一种大功率驱动芯片,多用于智能仪器、PLC、步进电机控制,具有工作电压高,电路增益高,可以提供大功率负载的特点,适应于各种功率驱动电路;数码管显示模块能显示电机的转速和电机的运动趋势,方便直观。    软件主要模块流程图: 3、设计思路 本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。 单片机89C52是本设计中的控制核心,是一个40管脚的集成芯片构成。引脚部分:单片机引脚基本电路部分与普通设计无异,40脚接Vcc+5V,20脚接地。X1,X2两脚接12MHZ的晶振,可得单片机机器周期为1微秒。RST脚外延一个RST复位键,一端通过10K电阻接Vcc,一端通过10K电阻接地。AT89S52是一种低功耗、高性能的8位CMOS微控制器,具有8K的可编程Flash 存储器。 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小。 四、实验内容 1、打开ISIS 7 Professional,参照按照实验要求设计仿真电路原理图。 2、编写程序实现:DS18B20的读写系统控制。 5、实验数据记录 开始时 调到10时 调到30时 调到60时 编写的程序如下: #include #include #define uchar unsigned char #define uint unsigned int sbit DQ=P2^7; uchar T; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void delay1(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay(uint N)//廷迟时间为(24+N*16)us { int i; for(i=0;i>= 1;        //右移一位 } } uchar read() { uint i, value=0; DQ=1; _nop_();            //一个机器周期:(1/11.0952(即晶振频率))*12=1.085us for (i=0; i<8; i++) { value = value>>1; //15us 之内必须读完一位 DQ = 0;          //设i=0 :value=0101 0101  >>1  得到:0010 1010 _nop_();          // 读到的DQ=1,0010 1010|1000 0000=1010 1010 _nop_();              // i=1:  value=01010101 DQ = 1;                  //读到的DQ=0,  value=01010101 _nop_();              //i=2:  value=0010 1010 _nop_();  if (DQ)          //先读最低位 value|=0x80; delay(2);        // 56us DQ=1; } return(value); } void display(uchar num) { uchar a,b; a=num/10; b=num%10; P0=table[a]; P2=0xfe; delay1(5); P2=0xff; delay1(5); P0=table[b]; P2=0xfd; delay1(5); P2=0xff; delay1(5); } uchar  read_wen_du() {    uchar HB,LB,temp; init();                                //  复位 write(0xcc);                  //  跳过ROM  即不必读64位序列号的ROM write(0x44);                  //  启动温度转换 init(); write(0xcc);                    //  跳过ROM  即不必读64位序列号的ROM write(0xbe);                    //  读命令 LB=read();                    //  低八位 1011 1010 HB=read();                    //  高八位 1111 1010 HB=HB<<4;                            //        1011 000 HB+=(LB&0XF0)>>4;    //  (LB&0xF0)=1011 0000  >>4 :0000 1011  +HB :1010 1011 temp=HB; return temp;                  //  返回温度值 } void main() { while(1) {        T=read_wen_du(); display(T); } } 六、实验总结 通过本次试验我进一步了解了一线总线技术在单片机系统中的应用,并熟悉了数字温度传感器DS18B20扩展接口和编程方法。同时掌握了单片机应用系统开发步骤和方法。然后利用其操作方法进行并完成了电子温度计设计与调试实验。 7、实验心得 通过本次试验课,我们进一步熟悉了运用Proteus软件进行仿真调试,使我对这个软件应用更加熟悉准确,使我掌握了在嵌入式试验中仿真和调试的办法,以及最终实现实验的过程,并让我对Proteus这个软件有了更深入的了解。 八、指导教师评语和成绩评定: 实验报告成绩: 指导教师签字: 年  月  日
本文档为【电子温度计设计与调试实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_591137
暂无简介~
格式:doc
大小:45KB
软件:Word
页数:0
分类:互联网
上传时间:2019-09-02
浏览量:23