1、电子温度计设计与调试实验报告黄淮学院综合实验报告单片机课程设计学生姓名: 学 号: 所在院(系):电子科学与工程系班 级:电子科学与技术 1201B班专 业: 电子科学与技术 指导老师:实验题目:电子温度计设计与调试实验、实验要求与目的1、设计要求1、了解一线总线技术在单片机系统中的应用。2 、熟悉数字温度传感器 DS18B2(扩展接口和编程方法。3、掌握单片机应用系统开发步骤和方法。2、实验目的(1) 每隔1s,读取温度传感器数据,并转换结果从串口送到虚拟终 端显示。(2) 设计一温度报警电路,当温度W 20C或28r时,有声、光、文 字提示。要求上限报警和下限报警具有明显的区别。 报警器件
2、选择建议: 声-蜂鸣器;光-LED;文字-LED显示器或LCD显示器。二、实验原理实验电路原理图:AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS位微处理器,俗称单片机;8重达林顿反相驱动器ULN2803包含8个NPM林顿管,是种大功率驱动芯片,多用于智能仪器、 PLG步进电机控制,具有工作电压高,电路增益高,可以提供大功率负载的特点,适应于各种功率驱动电路;数码管显 示模块能显示电机的转速和电机的运动趋势,方便直观。软件主要模块流程图:*SKI檢骑Tr、确Y秽J輙丄 uK琴本数字温度计设计采用美国 DALLAS半导体公司继DS1820之后推出的一种改 进型智能温度传感器
3、DS18B20乍为检测元件,测温范围为-55125C,最高分辨 率可达0.0625 C。DS18B2(可以直接读出被测温度值,而且采用三线制与单片机 相连,减少了外部的硬件电路,具有低成本和易使用的热点。单片机89C52是本设计中的控制核心,是一个40管脚的集成芯片构成。弓I脚 部分:单片机引脚基本电路部分与普通设计无异, 40脚接VCC+5V, 20脚接地。XI, X2两脚接12MHZ勺晶振,可得单片机机器周期为 1微秒。RST脚外延一个 RST复位键,一端通过10K电阻接Vcc, 端通过10K电阻接地。AT89S52是一 种低功耗、高性能的8位CMO微控制器,具有8K的可编程Flash存储
4、器。DS18B2(的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因 分辨率不同而不同,且温度转换时的延时时间由 2s减为750ms DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小。四、实验内容1、 打开ISIS 7 Professional ,参照按照实验要求设计仿真电路原理图。2、 编写程序实现:DS18B20勺读写系统控制。五、实验数据记录开始时调到10时调到30时调到60时编写的程序如下:#in elude #in elude vintrin s.h#defi ne uchar un sig ned char #defi ne uint un sig ne
5、d int sbit DQ=P2A7;uchar T;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f;void delay1( uint z)ui nt x,y; for(x=z;x0;x-)for(y=110;y0;y-);void delay(uint N)/ 廷迟时间为(24+N*16 ) us int i;for(i=0;iN;i+);/*void in it()bit flag=1;while (flag)while (flag)DQ = 1;_n op_();DQ = 0; delay(50);
6、DQ = 1; dela y(3);flag = DQ;delay(10); flag = DQ;DQ=1;/*两个初始换都可以/*/ void in it()DQ=1;delay(0);DQ=0;delay(50);/廷迟 24+50*16=824usDQ=1;delay(3);/48usdelay(10);/184usDQ=1;void write(uchar date) uint i;for (i=0; i= 1;将0写入/56us即将最/右移一位uchar read()uint i, value=0;DQ=1;_nop_();for (i=0; i1; /15us 之内必须读完一位 D
7、Q = 0;_n op_();_n op_();DQ = 1;_n op_();_n op_();if (DQ) value|=0x80; delay(2);DQ=1; return(value);void dis pl ay(uchar num)uchar a,b;a=nu m/10;b=n um%10;/一个机器周期:(1/11.0952(即晶振频率)*12=1.085us/设 i=0 :value=0101 0101 1 得到:0010 1010/ 读到的 DQ=1 , 0010 1010 I 1000 0000=1010 1010 / i=1: value=01010101/读到的 D
8、Q=0, value=01010101/i=2: value=0010 1010/先读最低位/ 56usP 0=tablea;P 2=0xfe;delay1(5);P 2=0xff;delay1(5);P 0=tableb;P 2=0xfd; delay1(5);P 2=0xff;delay1(5);uchar read_we n_du() void mai n()while(1)uchar HB,LB,te mp;ini t();/复位write(0xcc);/跳过ROM 即不必读64位序列号的ROMwrite(0x44);/启动温度转换ini t();write(0xcc);/跳过ROM
9、即不必读64位序列号的1write(0xbe);/读命令LB=read();/低八位1011 1010HB=read();/高八位1111 1010HB=HB4;/(LB&0xF0)=1011 0000 4 :00001011temp=HB;return temp;/返回温度值1011ROM+HB :1010T=read_we n_du(); dis play(T);六、实验总结通过本次试验我进一步了解了一线总线技术在单片机系统中的应用,并熟悉了数字温度传感器 DS18B2(扩展接口和编程方法。同时掌握了单片机应用系统开发步骤和方法。然后利用其操作方法进行并完成了电子温度计设计与调试实验。七、实验心得通过本次试验课,我们进一步熟悉了运用 Proteus软件进行仿真调试,使我对这个软件应用更加熟悉准确, 使我掌握了在嵌入式试验中仿真和调试的办法,以及最终实现实验的过程,并让我对Proteus这个软件有了更深入的了解。八、指导教师评语和成绩评定:实验报告成绩:指导教师签字:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1