热敏电阻传感器温度检测电路设计黄河科技学院课程设计解读

上传人:ET****1 文档编号:62066597 上传时间:2022-03-14 格式:DOC 页数:31 大小:563.50KB
收藏 版权申诉 举报 下载
热敏电阻传感器温度检测电路设计黄河科技学院课程设计解读_第1页
第1页 / 共31页
热敏电阻传感器温度检测电路设计黄河科技学院课程设计解读_第2页
第2页 / 共31页
热敏电阻传感器温度检测电路设计黄河科技学院课程设计解读_第3页
第3页 / 共31页
资源描述:

《热敏电阻传感器温度检测电路设计黄河科技学院课程设计解读》由会员分享,可在线阅读,更多相关《热敏电阻传感器温度检测电路设计黄河科技学院课程设计解读(31页珍藏版)》请在装配图网上搜索。

1、课程设计说明书第 I 页热敏电阻传感器温度检测电路设计摘 要随着社会的进步和工业技术的发展,人们越来越重视温度对产品的影响,许多产品对温度范围要求严格,目前市场上普遍存在的问题有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种实时性高、精度高的温度采集系统就很有必要。本课题用一种基于单片机的数据采集系统方案,该方案根据热敏电阻随温度变化而变化的特性, 采用串联分压电路。 单片机采集热敏电阻的电压,通过 A/D 转换将模拟量电压信号转换成数字量电压信号,经过查表转换得到温度值,控制液晶屏实时显示温度值。本系统中所用到的器件是STC89C52

2、单片机、 NTC 热敏电阻和 LCD1602 液晶显示屏。关键词: STC89C52 单片机,热敏电阻, LCD1602课程设计说明书第 II 页目录1 绪论11.1 设计背景11.2 设计的主要内容及技术指标21.3 数据采集系统简单介绍22 热敏电阻的温度检测装置的系统论证32.1 温度传感器的选择32.2 调理模块42.3 温度核心模块62.4 显示模块63 热敏电阻的温度检测装置硬件系统设计73.1 温度采集模块硬件设计83.2AD 转换模块的设计83.3MCU 控制器模块设计10核心部件的介绍10复位电路的设计113.4 显示模块电路设计123.5 电源模块的设计124 热敏电阻的温

3、度检测装置软件系统设计134.1 软件总体程序设计134.2 功能模块设计14A/D 转换模块原理及程序14热敏电阻阻值和温度的非线性对性模块原理及程序17温度显示模块程序205 系统调试 .22课程设计说明书第 III 页5.1 硬件调试225.2 软件调试23总结23致谢24参考文献25课程设计说明书第 1 页1 绪论1.1 设计背景在工农业生产中,温度检测及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现 ,能够独立工作的温度检测和显示系统已经应用于诸多领域。要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差等问题,

4、使温度检测复杂化。模拟信号在长距离传输过程中,抗电磁干扰时令设计者伤脑筋的问题,对于多点温度检测的场合,各被检测点到监测装置之间引线距离往往不同,此外,各敏感元件参数的不一致,这些都是造成误差的原因,并且难以完全清除。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件, 尤其在日常生活中也发挥越来越大的作用。采用单片机对温度采集进行控制, 不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控数据的技术指标,从而能够大大提高产品的质量和数量。由于科学技术的飞速发展,特别是微电子加工技术,计算机技术及信息处理技术的发展,人

5、们对信息资源的需求日益增长,作为提供信息的传感技术及传感器愈来愈引起人们的重视,而综合各种技术的传感器技术也进入到一个飞速的发展阶段。要及时正确地获取各种信息,解决工程、生产及科研中遇到的各种具体的检查问题,就必须合理选择和善于应用各种传感器及传感技术。如最简单的温度的测量,有热电偶、光纤温度传感器等等。但是,热敏电阻是开发早、种类多、发展较成熟的敏感元器。热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。热敏电阻器是敏感元件的一类 , 按照温度系数不同分为正温度系数热敏电阻器 (PTC)和负温度系数热敏电阻器 (NTC )。热敏电阻器的典型特点是对温度敏感,不同的温度下表现出不同的

