电冰箱温度控制系统设计_第1页
电冰箱温度控制系统设计_第2页
电冰箱温度控制系统设计_第3页
电冰箱温度控制系统设计_第4页
电冰箱温度控制系统设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 电冰箱温度控制系统设计 一 一 引言引言 电冰箱是每个家庭现代化厨房必备的家用电器之一 它是利用电能在箱体 内形成低温环境 用于冷藏冷冻各种食品和其他物品的家用电器设备 它的主要 任务就是控制压缩机 化霜加热等来保持箱内食品的最佳温度达到食品保鲜的 目的 即保证所储存的食品在经过冷冻或冷藏之后保持色 味 水分 营养基 本不变 从 1918 年世界上第一台电机压缩式电冰箱研制成功 随着科学技术的 飞速发展电冰箱也在不断的演变和更新尤其是近年来高新技术的迅猛崛起更使 得电冰箱的发展日新月异 现代社会每一个家庭都处在快节奏的生活中人 们大多已无闲暇的时间和精力花费在经常性的采购日常生活用品上 因此集中 时间大量采购的新型生活方式已为越来越多的人所接受从而决定了大容量电冰 箱将是一种国际化的发展趋势 传统的机械式直冷式电冰箱的控制原理是根据 蒸发器的温度控制制冷压缩机的启 停 使电冰箱内的温度保持在设定温度范围 内 一般 当蒸发器温度升至 3 5 时启动压缩机制冷 当温度低于 10 20 时 停止制冷 关断压缩机 随着微机技术的飞速发展 单片机以其体积小 价格低 应用灵活等优点在 家用电器 仪器仪表等领域中得到了广泛的应用 采用单片机进行控制 可以使 电冰箱的控制更准确 灵活 直观 本次所设计的就是基于 51 单片机的电冰箱温度控制系统 以 AT89C51 单 片机为核心控制压缩机的启动和停止 解决了传统电冰箱控制系统存在的不足 可以使控制更准确 更灵活 本次设计的目的是设计一个温度控制系统 要求 1 利用键盘分别控制冷藏室 冷冻室温度 0 5 7 18 2 显示各室的温度值 2 3 制冷压缩机运行后若突然断电要有 30 秒延时 4 各个门开后超过 2 分钟要报警 本次设计的意义是通过此次设计加深对测控系统原理与设计课程的理解 掌握微机化测控系统设计的思路 了解一般设计过程 二 电冰箱温度控制系统硬件电路设计二 电冰箱温度控制系统硬件电路设计 1 总体设计方案 以 AT89S51 单片机为核心 来实现各个模块的功能 温度传感器模块 键 盘输入模块作为系统的输入模块 液晶显示模块 温度控制器模块 报警模块 作为系统的输出模块 构成基本电路 原理框图如图 2 1 所示 温度传感器 经指导老师建议 使用 DS18B20 因其自带 A D 转换模块 从设备环境的不同位置采集温度 单片机 AT89S51 获取采集的温度值 经处理 得到当前环境中一个比较稳定的温度值 再根据当前设定的温度上下限值 通 过加热和降温对当前温度进行调整 当采集的温度经处理后超过设定温度上限 时 单片机通过三极管驱动继电器开启降温设备 压缩制冷器 当采集的温度 经处理后低于设定温度下限时 单片机通过三极管驱动继电器开启升温设备 加热器 AT89S51 键盘电路 DS18B20 温度芯片 数据传输 MAX232 电平转 换芯片 PC 机 复位电路 LED 数据显示 时钟电路 3 图 2 1 冰箱控制原理图 当由于环境温度变化太剧烈或由于加热或降温设备出现故障 或者温度传 感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候 单片机通过三极管驱动扬声器发出警笛声 系统中将通过串口通讯连接 PC 机存储温度变化时的历史数据 以便观察 整个温度的控制过程及监控温度的变化全过程 2 主控制部分方案 AT89S51 是一个低功耗 高性能 CMOS 8 位单片机 片内含 4k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器 件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指 令系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储 单元 AT89S51 在众多嵌入式控制应用系统中得到广泛应用 2 1 AT89S51 主要性能特点 1 4k Bytes Flash 片内程序存储器 2 128 bytes 的随机存取数据存储器 RAM 3 32 个外部双向输入 输出 I O 口 4 2 个中断优先级 2 层中断嵌套中断 5 6 个中断源 继电器 1压缩制冷器 继电器 2加热器 报警电路 输入电源 4 6 2 个 16 位可编程定时器 计数器 7 2 个全双工串行通信口 8 看门狗 WDT 电路 9 片内振荡器和时钟电路 10 与 MCS 51 兼容 11 全静态工作 0Hz 33MHz 12 三级程序存储器保密锁定 13 可编程串行通道 14 低功耗的闲置和掉电模式 2 2 管脚说明 VCC 电源电压输入端 GND 电源地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据 存储器 它可以被定义为数据 地址的低八位 在 FIASH 编程时 P0 口作为原 码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 PDIP 封装的 AT89S51 管脚图 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能 接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且 5 作为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由 于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器 进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉 优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器 的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的 缘故 P3 口除了作为普通 I O 口 还有第二功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 T0 定时器的外部计数输入 P3 5 T1 T1 定时器的外部计数输入 P3 6 WR 外部数据存储器的写选通 P3 7 RD 外部数据存储器的读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 I O 口作为输入口时有两种工作方式 即所谓的读端口与读引脚 读端口时 实际上并不从外部读入数据 而是把端口锁存器的内容读入到内部总线 经过 某种运算或变换后再写回到端口锁存器 只有读端口时才真正地把外部的数据 读入到内部总线 89C51 的 P0 P1 P2 P3 口作为输入时都是准双向口 除 了 P1 口外 P0 P2 P3 口都还有其他的功能 RST 复位输入端 高电平有效 当振荡器复位器件时 要保持 RST 脚两 6 个机器周期的高电平时间 ALE PROG 地址锁存允许 编程脉冲信号端 当访问外部存储器时 地址 锁存允许的输出电平用于锁存地址的低位字节 在 FLASH 编程期间 此引脚 用于输入编程脉冲 在平时 ALE 端以不变的频率周期输出正脉冲信号 此频 率为振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用于定时目的 然而 要注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处 理器在外部执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 低电平有效 在由外部程序存储器取 指期间 每个机器周期两次 PSEN 有效 但在访问外部数据存储器时 这两次 有效的 PSEN 信号将不出现 EA VPP 外部程序存储器访问允许 当 EA 保持低电平时 则在此期间外 部程序存储器 0000H FFFFH 不管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程电源 VPP XTAL1 片内振荡器反相放大器和时钟发生器的输入端 XTAL2 片内振荡器反相放大器的输出端 2 3 下载程序 AT89SXX 系列单片机实现了 ISP 下载功能 故而取代了 89CXX 系列的下 载方式 也是因为这样 ATMEL 公司已经停止生产 89CXX 系列的单片机 现 在市面上的 AT89CXX 多是停产前的库存产品 1 控制线 共 4 根 1 输入 7 RST 复位输入信号 高电平有效 在振荡器工作时 在 RST 上作用两 个机器周期以上的高电平 将器件复位 EA Vpp 片外程序存储器访问允许信号 低电平有效 在编程时 其上 施加 12V 的编程电压 2 输入 输出 ALE PROG 地址锁存允许信号 输出 用做片外存储器访问时 低字 节地址锁存 ALE 以 1 6 的振荡频率稳定速率输出 可用做对外输出的时钟或 用于定时 在 EPROM 编程期间 作输入 输入编程脉冲 ALE 可以驱动 8 个 LSTTL 负载 3 输出 PSEN 片外程序存储器选通信号 低电平有效 在从片外程序存储器取 指期间 在每个机器周期中 当 PSEN 有效时 程序存储器的内容被送上 P0 口 数据总线 PSEN 可以驱动 8 个 LSTTL 负载 2 I O 口 4 个口 32 根 单片机 51 系列共有四个 8 位双向并行 I O 通道口 分别是 P0 P1 P2 P3 各具有特殊的电路结构 每位均有自己的锁存器 输出驱动 器和输入缓冲器 这种结构 在数据输出时可锁存 即输出新的数据之前 通 道口上原数据一直保持不变 但对输入信息是不锁存的 因此从外部输入的信 息必须保持到取数指令执行完为止 在这四个 8 位双向并行 I O 通道口中 我 们应该选择哪一个通道口作为输入信号和输出信号的端口呢 下面我们先来了 解一下四个通道口的结构 1 P0 口介绍 8 P0 口在访问外部存储器时 P0 口既是一个真正的双向数据总线口 又是 从分时输出 8 位地址口 它包括一个输出锁存器 两个三态缓冲器 一个输出 驱动电路和一个输出控制电路 2 P1 口介绍 P1 口是专门为用户使用的 I O 口 是准双向口 P1 口为 8 位准双向口 每 一位均可单独定义为输入或输出口 在编程校验期间 用做输入低位字节地址 P1 口可以驱动 4 个 LSTTL 负载 3 P2 口介绍 P2 口也是双向口 它是供系统扩展时输出高 8 位地址 如果没有系统扩展 时 也可以作为用户的 I O 口使用 P2 口作为外部数据存储器或程序存储器的 地址总线的高 8 位输出口 AB8 AB15 P0 口由 ALE 选通作为地址总线的低 8 位输出口 AB0 AB7 外部的程序存储器由 PSEN 信号选通 数据存储器则由 WR 和 RD 读写信号选通 因为 2 64k 所以 89S51 最大可外接 64kB 的程序存 储器和数据存储器 4 P3 口介绍 P3 口是个双功能口 第一功能作通用 I O 口 第二功能是作变异功能用 为适应引脚的第二功能的需要 增加了第二功能控制逻辑 在真正的应用电路 中 第二功能显得更为重要 由于第二功能信号有输入输出两种情况 我们分 别加以说明 P3 口的输入输出及 P3 口锁存器 中断 定时 计数器 串行口和特殊功能 寄存器有关 P3 口的第一功能和 P1 口一样可作为输入输出端口 同样具有字 节操作和位操作两种方式 在位操作模式下 每一位均可定义为输入或输出 表 2 1 P3 口的第二功能 端口引脚功能特征 9 P3 0串行输入口 RXD P3 1串行输出口 TXD P3 2外中断 0 INT0 P3 3外中断 1 INT1 P3 4定时 计数器 0 的外部输入口 T0 P3 5定时 计数器 1 的外部输入口 T1 P3 6外部数据存储器写选通 WR P3 7外部数据存储器读选通 RD 现在我们已经对四个 8 位双向并行 I O 口有了初步的了解 根据以上的介 绍我们知道只有 P1 口是标准的 I O 口 所以我们选用 P0 口作为数据端口 P0 口可逐位分别定义各口线为输入或输出线 2 4 AT89S51 单片机的中断系统 本次设计的报警器是利用外部中断触发单片机中断处理程序 以实现报警 的功能 所以 以下内容是对 89S51 单片机的中断系统的介绍 1 中断 程序执行过程中 允许外部或内部事件通过硬件打断程序的执行 使其转向为处理内部事件的中断服务程序中去 完成中断服务的程序后 CPU 继续原来被打断的程序 这样的过程称为中断过程 2 中断源 能产生中断的外部和内部事件 89S51 有 5 个中断源 1 INT0 外部中断 0 请求 低电平有效 通过 P3 2 引脚输入 2 INT1 外部中断 1 请求 低电平有效 通过 P3 3 引脚输入 3 T0 定时器 计数器 0 溢出中断请求 4 TI 定时器 计数器 1 溢出中断请求 10 5 TXD RXD 串行口中断请求 当串行口完成一帧数据的发送或接收时 便请求中断 每一个中断源都对应一个中断请求标志位 它们设置在特殊功能寄存器 TCON 和 SCON 中 当这些中断源请求中断时 相应的标志分别有 TCON 和 SCON 中的相应位来锁存 3 AT89S51 中断系统有以下 4 个特殊功能寄存器 1 定时器控制寄存器 TCON 用 6 位 2 串行口控制寄存器 SCON 用 2 位 3 中断允许寄存器 IE 4 中断优先级寄存器 IP 其中 TCON 和 SCON 只有一部分用于中断控制 通过对以上各特殊功能 寄存器的各位进行置位或复位等操作 可实现各种中断控制功能 4 中断的响应过程及中断矢量地址 中断处理过程可分为 3 个阶段 中断响应 中断处理和中断返回 89C51 的 CPU 在每个机器周期的 S5P2 期间顺序采样每个中断源 CPU 在下一个机器 周期 S6 期间按优先级顺序查询中断标志 如查询到某个中断标志为 1 则将在 接下来的机器周期 S1 期间按优先级进行中断处理 中断系统通过硬件自动将相 应的中断矢量地址装入 PC 以便进入相应的中断服务程序 表 2 既是各个中断 源对应的中断矢量地址 由于 89S51 系列单片机的两个相邻的中断源中断服务程序入口地址相距只 有八个单元 一般的中断服务程序是容纳不下的 通常是在相应的中断服务程 序入口地址中放一条常跳转指令 LJMP 这样就可以转到 64KB 任何可用区域了 表 2 2 中断源及其对应的矢量地址 11 中断源中断矢量地址 外部中断 0 0003H 定时器 计数器 0 T0 000BH 外部中断 1 0013H 定时器 计数器 1 T1 001BH 串行口中断 RI TI 0023H 中断服务程序从矢量地址开始执行 一直到返回指令 RETI 为止 RETI 指 令的操作一方面告诉中断系统该中断服务程序已执行完毕 另一方面把原来压 入堆栈保护断点地址从栈顶弹出 装入程序寄存器 PC 使程序返回到被中断的 程序断点处继续执行 5 在编写中断服务程序时应注意 1 在中断矢量地址单元处存放一条无条件转移指令 如 LJMP H 使中断程序可灵活的安排在 64KB 程序存储器的任何空间 2 在中断服务程序中 用户应注意用软件保护现场 以免中断返回后丢 失原寄存器 累加器中的信息 3 若要在执行当前中断程序时禁止更高优先级中断 则可先用软件关闭 CPU 中断或禁止某中断源中断 在中断返回前在开放中断 2 5 AT89S51 单片机的优势 1 性能强大 AT89S51 具有完整的输入输出 控制端口 以及内部程序存储空间 与我 们通常意义上的微机原理类似 可以通过外接 A D D A 转换电路及运放芯片 实现对传感器传送信息的采集 且能够提供以点阵或 LCD 液晶及外接按键实现 人机交互 能对内部众多 I O 端口连接步进电机对外围设备进行精确操控 具 有强大的工控能力 12 2 易于学习 AT89S51 系列单片机编写程序的基本流程 其语法结构与我们常用的计算 机 C 语言基本相同 不同之处在于增加了控制具体引脚工作的语句和命令 相 对于计算机 C 语言 单片机 C 语言更简练和明确 可以控制每个引脚的输入输出 状态 其主要语句集中在例如 ifelse while for 等循环与判断语句上 相比计算机 C 语言更简单 有过计算机 C 语言学习经历经过一段时间的熟悉就 能够熟练进行编程 使用 AT89S51 系列单片机编程 可以在没有实物单片机的情况下在普通电 脑上进行程序编写甚至是调试工作 一般工作中使用 Keil 公司开发的 51 单片 机编程软件进行编程 它采用目前流行的开友环境 集编辑 编译和仿真于一 体 在该软件上用户可以编写汇编语言或 C 语言源程序 并利用该软件生成单 片机能运行的程序 3 价格低廉 AT89S51 芯片价格便宜 适合对大批量的计量仪器进行规模化改造 其单 片售价不超过 5 元 3 测温模块的选择方案 3 1 DS18B20 简介 DS18B20 是一种单端通信的数字式温度传感器 这就大大减小了温度测量 电路的复杂程度 我们把单片机的一条 I O 分配给温度传感器 即可完成温度 采集 单片机通过对温度传感器的初始化 发出温度转换命令 写入和读出数 据的命令来实现温度的测量 本系统在温度采集中使用的 DS18B20 测温原理图如图 3 1 所示 图中低温 度系数晶振的振荡频率受温度的影响很小 用于产生固定频率的脉冲信号 送 给减法计数器 1 高温度系数晶振振荡频率随着温度变化 变化明显 所产生 的信号作为减法计数器 2 的脉冲输入 图中还隐含着计数门 当计数门打开时 13 DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数 进而完成温度测量 计数门的开启时间由高温度系数振荡器来决定 每次测量前 首先将 55 所对 应的一个基数分别置入减法计数器 1 温度寄存器中 图 3 1 DS18B20 测温原理图 DS18B20 是一种使用方便的温度传感器 其性能特点如下 1 具有独特的单线接口方式 只要求一个端口即可实现通信 2 内含 64 位经过激光修正的只读存储器 ROM 3 在 DS18B20 中的 每个器件上都有独一无二的序列号 4 实际应用中不需要外部任何元器件即可实现测温 5 测量温度范围在 55 到 125 之间 测量分辨率为 0 0625 6 数字温度计的分辨率用户可以从 9 位到 12 位选择 7 内部有温度上 下限告警设置 用户可分别设定各路温度的上 下限 8 支持多接点 9 可用数据线供电 电压范围 3 0 5 5V 14 10 负压特性 电源极性接反时 温度计不会因发热而烧毁 但不能正 常工作 系统所选的是 3 脚的 PR 35 封装 DS18B20 数字温度传感器 引脚功能如表 3 所示 表 3 1 DS18B20 详细引脚功能描述 DS18B20 的内部有一个高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM 后者存放高温度和低温度触发器 TH TL 高速暂存存储器由 9 个 字节组成 其分配如表 3 2 所示 当温度转换命令发布后 经转换所得的温度 值以二字节补码形式存放在高速暂存存储器的第 1 和第 2 个字节 单片机可通 过单线接口读到该数据 读取时低位在前 高位在后 对应的温度计算 当符 号位 S 0 时 直接将二进制位转换为十进制 当 S 1 时 先将补码变为原码 再计算十进制值 第 3 和第 4 字节是 TH 和 TL 的拷贝 是易失性的 每次上 电复位时被刷新 第 5 字节为配置寄存器 它主要用来确定温度值的数字转换 分辨率 6 7 8 字节保留未用 为全逻辑 1 第 9 字节是冗余检验字节 根据 DS18B20 的通信协议 主机控制 DS18B20 完成温度转换必须经过 3 个步骤 每一次读写之前都要对 DS18B20 进行复位 复位成功后发送一条 ROM 指令 最后发送 RAM 指令 这样才能对 DS18B20 进行预订的操作 表 3 2 DS18B20 暂存寄存器分布 15 表 3 3 ROM 指令 表 3 4 RAM 指令 主 CPU 将数据下拉 500 微秒 然后释放 DS18B20 收到信号等待 16 到 60 微秒 然后发出 60 到 240 微秒的存在低脉冲 主 CPU 收到此信号表示复位成 功 ROM 指令如表 3 3 所示 RAM 指令如表 3 4 所示 16 DS18B20 的温度采集过程 如图 3 2 所示 3 2 DS18B20 的工作时序 DS18B20 的工作时序主要包括初始化时序 写时序 读时序 初始化时 序下 1 先将数据线置高电平 2 延时 2ms 3 数据线拉到低电平 4 延时 750us 从 480us 到 960us 5 数据线拉到高电平 17 6 延时等待 如果初始化成功 在 15 到 60us 时间之内产生一个由 DS18B20 返回的低电平 据该状态可以来确定它的存在 但是应注意不能无限 的进行等待 不然会使程序进入死循环 所以要进行超时判断 7 若 CPU 读到了数据线上的低电平后 还要做延时 其延时的时间从发 出的高电平算起 第五步的时间算起 最少要 480us 8 将数据线再次拉高到高电平 1 后结束 DS18B20 写数据时序如下 1 数据线先置低电平 2 延时时间为 15us 3 按从低位到高位的顺序发送数据 一次只发送一位 4 延时时间为 45us 5 将数据线拉到高电平 6 重复上述步骤 直到发送完整个字节 7 最后将数据线拉高 从 DS18B20 读数据时序如下 1 将数据线拉高 2 延时 2us 3 将数据线拉低 4 延时 6us 5 将数据线拉高 6 延时 4us 7 读数据线的状态得到 1 个状态位 并且进行数据处理 18 8 延时 30us 9 重复上述步骤 直到读取完一个字节 3 3 DS18B20 的连接电路 DS18B20 的常用连接电路图如图 3 3 所示 图 3 3 DS18B20 连接电路 4 各单元的设计 4 1 单片机时钟电路及复位电路 1 时钟电路 时钟电路对于单片机系统而言是必须的 因为单片机内部是由各种各样的 数字逻辑器件构成 而这些器件又必须按时间顺序完成 所以在管脚的 XTAL1 和 XTAL2 引脚外接石英晶体和俩个谐振电容 电容采用 2 个 30u 电容 采用 12M 的石英晶体 这样就可以构成单片机的基本时钟电路 时钟频率为 12M 电路图如图 4 1 所示 19 图 4 1 单片机时钟电路 2 复位电路 复位电路是对单片机进行初始化操作 使单片机处于一个确定的初始状态 而要 AT89S51复位得在 RESET 引脚上加5V 的高电平信号就可以了 复位电路参 数为30U 的电解电容和10k 的电阻 如图4 2为单片机的复位电路 图 4 2 复位电路 复位电路的作用是使单片机实行位操作 复位主要操作是把 PC 初始化为 0000H 使单片机从程序存储器的 0000H 单元开始执行程序 程序存储器的 0003H 单元即 MCS 51 单片机的外部中断 0 的中断处理程序的入口地址留出的 0000H 00002H 三个单元地址 仅能够放置一条转移指令 因此 单片机的主 程序的第一条指令通常情况下是一条无条件转移指令 除 PC 之外 复位还对 其他一些特殊功能的寄存器也有影响 它们的复位状态如下表所示 利用它们 的复位状态 可以减少应用程序中的初始化编程 如表 4 1 所示 SP 07H P0 P4 的锁存器均为 FFH 外 其他所有的寄存器均为 0 单片机的复位 20 状态不影响片内 RAM 的状态 表 4 1 寄存器复位状态 寄存器复位状态寄存器复位状态 PC0000HTMOD00H ACC00HTCON00H PSW00HTL000H SP07HTH000H DPTR0000HTL100H P0 P3FFHTH100H IP 0 xx00000BSCON00H IE0 xx00000BPCON0 xx00000B 3 单片机最小系统 根据 AT89S51 的引脚定义 单片机 时钟电路 复位电路构成了单片机最 小系统 如图 4 3 所示 21 图 4 3 单片机的最小系统 4 2 键盘 单片机应用系统中除了复位按键有专门的复位电路 以及专一的复位功能外 其它的按键或键盘都是以开关状态来设置控制功能或输入数据 键开关状态的可靠输入 为了去抖动我采用软件方法 它是在检测到有键 按下时 执行一个 10ms 的延时程序后 再确认该键电平是否仍保持闭合状态 电平 如保持闭合状态电平则确认为真正键按下状态 从而消除了抖动影响 在这种行列式矩阵键盘非编码键盘的单片机系统中 键盘处理程序首先执 行等待按键并确认有无按键按下的程序段 当确认有按键按下后 下一步就要 识别哪一个按键按下 对键的识别通常有两种方法 一种是常用的逐行扫描查 询法 另一种是速度较快的线反转法 对照图示的 4 4 键盘 说明线反转法工作原理 首先辨别键盘中有无键按 下 有单片机 I O 口向键盘送全扫描字 然后读入行线状态来判断 方法是 向行线输出全扫描字 00H 把全部列线置为低电平 然后将列线的电平状态读 22 入累加器 A 中 如果有按键按下 总会有一根行线电平被拉至低电平从而使行 线不全为 1 判断键盘中哪一个键被按下是通过将列线逐列置低电平后 检查 行输入状态来实现的 方法是 依次给列线送低电平 然后查所有行线状态 如果全为 1 则所按下的键不在此列 如果不全为 1 则所按下的键必在此列 而且是在与零电平行线相交的交点上的那个键 键盘共有 16 个按键 用于方便设定温度 数字按键 输入数字 0 9 设置的确认 修改设置温度时进行确认 设置的清除 修改设置温度时进行删除 开启电源 关闭电源 显示及设置转换到温度点 1 按此按键后 显示预设置温度的 数码管闪烁 显示及设置转换到温度点 2 按此按键后 显示预设置温度的 数码管闪烁 表 4 1 键盘的按键分布 P2 00123 P2 14567 F1 确认 清除 09 关闭 开启 F2 23 4 3 温度控制及超温和超温警报单元 当采集的温度经处理后超过规定温度上限时 单片机通过 P1 4 输出控制 信号驱动三极管 D1 使继电器 K1 开启降温设备 压缩制冷设备 当采 集的温度经处理后低于设定温度下限时 单片机通过 P1 5 输出控制信号驱动 三极管 D2 使继电器 K2 开启升温设备 加热器 1 当由于环境温度变化 太剧烈或由于加热或降温设备出现故障 或者温度传感头出现故障导致在一段 时间内不能将环境温度调整到规定的温度限内的时候 单片机通过三极管驱动 扬声器发出警笛声 具体电路连接如图 4 1 所示 P2 289F1F2 P2 3清除开启关闭确定 P2 4P2 5P2 6P2 7 24 图 4 1 具体电路连接图 4 4 数码管的显示电路 1 LED 显示器 LED 显示器是由若干个发光二极管组成的显示字段的显示器件 当发光二 极管导通时 相应的一个点或一个笔画发光 控制不同组合的二极管导通就能 显示不同字符 LED 显示器有多种形状 如 米字型显示器 点阵显示器和七 段数码显示器等 在单片机系统中使用最多的是七段数码管显示器 七段 LED 数码显示器是由 a b c d e f g h 这 8 段发光二极管组 成的 8 字型显示器件 根据内部发光二极管的连接形式不同 LED 有共阴 极和共阳极两种 所有发光二极管的阳极连在一起称共阳极 LED 阴极连在一 起称共阴极 LED LED 的结构及连接图如图 4 2 所示 25 图 4 2 LED 结构及连接图 2 LED 的工作原理 当选用共阴极的 LED 显示器时 所有发光二极管的阴极连在一起接地 当 某个发光二极管的阳极接高电平时 对应的二极管点亮 因此要显示某字型的 相应段的二极管点亮 实际上就是送一个用不同电平组合代表的数据字来控制 LED 的显示 此数据称为字符的段码或字形码 字形码与 LED 显示器各段的 关系如表 4 2 所示 表 4 2 字形码与 LED 显示器各段的关系 D7D6D5D4D3D2D1D0 dpgfedcba 3 LED 的接口电路 LED 数码显示接口电路分静态显示和动态显示两种 所谓静态显示 就是每个显示器都要占用独立的具有锁存功能的 I O 接口 显示的字型码送到接口电路 在字位数较多时 电路比较复杂 需要的接口芯 片较多 成本也较高 因此在实际应用中常常应用动态显示器接口电路如图 4 9 所示 它是把所有显示器的同名字段互相连接在一起 并把它们连到字形口 上 每个数码管的公共端受单片机的 I O 口控制 CPU 送出字段码 只有公共 端符合条件的数码管才显示 根据这个原理 采用分时导通的办法 利用人眼 的滞留性 达到动态扫描的目的 26 图 4 3 数码管的显示电路 4 5 蜂鸣器电路 本次设计采用蜂鸣器电路如图 4 11 所示作为报警装置 图 4 4 蜂鸣器电路 4 6 接口通讯单元 1 max232 资料简介 27 该产品是由德州仪器公司 TI 推出的一款兼容 RS232 标准的芯片 由于 电脑串口 rs232 电平是 10v 10v 而一般的单片机应用系统的信号电压是 ttl 电 平 0 5v max232 就是用来进行电平转换的 该器件包含 2 驱动器 2 接收器和一 个电压发生器电路提供 TIA EIA 232 F 电平 该器件符合 TIA EIA 232 F 标准 每一个接收器将 TIA EIA 232 F 电平转 换成 5 V TTL CMOS 电平 每一个发送器将 TTL CMOS 电平转换成 TIA EIA 232 F 电平 2 主要特点 1 单 5V 电源工作 2 LinBiCMOSTM 工艺技术 3 两个驱动器及两个接收器 4 30V 输入电平 5 低电源电流 典型值是 8mA 6 符合甚至优于 ANSI 标准 EIA TIA 232 E 及 ITU 推荐标准 V 28 7 ESD 保护大于 MIL STD 883 方 法 3015 标准的 2000V 28 图 4

温馨提示

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

评论

0/150

提交评论