基于单片机的温度检测显示与报警系统内容摘要:
包括包括单片机最小系统模块、LED 显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口下载模块和电源 模块。 控制部分是采用单片机 STC89C52。 STC89C52 简介 STC89C52 是一种带 8K 字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8 的微处理器,俗称单片机。 该器件采用 ATMEL 搞密度非易失存储器制造 10 10 技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 单片机总控制电路如下图: 图表 2 图表 3 复位操作 本系统的复位电路采用按键电平复位 方式, 通过使复位端经电阻与 11 11 Vcc电源接通而实现的,其电路如 下 图所示 图表 4 上述电路图中的电阻、电容参数适用于 6MHz 晶振,能保证复位信号高电平持续时间大于 2 个机器周期。 STC89C52 主要功能 , 如 下表 所示 STC89C52 主要功能 主要功能特性 兼容 MCS51 指令系统 8K可反复擦写 Flash ROM 32 个双向 I/O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 /计数器中断 时钟频率 024MHz 2 个串行中断 可编程 UART 串行通道 2 个外部中断源 共 6 个中断源 2 个读写中断口线 3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 STC89C52 管脚介绍: ① 主电源引脚( 2 根) VCC(Pin40):电源输入,接+ 5V电源 GND(Pin20):接地线 ②外接晶振引脚( 2 根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③控制引脚( 4 根) 12 12 RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允 许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,接高电平则从内部程序存储器读指令。 ④可编程输入 /输出引脚( 32 根) STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、 P PP3口,每个口有 8 位( 8 根引脚),共 32根。 PO 口( Pin39~ Pin32): 8 位双向 I/O口线,名称为 ~ P1 口( Pin1~ Pin8): 8 位准双向 I/O口线,名称为 ~ P2 口( Pin21~ Pin28): 8 位准双向 I/O 口线,名称为 ~ P3 口( Pin10~ Pin17): 8 位准双向 I/O 口线,名称为 ~ 测量部分 测量部分我们采用美国 DALLAS 公司生产 的 DS18B20 温度传感器。 DS18B20 简介 DS18B20 数字温度传感器,该产品采用 美国 DALLAS 公司生产的 DS18B20 可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 封装及接线说明: DS18B20 芯片 封装结构: 13 13 D S 1 8 B 2 0V C CN CN CN CI / OG N DN CN C 图表 5 特点 : 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为 至 测量温度范围为 55 176。 C 至 +125 ℃。 华氏相当于是67 176。 F 到 257华氏度 10 176。 C 至 +85 176。 C 范围内精度为 177。 176。 C DS18B20 控制方法 DS18B20 有六条控制命令: 温度转换 44H:启动 DS18B20 进行温度转换 读暂存器 BEH:读暂存器 9 个字节内容 写暂存器 4EH:将数据写入暂存器的 TH、 TL字节 复制暂存器 48H:把暂存器的 TH、 TL字节写到 E2RAM 中 读电源供电方式 B4H:启动 DS18B20 发送电源供电方式的信号给主 CPU DS18B20 的初始化 DS18B20 的写操作 DS18B20 的读操作 显示部分 内部的四个 数码管 共用 a~dp这 8根数据线,为人们的使用提供了方便,因为里面有四个数码管,所以它有四个公共端,加上 a~dp,共有 12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。 引脚排列依然是从左下角的那个脚( 1脚)开始,以逆时针方向依次为 1~12脚, 14 14 上 图中的数字与之一一对应。 报警部分 本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。 见下面报警流程图模块及程序。 3 硬件电路原理描述 软件设计 系统软件程序基于 Keil uvsion3 开发平台,采用 C51 语言编写。 本程序采用模块化程序方法,主要分为以下三个模块: ◆ LCD 初始化显示模块 ◆ DS18B20 数据采集模块 ◆ 温度报警上下限设置模块 主程序调用了 5 个子程序,分别是数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、单片机与 PC 机串口通讯程序。 键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及进入相应的程序。 温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。 数码管显示程序:向数码的显示送数,控制系统的显示部分。 继电器 控制程序:控制继电器动作串口通讯程序:实现 PC 机与单片机通讯,将温度数据传送给PC 机。 程序开始的时候先设置初始化,然后就控制数码管显示当前温度。 接着就判断 F F2 按键是否被按下。 按下 F1 进入温度控制点 1 的程序、按下 F2 进入温度控制点 2 的程序。 程序控制设置温度的两个数码管闪烁的,此时键盘输入有效。 有按键按下的时候进入按键处理程序。 按下“确定”按键后,程序进入判断 15 15 程序和继电器控制程序。 继电器动作后,程序回到显示当前程序,并开始循环。 我们通过单片机来实现对温度的检测及报警。 先要对系统进行初始化,通过按键来对 系统各个环节进行控制,我的系统环节包括:报警值设定、温度值修定、显示温度值及通道选择。 可以通过按键来跳转功能实现对每一个环节的控制,把各个环节检测来的数据送到检测器,通过检测器来把数据进行分析,在送到相应的环节,显示相应的数据,当把数据检测完成在回到系统初始化,这样系统每检测完一次就会回到初始化在重新开始,进行循环检测。 数字式温度传感器功能强大,芯片简化了硬件电路设计的同时也无形加大了软件编写的复杂程度,为方便程序的调试和提高效率, 故将软件编写分模块进行,先将实时时钟模块一步步调试,按照时序图将读写函数写好后,会显示秒部分,并准时走,但液晶屏不稳定,有一些乱码和光标乱闪。 经检查发现有些发生地址重叠的冲突,写按键部分程序是发现调节好后在最后刷新屏幕时调节好的时间没有读取到,不断调节,不断烧写进学习板,然后看结果,最终发现时没有将调节好的时间读取到寄存器中。 加上温度传感器部分后发现在调节时间时出现乱码和不稳定现象,光标乱跳的现象。 经过不断检查软件,发现在按键调节时软件读取温度值的标志位是允许的,也就是说它在调节时间时又在动态显示周围环境中 的温度值,这样会导致光标不稳定的现象。 经过再添加 keyxuan 标志允许位时,这个问题得到很好的解决。 在软件编写的过程中遇到非常多的问题,远远不止这些。 16 16 开 始初 始 化L C D 1 6 0 2调 用D S 1 8 B 2 0 模块调 用 报 警 模块温 度 显 示 图表 6 17 17 主 机 开 始 发出 信 号 主 机 设 置 为输 入 模 式 D S 1 8 B 2 0 是 否响 应。 等 待 4 8 0 u s 接 受 数 据 拉 低 总 线 延时 4 5 u s跳 出NY 图表 7 18 18 进 入 设 置 模式 设 置 温 度 报警 上 下 限 调 用D S 1 8 B 2 0 T E M P = T H ||Te p = T L ? 报 警 温 度 显 示YN 图表 8 4 系统的仿真与实现 概述 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。 它不仅具有其它 EDA 工具软件 19 19 的仿真功能,还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外围器件的工具。 虽 然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的EDA工具 (仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB设计,真正实现了从概念到产品的完整设计。 是目前世界上唯一将电路仿真软件、 PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 805 HC1 PIC10/12/16/18/24/30/DsPIC3 AVR、 ARM、 8086 和MSP430 等, 2020年即将增加 Cortex 和 DSP系列处理器,并持续增加其他系列处理器模型。 功能特点 Proteus 软件具有其它 EDA 工具软件(例: multisim)的功能。 这些功能是: ( 1) 原理布图( 2) PCB 自动或人工布线 ( 3) SPICE 电路仿真 革命性的特点 ( 1)互动的电路仿真 用户甚至可以实时采用诸如 RAM, ROM,键盘,马达, LED, LCD, AD/DA,部分 SPI 器件,部分 IIC器件。 ( 2)仿真处理器及其外围电路 可以仿真 51 系列、。基于单片机的温度检测显示与报警系统
相关推荐
e n v o id 12 图 11 GPS数据接收模块 流程图 部分子程序如下: } 0。 r e v _ s t o p 0。 g p s _ f l a g 0。 e r r o r _ n u m y On e ( )。 GP S _ Di s p l a R M C _ YE S。 { GP S ) )amp。 u f ,a r s e ( r e v _ b( GP S _ R M
的电路; OUTl、 OUT2 和 OUT OUT4 之间分别接 2 个步进电机;input1~input4 输入控制电位来控制电机的正反转; Enable 则控制电机停转。 R10 10k DB0 7 DB1 8 DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 RS 4 R/W 5 E 6 VCC 2 VL+ 15 VL 16 VSS 1 VEE 3 U2
脏和大脑。 由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。 而家用电器品种 多,功能差异也大,所以又要求其控制器有灵活的控制功能。 单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。 单片机主要用于计算机外设、实时控制、仪器仪表、通信和家用电器等各个领域,是计算机技术和电子技术的综合性应用,在不同应用场合其技术要求各不相同
接地, 31 脚接电源 Vcc,就构成了 AT89S52 单片机的最小系统如图 312。 在单片机最小系统的基础上外接相关的工作电路,并让这些电路按程序设计要求工作,就组成了单片机应用电路。 青岛理工大学毕业论文 12 图 312 单片机的最小系统图 无线发射电路 无线发射电路由抢答按键,编码电路,发射电路组成。 由于 F05P 对 直流电平及模拟信号是不能发射的
[14])。 LCD_Display_OneChar(4,1,chr[10])。 //: LCD_Display_OneChar(5,1,chr[0])。 //+ LCD_Display_OneChar(6,1,Num[0])。 LCD_Display_OneChar(7,1,chr[3])。 //小数点 LCD_Display_OneChar(8,1,Num[0])。
,并影响散热器的正常工作。 复位操作一般有两种 方式 :开关复位和 非开关 自动复位 模式。 本 散热器 中采用开关复位形式 ,复位按键 并联在电容两端 ,当复位按键没有 关闭 时, 单片机正常工作 ; 当 它被操作人员 按下 时, RST 管脚 出现高电平 ,单片机 开始复位。 若果 单片机给 RST 脚通入长时间的 高电平 , 将 导致 有效的 单片机复位。 单片机 复位 是 让 处理器 和