6、电阻值。 1 正温度系数热敏电阻器( PTC)在温度越高时电阻值越大,负温度系数热敏电阻器( NTC)在温度越高时电阻值越低,它们同属于半导体器件。随着半导体技术的不断发展,热敏电阻作为一种新型感温元件应用越来越广泛。 他具有体积小、灵敏度高、重量轻、热惯性小、寿命长以及价格便宜等优点 ,最重要的是作为温度传感器的热敏电阻的灵敏度非常高, 这是其他测温传感器所不能比拟的。课程设计说明书第 2 页1.2 设计的主要内容及技术指标1.测量过程是热敏电阻随着温度的变化电阻值发生变化,然后利用精密电阻器以电压模式对热敏电阻进行线性化 2.技术指标:温度测量范围为常温,灵敏度为 0.51.3 数据采集系

7、统简单介绍随着自动控制的发展,数据采集越来越被广泛应用传给 PC 机进行存储,处理,显示或打印的过程,相应的系统称为数据采集系统,可分为以下几种:1.基于通用微型计算机的数据采集系统将采集来的信号通过外部的采样和 A/D 转换后的数字信号通过接口电路送入微机内进行处理,然后再显示处理结果或经过 D/A 转换输出。2.基于单片机的数据采集系统它是由单片机及其些外围芯片构成的数据采集系统, 是近年来微机技术快速发展的结果,它具有如下特点 :3.基于 DSP 数字信号微处理器的数据采集系统DSP 数字信号微处理器从理论上而言就是一种单片机的形式, 常用的数字信号处理芯片有两种类型,一种是专用 DSP

8、 芯片,一种是通用 DSP 芯片。基于 DSP 数字信号微处理器的数据采集系统的特点如下 :精度高、灵活性好、可靠性好、 容易集成、分时复用等,但其价格不菲。经过一系列的对比以及比较本设计采用的是单片机形式的数据采集系统课程设计说明书第 3 页2 热敏电阻的温度检测装置的系统论证2.1 温度传感器的选择测量温度的关键是温度传感器,因此需要灵敏度高、测温范围宽、稳定性好,同时还要考虑成本和实际情况。方案一:DS18B20 数字式温度传感器, 使用集成芯片, 采用单总线技术, 其能够有效的减小外界的干扰,提高测量的精度,同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和

9、处理简单化。部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本, 搭建电路和焊接电路时更快,调试也更方便简单化 ,但是这个温度传感器适用于精密温度测量系统中。方案二:热敏电阻的主要特点是:灵敏度较高,其电阻温度系数要比金属大10100 倍以上,能检测出 10-6的温度变化;工作温度范围宽,常温器件适用于-55 315,高温器件适用温度高于 315(目前最高可达到 2000),低温器件适用于 -273 55;体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;使用方便,电阻值可在 0.1 100k 间任意选择;易加工成复杂的形状,可大批量生产;稳定性好、过载能力强方案三:

10、热电偶传感器的灵敏度 ,线性和温度范围是和所用的金属有关。多年来 ,已经有几种热电偶成为标准 ,在美国 ,NIST 公布了八种热电偶 ,让字母代码来识别的毫伏温度表。 其中五种 J、K 、T、G 和 N 是由碱金属合金制成 ,有不同的温度范围和用途 ,灵敏度一般是每摄氏度几十毫伏 ,其中三种 R、S 和 B 是用的金属白金制成的 ,但是这种热电偶价格昂贵,最常用于高温工作,不适合常温的测量,而且灵敏度很低。2对比之后,根据实际的应用需求,本设计采用方案二热敏电阻传感器。课程设计说明书第 4 页2.2 调理模块方案一:如图 2.1 所示是由集成运算放大器和铂热电阻构成的自动温度补偿电路。该电路可

11、分为阻抗变换和温度补偿两级,阻抗变换器 A1 是一个电压跟随器,它的作用是把来自传感器送来的与温度成比例变化的,温度补偿器 A2 是一个同相电压放大器,电路元件可根据同相电压放大器基本原则进行选取, 这一级的作用是将阻抗变换级送来的电压信号进行放大,同时吸取来自铂热 Rt 送来的与温度成比例变化的电阻信号,这个电阻信号去改变放大器的灵敏度, 使放大器的输入电压 V0 与温度无关。但是此电路比较复杂,3元器件较多,可能导致精度不够。图 2.1 为自动温度补偿电路方案二:温度补偿还可以采用简单的查表法从电压值中查出相应的温度值。 4 预先将一系列温度与电压对应值存贮到 STC89C52 微控制器程

