单片机温度测试报告
- 格式:doc
- 大小:902.00 KB
- 文档页数:10
桂林航院电子工程系单片机课程设计与制作说明书设计题目:DS18B20数字温度计的设计专业:通信技术班级:学号:姓名:指导教师:2012年 6 月 28 日桂林航天工业学院单片机课程设计与制作成绩评定表单片机课程设计与制作任务书专业:通信技术学号: 2 姓名:一、设计题目:DS18B20数字温度计的设计二、设计要求:1.要求采集温度精确到度。
2.显示测量温度三、设计内容:硬件设计、软件设计及样品制作四、设计成果形式:1、设计说明书一份(不少于4000字);2、样品一套。
五.完成期限: 2010 年月日指导教师:贾磊磊年月日教研室:年月日目录一摘要 (1)设计要求 (1)二理论设计 (2)硬件电路计 (2)2.1.1芯片介绍 (2)2.1.2 DS18B20简介 (7)设计方案 (9)2.2.1.显示方案 (9)2.2.2.系统硬件电路设计 (11)2.2.3软件设计流程及描述 (11)三.系统的调试 (13).硬件的调试 (13)实验结果 (19)四、设计注意事项 (19)点阵设计注意事项 (20)单片机注意事项 (16)仿真器使用注意事项 (16)五.设计心得体会 (17)总结与体会 (17)摘要在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
其中,温度控制也越来越重要。
在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
因此,单片机广泛用于现代工业控制中。
本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。
《单片机原理及应用》课程设计报告书课题名称基于数字温度传感器的数字温度计姓名学号专业指导教师机电与控制工程学院年月日填写说明1、正文部分:(1)标题与正文格式定义标准如下:一级标题:1.标题1二级标题:1.1标题2三级标题:1.1.1标题3四级标题:1.1.1.1标题4(2)表格:尽可能采用三线表。
(3)图形:直接插入的插图应有图标、图号,不能直接插入的图应留出插图空位。
图中文字、符号书写要清楚,并与正文一致。
(4)文字表述:要求层次清楚,语言流畅,语句通顺,无语法和逻辑错误,无错字、别字、漏字。
文字的表述应当以科学语言描述研究过程和研究结果,不要以口语化的方式表达,报告中科技术语和名词应符合规定的通用词语,并使用法定计量单位和标准符号。
2、参考文献:(1)数量要求:参考文献只选择最主要的列入,应不低于5种。
(2)种类要求:参考文献的引用,可以是著作[M]、论文[J]、专利文献[P]、会议论文等。
(3)文献著录格式及示例。
参考文献用宋体五号字。
[1] 作者. 书名[M]. 版次. 出版地: 出版者, 出版年: 起止页码(著作图书文献)[2] 作者. 文章名[J]. 学术刊物名称. 年. 卷(期): 起止页码(学术刊物文献)示例:[1]王社国,赵建光。
基于ARM的嵌入式语音识别系统研究 [J]。
微计算机信息,2007,2-2:149-150.3、附录或附件:(可选项)重要的测试结果、图表、设计图纸、源程序代码、大量的公式、符号、照片等不宜放入正文中的可以附录形式出现。
4、如果需要可另行附页粘贴。
任务书1. 设计要求利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量范围为−55℃~125℃,精确到0.5℃。
数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
STC89C52单片机调试报告The debugging report of STC89C52MCU姓名:***专业:电子信息工程时间:2011年8月2日STC89C52单片机调试报告摘要:通过这次对单片机最小系统的焊接与调试,我对单片机内部结构有了深入的了解,并且学会了利用单片机扩展其他模块,对单片机的外围器件已经能熟练地操作,自己亲自焊接与调试,发现了自己画的PCB 板有许多问题,经过不断的调试,最后顺利完成了52单片机基本外围器件的调试和扩展,这次52单片机外围器件的调试为我以后参加比赛奠定了基础。
【本科组】1.技术讨论:STC89C52是一种八位的单片机,共40个引脚,五个中断源,三个内部中断,分别为定时器0,定时器1,串口中断,两个外部中断,分别为外部中断0和外部中断1,4个双向的I/O口可以用来扩展外部器件和存储器。
除此之外,利用单片机的ALE和PSEN引脚也可以扩展外部存储器。
如果外部器件需要时钟信号,可以利用单片机的定时器作外部器件的时钟,由于单片机正常工作的时候ALE 引脚会输出6分频的方波,所以时钟信号也可以接单片机的ALE引脚。
2.技术路线:我用的PCB板是自己画的,板子上除了STC89C52单片机主控芯片外,主要模块有:四位数码管,两位数码管,蜂鸣器,虚拟串口,矩阵键盘,电源指示灯,时钟芯片DS1302,温度传感器DS18B20,12864液晶,诺基亚液晶,除此之外,我利用单片机外围引脚的排针扩展了ADC0809,DS18B20多点测温。
3.硬件设计:3.1数码管部分采用的是四位共阴数码管,段选通过单片机的P2口控制,位选通过P0.4-P0.7控制,驱动用的是8050NPN数码管,R5-R8的作用是限流,防止电流过大烧坏数码管,R1-R4的作用也是限流作用,防止电流过大烧坏单片机。
3.2复位电路单片机的第九脚只要出现连续两个机器周期以上的高电平就恢复位,复位电路上电容采用的是10UF,电阻中的阻值是10K。
stm32 实验报告STM32 实验报告一、引言STM32是一款由STMicroelectronics公司推出的32位单片机系列,具有高性能、低功耗和丰富的外设资源等特点。
本篇实验报告将介绍我在学习和实践STM32过程中的一些经验和成果。
二、实验目的本次实验的目的是通过使用STM32单片机,实现一个简单的温度监测系统。
通过该实验,我希望能够熟悉STM32的开发环境,掌握基本的硬件连接和编程方法,并能够成功运行一个简单的应用程序。
三、实验步骤1. 硬件连接:将STM32单片机与温度传感器、LCD显示屏等硬件设备连接起来。
确保连接正确,避免短路或接触不良的情况。
2. 开发环境搭建:下载并安装STM32CubeIDE,配置开发环境。
这是一个集成开发环境,支持STM32系列的开发和调试。
3. 编写代码:使用C语言编写一个简单的程序,实现温度传感器数据的读取和显示。
在编写代码过程中,需要熟悉STM32的寄存器和外设配置,以及相关的函数库。
4. 编译和烧录:将编写好的代码进行编译,生成可执行文件。
然后使用JTAG或SWD接口将可执行文件烧录到STM32单片机中。
5. 测试和调试:将STM32单片机连接到电源,观察LCD显示屏上是否正确显示当前的温度数值。
如果有错误或异常情况,需要进行调试和排查。
四、实验结果经过以上的实验步骤,我成功地实现了一个简单的温度监测系统。
在LCD显示屏上,我可以清晰地看到当前的温度数值,并且该数值能够实时更新。
通过与实际温度计的对比,我发现该系统的测量结果相当准确。
五、实验总结通过这次实验,我对STM32单片机的开发和应用有了更深入的了解。
我学会了如何搭建开发环境、编写代码、编译和烧录程序,并且成功实现了一个简单的应用。
在实验过程中,我也遇到了一些问题,但通过查阅资料和与同学的交流,我能够及时解决这些问题。
在今后的学习和实践中,我将进一步探索STM32单片机的功能和应用领域。
我希望能够深入研究更复杂的项目,并挖掘出更多的潜力。
stm32f1温度报警系统实验报告STM32F1温度报警系统实验报告1. 引言1.1 背景1.2 目的1.3 实验内容2. 实验器材和方法2.1 实验器材2.2 实验方法3. 硬件设计3.1 硬件连接图3.2 温度传感器选型和连接方式4. 软件设计4.1 系统架构图4.2 主程序流程图4.3 温度采集和处理算法5. 实验结果与分析5.1 温度采集结果显示界面截图及解释5.2 温度报警功能测试结果与分析6. 讨论与改进方向6.1 讨论实验中可能出现的问题及解决方案6.2 对实验系统的改进方向提出建议7. 结论8. 参考文献9. 致谢1 引言本报告旨在介绍STM32F1温度报警系统的设计与实现。
通过该系统,可以实时监测环境温度,并在温度超过设定阈值时触发报警。
本报告将详细介绍硬件设计、软件设计、实验结果与分析等内容。
1.1 背景温度监测与报警系统在工业生产、仓储物流等领域具有重要应用价值。
通过实时监测环境温度,可以及时采取措施避免设备过热、产品损坏等问题的发生。
1.2 目的本实验旨在利用STM32F1单片机设计一个温度报警系统,能够实时采集环境温度,并在温度超过设定阈值时触发报警。
1.3 实验内容本实验的主要内容包括:- 设计硬件电路连接,包括STM32F1单片机与温度传感器的连接;- 编写软件程序,实现温度采集和处理算法;- 测试系统功能,包括温度采集结果显示和报警功能。
2 实验器材和方法2.1 实验器材本实验使用的主要器材包括:- STM32F1开发板- 温度传感器模块- 电阻、电容、LED等元件- 面包板、杜邦线等连接线2.2 实验方法根据硬件连接图进行电路搭建,并将STM32F1开发板与计算机连接。
编写软件程序并烧录到STM32F1开发板上。
通过串口或LCD显示屏等方式,实时监测温度采集结果,并测试报警功能。
3 硬件设计3.1 硬件连接图(此处应插入硬件连接图)3.2 温度传感器选型和连接方式根据实验要求,我们选择了DS18B20数字温度传感器作为温度采集模块。
课程实训报告《单片机技术开发》专业:机电一体化技术班级: 104201学号: 10420134姓名:杨泽润浙江交通职业技术学院机电学院2012年5月29日目录一、DS18B20温度测量与控制实验目的……………………二、DS18B20温度测量与控制实验说明……………………三、DS18B20温度测量与控制实验框图与步骤……………………四、DS18B20温度测量与控制实验清单……………………五、DS18B20温度测量与控制实验原理图…………………六、DS18B20温度测量与控制实验实训小结………………一、实验目的1.了解单总线器件的编程方法。
2.了解温度测量的原理,掌握 DS18B20 的使用。
二、实验说明本实验系统采用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。
Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
DS18B20测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20 内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。
DS18B20 的管脚排列如下: DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。
光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。
单片机C语言课题设计报告设计题目:温度检测电气系2011级通信技术一班级通信技术一班通才达识,信手拈来通才达识,信手拈来1摘要本课题以51单片机为核心实现智能化温度测量。
利用18B20温度传感器获取温度信号,将需要测量的温度信号自动转化为数字信号,利用单总线和单片机交换数据,最终单片机将信号转换成LCD 可以识别的信息显示输出。
基于STC90C516RD+STC90C516RD+的单片机的智能温度检测系统,的单片机的智能温度检测系统,设计采用18B20温度传感器,其分辨率可编程设计。
本课题设计应用于温度变化缓慢的空间,综合考虑,以降低灵敏度来提高显示精度。
设计使用12位分辨率,因其最高4位代表温度极性,故实际使用为11位半,位半,而温度测量范围为而温度测量范围为而温度测量范围为-55-55-55℃~℃~℃~+125+125+125℃,℃,则其分辨力为0.06250.0625℃。
℃。
设计使用LCD1602显示器,可显示16*2个英文字符,显示器显示实时温度和过温警告信息,和过温警告信息,传感器异常信息设。
传感器异常信息设。
传感器异常信息设。
计使用蜂鸣器做警报发生器,计使用蜂鸣器做警报发生器,计使用蜂鸣器做警报发生器,当温度超过当温度超过设定值时播放《卡农》,当传感器异常时播放嘟嘟音。
单片机C 语言课题设计报告语言课题设计报告电动世界,气定乾坤2目录一、设计功能一、设计功能................................. ................................. 3 二、系统设计二、系统设计................................. .................................3 三、器件选择三、器件选择................................. .................................3 3.1温度信号采集模块 (3)3.1.1 DS18B20 3.1.1 DS18B20 数字式温度传感器数字式温度传感器..................... 4 3.1.2 DS18B20特性 .................................. 4 3.1.3 DS18B20结构 .................................. 5 3.1.4 DS18B20测温原理 .............................. 6 3.1.5 DS18B20的读写功能 ............................ 6 3.2 3.2 液晶显示器液晶显示器1602LCD................................. 9 3.2.1引脚功能说明 ................................. 10 3.2.2 1602LCD 的指令说明及时序 ..................... 10 3.2.3 1602LCD 的一般初始化过程 (10)四、软件设计四、软件设计................................ ................................11 4.1 1602LCD 程序设计流程图 ........................... 11 4.2 DS18B20程序设计流程图 ............................ 12 4.3 4.3 主程序设计流程图主程序设计流程图................................. 13 五、设计总结五、设计总结................................. ................................. 2 六、参考文献六、参考文献................................. ................................. 2 七、硬件原理图及仿真七、硬件原理图及仿真......................... .........................3 7.1系统硬件原理图 ..................................... 3 7.2开机滚动显示界面 ................................... 4 7.3临界温度设置界面 ................................... 4 7.4传感器异常警告界面 (4)电气系2011级通信技术一班级通信技术一班通才达识,信手拈来通才达识,信手拈来3温度温度DS18B20 LCD 显示显示过温函数功能模块能模块传感器异常函数功能模块数功能模块D0D1D2D3D4D5D6D7XT XTAL2AL218XT XTAL1AL119ALE 30EA31PSEN29RST 9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115U180C51X1CRYST CRYSTAL ALC122pFC222pFGNDR110kC31uFVCCGND234567891RP1RESPACK-8VCC0.0DQ 2VCC 3GND 1U2DS18B20R24.7K LCD1LM016LLS2SOUNDERMUC八、程序清单八、程序清单................................. .................................5 一、设计功能·由单片机、温度传感器以及液晶显示器等构成高精度温度监测系统。
单片机测试报告引言单片机是嵌入式系统中常见的一种控制器件,广泛应用于各个领域,如家电、汽车、通信等。
本文旨在通过一个简单的示例,介绍如何进行单片机的测试。
设计目标本次测试的目标是验证单片机的基本功能以及IO口的正确工作。
我们将通过编写简单的程序,控制LED灯的亮灭来测试单片机的输出功能,同时通过按键输入来控制LED灯的状态。
硬件准备1.单片机开发板2.LED灯3.按键开关4.杜邦线软件准备1.单片机编程软件2.编译器硬件连接将LED灯的正极连接到单片机的一个IO口,负极连接到GND。
将按键开关的一端连接到单片机的另一个IO口,另一端连接到GND。
编写代码以下是一个简单的代码示例,用于控制LED灯的亮灭和按键输入:#include <reg52.h>sbit LED = P1^0;sbit BUTTON = P1^1;void delay(unsigned int time) {while (time--);}void main() {while (1) {if (BUTTON == 0) { // 按键按下时LED = ~LED; // LED状态取反delay(50000); // 延时一段时间}}}代码中,我们使用了8051系列的单片机,通过P1口来控制LED灯和读取按键输入。
当按键按下时,LED灯的状态会取反,并且通过延时函数延时一段时间来避免按键抖动。
编译和下载使用编译器将代码编译为单片机可执行的机器码,然后通过单片机编程软件将机器码下载到目标单片机上。
测试将开发板上电,并观察LED灯的状态。
当按键按下时,LED灯会切换亮灭状态。
通过不断按下按键,我们可以验证单片机的输入和输出功能是否正常工作。
结论通过本次单片机测试,我们成功验证了单片机的基本功能以及IO口的正确工作。
这对于后续的嵌入式系统开发和应用非常重要。
参考资料•《嵌入式系统设计与开发》•单片机开发板说明书。
一、实验原理DS18B20 测温原理如图 1.2 所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号发送给计数器1。
高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器 1 和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到0时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。
图 1.1 测温原理图二、测温系统硬件电路图本测温系统选择体积小、成本低、内带2KEEPROM的89C2051作为控制芯片,晶振采用12MHZ,用74LS07驱动四个LED数码管和一个继电器线圈从而驱动电加热设备。
P3.5口作为采集温度信号线,P1口作为显示数据线,与P3.3,P3.4组成显示的个位、十位及符号位,采用动态扫描显示。
在本系统中测控一路温度信号,DS18B20通过单总线方式连接在单片机的P3.5引脚上,可设定所需的温度测定值(包括上限值和下限值),P3.1引脚控制电热设备启动与停止,从而达到控制温度效果。
整个系统的硬件原理图如图2.1所示:图2.1 测温系统硬件原理图二、实验过程记录3.1 DS18B20控制过程DS18B20的操作是通过执行操作命令实现的,其中包含复位脉冲、响应脉冲、读、写时序,时序的具体要求如下:(1)复位脉冲:单片机发出一个宽为480—960μs的负脉冲之后再发出5—60μs的正脉冲,此时DS18B20会发出一个60—240μs的响应脉冲,复位时序结束。
也就是呼应阶段。
(2)写时间片:写一位二进制的信息,周期至少为61μS,其中含1μS的恢复时间,单片机启动写程序后15—60μs期间DS18B20自动采样数据线,低电平为“0”,高电平为“1”。
成绩:《单片机应用实践》报告专业:通信工程学号:姓名:指导老师:福州大学阳光学院电子信息工程系一.设计目的与意义随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。
无论是在工业方面,农业方面或者是平民大众的生活当中,我们都能看到温度计的身影。
传统的温度检测以热敏电阻和AD590为温度敏感元件。
热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差。
测温准确度低,检测系统也有一定的误差。
因此,利用新型温度传感器取代旧式的温度传感器是必然的趋势,新型的温度传感器的优势越来越得到体现,越来越普及。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。
本设计的温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,测温传感器使用DS18B20,LCD以串口传送数据,实现温度显示,能准确达到以上要求。
同时计时器的应用,使得温度计在使用时能够提示运行时间,设置报警时间等。
二.设计的主要功能(1)功能1,采集一路温度信号,温度范围为0~100℃,温度传感器可采用DS18B20,采集的数据系统自动存储并显示,温度显示精确到小数一位,温度超限自动报警。
(2)功能2,方波信号输出,输出波形的频率范围为1Hz~1kHz,频率可调,输出波形幅度范围固定5V。
(3)按键操作功能,按键切换功能1和功能2。
(4)采用多位数码管或LCD显示,显示当前温度值或当前方波频率。
三.硬件设计1、设计系统框图如下图:图1-1 系统框图利用AT89S52芯片控制温度传感器DS18B20进行实时温度检测并显示,同时当LCD液晶显示器接收到来自AT89S52单片机传送来的温度信息后,分别显示了当前的温度,温度上限,温度下限。
2、AT89S52的引脚如图4-1所示:图1-2 AT89S52单片机引脚图3、晶振电路在晶振电路中,主要用到了XTAL1和XTAL2两个引脚。
(1)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
(2)XTAL2:来自反向振荡器的输出。
在晶振电路中,AT89S52具有两种晶振方式,一种是片内时钟振荡方式,但需要在引脚外接石英晶体和振荡电容,振荡电容的值一般取10-30pf。
另一种是外部时钟方式,即将XTAL1接外部时钟,XTAL2脚悬空。
本设计的晶振电路如图1-3所示。
图1-3 晶振电路4、温度采集电路温度控制电路主要运用到了DS18B20和AT89S52。
如何使两者连接实现功能是温度控制电路的主要设计目的。
图1-4 DS18B20管脚图在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
内部寄生电源I/O口线要接5KΩ左右的上拉电阻。
这里采用的是第一种连接方法,如图图1-5所示:图1-5 温度采集电路传感器数据采集电路主要指DS18B20温度传感器与单片机的接口电路。
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
另一种是寄生电源供电方式考虑到实际应用中寄生电源供电方式适应能力差且易损坏,此处采用电源供电方式,I/O口接单片机的P1.3口。
5、液晶显示电路液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。
在显示电路中,VSS接地,VDD接5V正电源, VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,为了获得最佳对比度,VEE接地。
图1-6 液晶显示电路图6、报警电路和按键电路图1-7 报警电路图1-8 按键电路四.软件设计1、流程图图5-1 主程序流程2、主要程序(1)、管脚定义#define KeyPort P3 //定义按键端口bit ReadTempFlag;//定义读时间标志sbit SPK=P1^2; //定义喇叭端口sbit led = P2^0; //管脚定义sbit led0 = P1^0; //管脚定义sbit KEY=P3^4; //定义按键输入端口unsigned char count=0; //定义变量void Init_Timer0(void);//定时器初始化unsigned char KeyScan(void);//键盘扫描(2)、串口通讯初始化void UART_Init(void){SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装 TH1 = 0xFD; // TH1: 重装值 9600 波特率晶振11.0592MHzTR1 = 1; // TR1: timer 1 打开//EA = 1; //打开总中断//ES = 1; //打开串口中断TI=1;}(3)、初始化液晶LCD_Init(); //初始化液晶DelayMs(20); //延时有助于稳定LCD_Clear(); //清屏Init_Timer0();UART_Init(); //UART:是一种通用串行数据总线,用于异步通信。
Init:初始化Lcd_User_Chr(); //写入自定义字符LCD_Write_Char(7,0,'h'); //LCD第1行第7列显示hLCD_Write_Char(8,0,'a');LCD_Write_String(1,1,"welcome"); //LCD第2行第1列开始显示welcome{ KEY=1; //按键输入端口电平置高(KEY=3^4)开始工作按钮LCD_Init(); //初始化液晶DelayMs(20); //延时有助于稳定LCD_Clear(); //清屏Init_Timer0(); //初始化定时器UART_Init();Lcd_User_Chr(); //写入自定义字符LCD_Write_Char(7,0,'h');LCD_Write_Char(8,0,'a');LCD_Write_String(1,1,"welcome");(4)、温度上限下限switch(TempFlag){case 0: //输出温度上限下限sprintf(displaytemp,"H.%3d L.%3d ",tempH,tempL);LCD_Write_String(0,1,displaytemp);//显示第二行break;case 1:LCD_Write_String(0,1,"over tempH "); DelayMs(0);SPK=!SPK;//超温发出大约500Hz的方波频率越大声音越尖break;//超温发出大约500Hz的方波频率越大声音越尖case 2:LCD_Write_String(0,1,"under tempL ");DelayMs(0); SPK=!SPK;//超温发出大约500Hz的方波频率越大声音越尖break; //低温发出大约500Hz的方波频率越大声音越尖default:break;}if(ReadTempFlag==1){ReadTempFlag=0;temp=ReadTemperature();temperature=temp*0.0625;temp>>=4;if(temp>tempH)TempFlag=1; //高于高温标志else if(temp<tempL)TempFlag=2; //低于低温标志elseTempFlag=0; //正常显示标志sprintf(displaytemp,"Temp %6.2f ",temperature);//打印温度值%6.2f 的格式含义是,数字整体长度包括小数点为6位,保留两位小数。
LCD_Write_String(0,0,displaytemp);//显示第一行LCD_Write_Char(13,0,0x01);//写入温度右上角点LCD_Write_Char(14,0,'C'); //写入字符C}}}(5)定时器初始化子程序void Init_Timer0(void){TMOD |= 0x01; //使用方式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响//TH0=0x00; //给定初值//TL0=0x00;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开}五.仿真结果1、仿真原理图:图1-9仿真原理图2、温度仿真结果图1-10 测试温度仿真3、方波仿真结果图1-11 测试方波仿真六.心得体会在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。
本次设计的温度计主要由AT89S52和DS18B20来实现功能的。
因此需要通过查阅资料来了解这些器件的基本结构,主要功能和注意事项等等。
在设计完成之后,设计合理的程序和通过仿真软件模拟仿真,又再一次检验了设计的成果。
最后在实物焊接完成后,整个设计才圆满完成。
温度计设计作为一种比较简单的单片机设计,只有突出其在简单,方便,使用,便捷方面,这个设计才有其意义。
整个设计从确定题目,到寻找相关资料,再到选择合适的器件,接着对电路图的绘制,程序的编写,仿真的进行,实物的焊接,最终调试。
一步步走过来,一点点的进步,花了大量的时间和精力,而成果也是喜人的。
通过这次设计,不仅锻炼自己分析问题、处理问题的能力,还提高了自己的动手能力。
但同时也发现了自己的不足,特别是在程序的编写方面,这在整个设计过程中给我造成了很大的困扰,其次是方波设计方面,我只设计出了频率为500HZ,幅度为5V的方波,但是要求是频率在1Hz~1kHz之间可变。
这在设计过程中没有设计好,未能达到要求,自己程序方面还有待加强。