12、序存储器中的一个表内, 当给定任意一个在测量范围中的电压值时,即可通过查表得出所对应的温度值。本设计所采用的NTC 热敏电阻所对应温度补偿表如表2.1,温度随阻值的增加而减小。课程设计说明书第 5 页表 2.1 温度补偿表R25=10K 精度 : 5%B25/50=3950K 精度 : 1%温度()电阻(K)温度()电阻(K)-2.0033.8036.5239.3522.0010.8311.4312.03-1.0032.1234.6737.3223.0010.3610.9311.490.0030.5432.9235.4024.009.9210.4510.981.0029.0431.2733.5

13、925.009.5010.0010.502.0027.6229.7231.8926.009.089.5710.063.0026.2828.2530.2827.008.699.169.644.0025.0226.8628.7628.008.318.779.235.0023.8225.5527.3329.007.958.408.856.0022.6924.3125.9830.007.618.058.497.0021.6123.1424.7031.007.297.718.148.0020.6022.0323.5032.006.987.397.819.0019.6420.9822.3633.006.6

14、97.097.4910.0018.7319.9921.2834.006.416.807.1911.0017.8619.0420.8635.006.146.526.9012.0017.0418.1519.2936.005.896.256.6313.0016.2717.3118.3837.005.646.006.3714.0015.5316.5117.5138.005.415.766.1215.0014.8315.7516.6939.005.195.535.8816.0014.1715.0315.9140.004.985.315.6517.0013.5414.3515.1841.004.785.1

15、05.4318.0012.9413.7114.4842.004.594.905.2219.0012.3713.0913.8243.004.414.715.0220.0011.8312.5113.1944.004.234.534.83课程设计说明书第 6 页所以本设计的温度补偿选用方案二,将在软件中体现。2.3 温度核心模块方案一:S08AW60 拥有 62KB 片上在线可编程 FLASH 存储器和 2KB 片上 RAM ,具有模块保护与安全选项功能,支持 2.7 5.5V 电源。片内总线时钟最高可达 20MHz ,可选择宽范围的时钟频率。 5 其内部集成了高性能模 /数转换器( ADC )和串

16、行通信模块,具有很宽的工作温度范围( -40 +125),可适应各类恶劣环境。该芯片还可以通过BDM在计算机与微控制器进行在线编程及后台调试,避免频繁的插拔单片机,编译软件调试功能强大。方案二:STC89C52 是一种低功耗、 高性能 8 位微控制器,具有 8K 系统可编程 FLASH 存储器和 256 字节 ROM ,可实现 0Hz33Hz 的全静态操作,支持4.0V 5.5V 电源。使用Atmel 公司高密度非易失性存储器技术制造,与MCS-51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程, 亦适于常规编程器。其内部没有 A/D 转换模块,需要外部扩展模数转换芯片

17、。对比之后,根据实际的应用需求,本设计选用方案二STC89C52,因为具有 ISP 功能,可直接通过串口下载用户程序,方便调试程序,内部8 KB 的 FLASH E2PROM 使用户编制的程序及需要显示的字母、数字、汉字和图形都可以存储在里面,免去了扩展外部存储器的麻烦,因此以 STC89C52 单片机为核心的控制系统电路更简单,十分适用于液晶显示,在智能仪器、仪表和低功耗电子产品中被广泛选用。2.4 显示模块方案一:LED 数码管显示器可分为两种显示方式:静态显示和动态显示。LED 数码管静态显示, 多片七段译码器驱动显示, 这不仅增加了成本, 还需要占用单片机多个 I/O 口,也给电路的焊

18、接带来一定的困难,因此不选用这种方案作为显示模块,所以排除此方案。方案二:LED 数码管显示器动态显示方式下,将所有位的段选线并联在起, 由位选线控制哪课程设计说明书第 7 页位接收字段码。采用动态扫描显示,也就是在显示过中,轮流向各位送出字形码和相应的字位选择,同一时刻只有一位显示,其他各位熄灭。但是此显示方案稳定性较差,并且还需要焊接外围电路,所以不采用此方案。方案三:LCD 液晶显示 ,由单片机驱动 .它主要用来显示大量数据、文字、图形,能够显示的位数多,显示得清晰多样、美观,同时液晶显示器的编写程序简单,价格便宜,故采用此种方案。LCD 类型繁多, 价格不等。根据本设计需要显示的信息量

19、小的特点,选用价格便宜的 LCD1602 液晶屏。其特点如下:液晶显示屏是以 16 列2 行=32 个 510 或 57 点阵块组成的显示字符群, 每个点阵为一个字符,字符间距和行距都为一个点的宽度; 具有字符发生器 ROM ,可以显示 192种字符;具有 64 字节的自定义字符 RAM ,可自定义 8 个 57 或 4 个 510 点阵字符;具有 80 字节的 RAM ;结构紧凑、轻巧、装配容易;单+5V 电源供电,低功耗,长寿命,高可靠性。3 热敏电阻的温度检测装置硬件系统设计温度采集系统的硬件部分是由温度采集模块、MCU 控制器模块、温度显示模块组课程设计说明书第 8 页成。具体框图如图

20、3.1 所示:温ML度CC采模拟量输入U输出D集显示图 3.1 系统硬件框图热敏电阻的阻值会随着温度的变化而改变,这种变化不是线性的,但是每一种热敏电阻传感器都有一个阻值和温度对应的表格,可以通过查表得到温度值,当然也可以通过非线性公式计算出温度值。 6 具体工作原理: 单片机通过 AD 芯片对电阻两端的电压进行采样,电阻变化时其两端的电压会变化,这种变化是线性的。3.1 温度采集模块硬件设计该模块是根据热敏电阻阻值随温度变化而变化的特性,利用串联分压的特点,将热敏电阻所分的电压送到 ADC0832 的模拟量输入端。具体电路原理如图 3.2 所示:PT B0R3R4VCC2 0kRE S4图

21、3.2 为温度采集模块电路原理图Tit该电路中 R4 为热敏电阻,其电压传输到ADC0832 的模拟量输入端,即CH0,芯片的 2脚。SizB3.2 AD 转换模块的设计DaFil本设计采用的 AD 转4换芯片是 ADC0832: 该芯片为 8 位分辨率 A/D 转换芯片,其5最高分辨可达 256 级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的课程设计说明书第 9 页复用,使得芯片的模拟电压输入在 05V 之间。芯片转换时间仅为 32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。 独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过 DI 数

22、据输入端,可以轻易的实现通道功能的选择。正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK 、DO、 DI 。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。本课题 AD 芯片的 CS 端与 P1.0 口连接; CLK 端与 P1.1 口连接; D0 与 D1 并联并与 P1.2 口相连。当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用, CLK 和 DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完

23、全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、 3 个脉冲下沉之前DI 端应输入 2 位数据用于选择通道功能:当此 2 位数据为 “1”“、0”时,只对 CH0 进行单通道转换。 当 2 位数据为 “1”、“ 1时”,只对 CH1 进行单通道转换。当2 位数据为“ 0、”“ 0时”,将 CH0 作为正输入端 IN+ , CH1 作为负输入端 IN- 进行输入。当 2位数据为 “0”、 “1”时,将 CH0作为负输入端 IN- , CH1 作为

24、正输入端IN+ 进行输入。到第 3 个脉冲的下沉之后DI 端的输入电平就失去输入作用,此后DO/DI 端则开始利用数据输出DO 进行转换数据的读取。从第4 个脉冲下沉开始由DO 端输出转换数据最高位DATA7 ,随后每一个脉冲下沉DO 端输出下一位数据。直到第11 个脉冲时发出最低位数据DATA0 ,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATA0 。随后输出 8 位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D 转换的结束。最后将CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。7作为单通道模拟信号输入时ADC0

25、832 的输入电压是05V 且 8 位分辨率时的电压精度为 19.53mV 。如果作为由IN+ 与 IN- 输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+ 与 IN-的输入时,如果 IN- 的电压大于IN+ 的电压则转换后的数据结果始终为00H。课程设计说明书第10页3.3MCU 控制器模块设计STC89C52 的外部工作电路如图3.3 所示VCC 是 STC89C52 的电源引脚, GND 为 STC89C52 的接地引脚,工作电压范围是4.0V 5.5V,在该电路中提供的是 5V 电压。利用芯片内部振荡电路, 在 XTAL1 和 XTA

26、L2的引脚上外接定时元件, 内部振荡器便能产生自激振荡, 用示波器便可以观察到XATL2输出的正弦波,定时元件可以采用石英晶体和电容组成的并联振荡电路,晶体可以在1.212MHz 之间选择,电容可以在 2060pF 之间选择,通常选为 30pF 左右,电容 C8C9的大小对振荡频率有微小影响,可起频率微调作用。在芯片的9 脚,即RST/Vpd接按键及电阻构成复位信号。图 3.3 电路原理图该电路为 STC89C52 控制器电路,其中, P0.5、P0.6、 P0.7 口分别与 LCD1602 的RS、 R/W、E 引脚连接; P2.0P2.7口与 LCD1602 的 DB0DB7 引脚连接;

27、P1.2 是模拟量输入端,用于输入热敏电阻传感器的电压。核心部件的介绍STC89C52 是整个课题的核心部件, P0 口是开漏双向可以写为1 使其状态为悬浮用作高阻输入。 P0 口也可以在外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉输出1。在本课题中 P0 口外接 10K 排阻使输出课程设计说明书第 11页为 1 来接 LCD1602 的 RS、RW、E 端。P1 口可作为准双向 I/O 接口使用。对于 MCS52子系列单片机, P1.0 和 P1.1 还有第 2 功能: P1.0 口用作定时器 /计数器 2 的计数脉冲输入端 T2; P1.1 用作定时

28、器 /计数器 2 的外部控制端 T2EX 。对于 EPROM 编程和进行程序校验时, P1 口接收输入的低 8位地址。在本课题中 P1.2 来接收 AD 转换模块送过来的数字量; P1.0 与 AD 芯片的复位端相连; P1.1 与 AD 芯片的 CLK 端相连。 P2 口 2 口是带内部上拉的双向 I/O,口向 P2口写入 1 时,P2 口被内部上拉为高电平 ,可用作输入口当作为输入脚时,被外部拉低的P2 口会因为内部上拉而输出电流 (见 DC 电气特性 )。在访问外部程序存储器和外部数据时分别作为地址高位字节和16 位地址 (MOVXDPTR),此时通过内部强上拉传送1。当使用 8 位寻址

29、方式 (MOV Ri) 访问外部数据存储器时 ,P2 口发送 P2 特殊功能寄存器的内容。本课题的 P2 口作为输出口使用,把信号输送给 LCD1602。P3 口是带内部上拉的双向 I/O 口,向 P3 口写入 1 时,P3 口被内部上拉为高电平,可用作输入口,当作为输入脚时,被外部拉低的P3口会因为内部上拉而输出电流 (见 DC 电气特性 )。它为双功能口,可以作为一般的准双向I/O 接口,也可以将每 1 位用于第 2 功能,而且 P3 口的每一条引脚均可独立定义为第1 功能的输入输出或第 2 功能。本课题没有用到 P3 口。 8综上所述, STC89C52 系列单片机纳为以下两点:1) 单

30、片机功能多,引脚数少,因而许多引脚具有第2 功能;2) 单片机对外呈 3总线形式,由 P0、P2口组成 16位地址总线;由 P0口分时复用作为数据总线。复位电路的设计STC89C52 的复位方式可以是上电复位,也可以是手动复位。此外,一复用脚,V 掉电期间,此脚可接上备用电源, 以保证单片机内部RAMRESET/V 还是的数据不丢失。1、上电复位:上电自动复位电路是一种简单的复位电路,只要在RST复位引脚接一个电容到VCC ,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST 复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚

31、复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST 引脚的高电平信号必须维持足够长的时间。9 上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1ms,课程设计说明书第12页就可以实现自动上电复位。2、手动复位:开关复位,只要按下开关按钮,倒相器即输出高电平,复位有效。手动复位和快捷,方便,所以此次设计采用手动复位方式。3.4 显示模块电路设计该模块是利用 LCD1602(液晶显示):LCD1602 的显示容量很大, 为 162 个字符; 1602LCD 芯片的工作电压为 4.5-5.5V,芯片工作电流在 5V 工作电压的情况下芯片工作电流为

32、 2mA ,模块的最佳工作电压为 5V ,显示字符的尺寸为 2.95 4.35(WH)mm。1602LCD 的第 1 脚 VSS 为地电源;第 2 脚接 5V 正电源;第 3 脚 VL 为液晶显示器对比调整端,接正电源时对比度弱,接地时对比度最高,对比度过高时会产生 “鬼影 ”,使用是可以通过一个 10K 的电位器调整对比度;第 4 脚为 RS 寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器;第 5 脚为 R/W 读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,

33、当 RS 为高电平 R/W 为低电平时可以写入数据;第 6 脚为使能端,当使能端由高电平跳变为低电平时, 液晶模块执行命令;第 714 脚的 D0D7 为 8 位双向数据线;第 15 脚为背光源正极;第 16 脚为背光源负极。以上是整个 1602LCD 的功能介绍。显示的清晰度是关键,其 Vee 引脚作用是对比调整,原理是该引脚输入电压不同,调整度不同,所以采用电位器分压作为它的电压输入。 Vss 及 K 引脚分别是电源地、 LCD背光电源负极,直接接地。 Vcc 及 A 引脚分别是电源、 LCD 背光电源正极,采用 +5V 电源电。该电路中, LCD1602 的 RS、R/W、E 引脚分别与

34、 STC89C52 中的 P0.5、P0.6、P0.7口连接; DB0DB7 引脚分别与 STC89C52 的 P2.0P2.7口连接。3.5 电源模块的设计如图 3-7 为电源转换电路, 经过此电路把 220V 的电压通过变压器变压为 9V,再经过整流桥以及 5V 的稳压器件,把 9V 电压变为 5V 的电压,此电路中的 LED 是对电源转换电路是否正常工作的判定。课程设计说明书第13页图 3.4 为电源转换电路此电路比较繁琐,而且整流桥以及变压器的价格比较昂贵,并且如若在不能确保此电源转换电路正确连接的情况下,把电源加载到电路中,可能会烧毁芯片,严重的话会烧毁整块板子,所以为了确保电路安全

35、,可以采用3 节 1.5V 的电池来代替此电路。 3节 1.5V 的电池带来的问题是有时可能电量过低,导致不能很好的显示。但总的来说还是 3 节 1.5V 的电池更节约方便。4 热敏电阻的温度检测装置软件系统设计4.1 软件总体程序设计软件系统初始化时把温度数据做成表格存储到ROM 中,通过 AD 对热敏电阻两端的进行测量,然后通过运算将电压值对应于电阻值,通过查表把电阻值对应于温度值,再通过运算把温度数据送到 LCD 显示,其中程序初始化主要是对 AD 和 LCD 进行初始化。它的框图如图 4-1:课程设计说明书第14页开始程序初始化AD 采样查温度转换表数据处理调用显示程序结束图 4.1

36、为软件总体流程图4.2 功能模块设计A/D 转换模块原理及程序传感器获得的信号由于是模拟信号,而CPU 处理的是数字信号,故要经过模数转换,本设计采用芯片ADC0832 实现的 AD 转换。课程设计说明书第15页图 4.2 ADC0832 的工作时序图由以上时序图可知单片机对ADC0832 的控制,所以进行以下编程。C 语言编写的 STC89C52 微控制器中 A/D 转换模块的节选程序代码如下:uchar i;uint dat=0;uchar ndat=0;if(channel=0)channel=2;if(channel=1)channel=3;ADDI=1;_nop_();_nop_()

37、;ADCS=0;/ 拉低 CS 端_nop_();_nop_();ADCLK=1;/ 拉高 CLK 端_nop_();_nop_();ADCLK=0;/ 拉低 CLK 端 ,形成下降沿 1课程设计说明书第16页_nop_();_nop_();ADCLK=1;/ 拉高 CLK 端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;/ 拉低 CLK 端 ,形成下降沿 2_nop_();_nop_();ADCLK=1;/ 拉高 CLK 端ADDI=(channel1)&0x1;_nop_();_nop_();ADCLK=0;/ 拉低 CLK 端 ,形成下降沿 3ADDI

38、=1;/ 控制命令结束_nop_();_nop_();dat=0;for(i=0;i8;i+)dat|=ADDO;/收数据ADCLK=1;_nop_();_nop_();ADCLK=0;/ 形成一次时钟脉冲_nop_();_nop_();dat=1;if(i=7)dat|=ADDO;课程设计说明书第17页for(i=0;i=1;if(ADDO=1)ndat|=0x80;ADCLK=1;_nop_();_nop_();ADCLK=0;/ 形成一次时钟脉冲_nop_();_nop_();ADCS=1;/ 拉低 CS 端ADCLK=0;/ 拉低 CLK 端ADDO=1;/ 拉高数据端 ,回到初始状态

39、if(dat=ndat)return(ndat);elsereturn(0x00);热敏电阻阻值和温度的非线性对性模块原理及程序热敏电阻的阻值温度特性曲线是一条指数曲线,非线性度较大,因此在使用时要进行线性化处理。可采用简单的查表法从电压值中查出相应的温度值。预先将一系列温度与电压对应值存贮到STC89C52 微控制器程序存储器中的一个表内,当给定任意一个电课程设计说明书第18页压值时,即可通过查表得出所对应进行补偿过的温度值。C 语言编写的获得温度值的节选程序代码如下:先对 LCD1602 进行程序初始化: LCD1602 的 RS 脚置 “1,”其意义为:选择数据寄存器; LCD1602

40、的 RW 脚置 “1,”其意义为:进行读操作 sbit rs=P05;sbit rw=P06;sbit e= P07;对 ADC0832 进行初始化:sbit ADCS=P10;sbit ADCLK=P11;sbit ADDI=P12;sbit ADDO=P12;显示屏显示的选择项:uchar code tab3=Low-temperature ;uchar code tab4=Over-temperature;uchar code tab5=Error;uchar code tab6=Temp:;uchar code tab7=Normal;uchar code tab1=012345678

41、9;把温度数据存储到ROM 中,温度范围为79 -20:延时 50us 的程序:void delay_50us(uint t)uchar j,z;for(z=t;z0;z-)for(j=19;j0;j-);延时 1ms 的程序:课程设计说明书第19页void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);写指令程序:void write_com(uchar com1)e=0;rs=0;rw=0;P2=com1;delay_50us(10);e=1;delay_50us(20);e=0;写数据程序:void write_data(uch

42、ar dat1)e=0;rs=1;课程设计说明书第20页rw=0;P2=dat1;delay_50us(10);e=1;delay_50us(20);e=0;温度显示模块程序LCD1602采用 +5V电压驱动,其数据接口和读写控制引脚与STC89C52 单片机的I/O口直接相连。 ADC0832将采集到的模拟电压值经过A/D转换后送给单片机, 单片机查表得到温度值,通过I/O口传输给LCD1602 显示。C 语言编写的温度值显示的节选程序代码如下:void disp()ad1=ad-29;write_com(0x80);if(ad29)uchar i;for(i=0;i16;i+)write_

43、data(tab4i);write_com(0x80+0x40);for(i=0;i233)uchar i;for(i=0;i16;i+)write_data(tab3i);write_com(0x80+0x40);for(i=0;i=29&ad=233)uchar i;for(i=0;i16;i+)write_data(tab7i);write_com(0x80+0x40);for(i=0;i197)write_data(-);write_data(tab1(tab2ad1)/10);课程设计说明书第22页write_data(tab1(tab2ad1)%10);elsewrite_data

44、( );write_data(tab1tab2ad1/10);write_data(tab1tab2ad1%10);write_data(0xdf);/显示温度符号write_data(C);5 系统调试5.1 硬件调试所用到的调试工具为:万用表当焊接好电路板后,可以进入硬件电路的调试阶段。根据硬件逻辑电路图,使用万课程设计说明书第23页用表的欧姆档检查每个点的链接情况,如果有漏焊、虚焊和错焊的节点的则重新焊接好。电路全部连接好后则上电调试,在上电调试过程中先给电路通上前面部分的5V 信号电源。在通电过程中时刻观察电路元器件是否有异常情况,如果某些芯片有发烫等异常情况就马上断开电源。把电路重新

45、检查,是否还有错焊或芯片某些管脚所给的电压或电流信号没有按照芯片的典型数值。把有错误的地方则重新焊接,接着继续接上电源。上述情况都正常后就可以进入硬件的联机调试。需要注意的是,在加电状态下,不能拔10插任何集成电路芯片,以免损坏芯片。在实际的调试过程中,遇到了如下一些问题:(1)CPU 芯片发热。用万用表检查的结果是单片机出现了短路, 去掉短路线后,单片机能正常工作。 (2)在按下复位按钮以后,没有任何作用。所以可以判断是复位按钮坏了或者是连接错误,经过检查复位按钮连错了。最后,通过硬件调试使得硬件电路的各部分正常工作,达到了调试的目的。5.2 软件调试软件调试主要有以下两种方法:将整个联合起

46、来调试,对整个软件的功能进行验证;分开调试,就是将系统分成独立的小模块, 然后分别对这些小模块写入程序调试。一般采用第二种软件调试方法,可以提高调试效率,也容易解决调试中出现的,经软件的调试 - 修改 - 再调试,如此反复,排除各种故障最终基本完成了设计所要求的任务,一开始我的温度显示只能达到 30,不能往上继续测温显示, 我一直以为哪边硬件出现问题,后来才发现是软件的温度补偿表的范围就是到的 30,只要扩大温度补偿表的温度范围就可以了。总结设计就是要讲究严谨,在这次毕业设计中,我学到了很多知识,也使我的能力得到了提升。首先,硬件方面。选择硬件,要比较同类产品的稳定性、功耗、体积、价格等,另外

47、还要符合设计的全部要求。在显示方案上,我考虑的时间相对长了一点。利用数码管显示,程序复杂,但是,自己编程比较熟悉,价格便宜。利用LCD1602 显示,程序简课程设计说明书第24页单,但是以前自己从未使用过。经过比较,我选择 LCD1602,这样可以学到新知识,提高自己的知识水平。在硬件电路的设计方面, 用 Protel 绘制电路图时要标明元件的大小,有些封装元件要标明名称和封装。其次,软件方面。把程序分块编写能够有效地提高正确性和编程效率。在本次设计中,编程采取了 “两步走 ”:第一步,我把温度采集部分的程序调试成功,其中包括 A/D 转换程序。这就要求必须对 A/D 转换原理了解及 A/D

48、转换寄存器熟悉。第二步,我把显示程序调试成功。这部分需要对 LCD1602 的时序有充分的了解和足够的认识,这也是 LCD1602 与 LED 数码管的不同之处。经过查资料和编程实验,最后使 LCD1602 正常显示数据。在软件编写时,还要注意添加注释,使程序更加清晰,便于理解。致谢课程设计说明书第25页参考文献1 王威嵌入式微控制器 S08AW 原理与实践 M 北京 :北京航空航天大学出版社,20092 陈杰 . 传感器与检测技术 M 北京 :高教出版社, 20043 邵贝贝 . 龚光华 .单片机认识与实践 M. 北京 :北京航空航天大学出版社, 20064 阎石 .数字电子技术基础(第三版

49、) . 北京:高等教育出版社, 19895 沈兰荪 .数据采集与处理 M 北京 :能源出版社 ,19876 沙占友、王彦朋、孟志永 .单片机外围电路设计 .电子工业出版社, 20037 谢宜仁 .单片机实用技术问答 . 人民邮电出版社, 20038 孙传友、汉泽西 .测控系统原理与设计 .北京航空航天大学出版社, 20029 章吉良,周勇,戴旭涵等微传感器原理、技术及应用 M 上海:上海交通大学出版社, 200510 李全利,仲伟峰,徐军 .单片机原理及应用 .北京:清华大学社, 200611 谭浩强 .程序设计与开发技术 .北京:清华大学出版社, 1991读书的好处1、行万里路,读万卷书。2

50、、书山有路勤为径,学海无涯苦作舟。3、读书破万卷,下笔如有神。4、我所学到的任何有价值的知识都是由自学中得来的。 达尔文5、少壮不努力,老大徒悲伤。6、黑发不知勤学早,白首方悔读书迟。 颜真卿7、宝剑锋从磨砺出,梅花香自苦寒来。8、读书要三到:心到、眼到、口到9、玉不琢、不成器,人不学、不知义。10、一日无书,百事荒废。 陈寿11、书是人类进步的阶梯。12、一日不读口生,一日不写手生。13、我扑在书上,就像饥饿的人扑在面包上。 高尔基14、书到用时方恨少、事非经过不知难。 陆游15、读一本好书,就如同和一个高尚的人在交谈 歌德16、读一切好书,就是和许多高尚的人谈话。 笛卡儿17、学习永远不晚。 高尔基18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。 刘向19、学而不思则惘,思而不学则殆。 孔子20、读书给人以快乐、给人以光彩、给人以才干。 培根

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!