




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计主要元器定时开关插座毕业论文 目 录 引言 1 1 设计要求及构思 2 1 1 设计要求 2 1 2 设计构思 2 2 设计方案分析确定 3 2 1 系统框图 3 2 2 开关的选择 3 2 3 显示方式选择 4 2 4 时钟的实现及单片机的选择 4 2 5 电源部分的选择 4 2 6 按键控制部分的实现 5 3 主要元器件原理及其应用 5 3 1 继电器介绍 5 3 1 1 继电器的继电特性 5 3 1 2 继电器工作原理及特性 6 3 1 3 继电器主要产品技术参数 7 3 1 4 继电器的选用 7 3 2 单片机 AT89S52 介绍 8 3 3 液晶 LCD12232 介绍 9 4 系统硬件电路设计 10 4 1 电源电路 10 4 2 单片机最小系统及液晶显示 12 4 3 继电器驱动电路 13 4 4 键盘电路 14 5 系统软件程序设计 15 5 1 主程序的设计 16 5 2 时钟程序设计 17 5 3 时钟设置及定时设置程序设计 18 6 系统软硬件的制作与调试 19 6 1 硬件的制作 19 6 2 调试方案 19 6 3 硬件电路调试 19 6 3 1 独立元件的检测 19 6 3 2 电源电路的调试 20 6 3 3 单片机最小系统的调试 20 6 3 4 显示模块的调试 20 6 3 5 键盘模块的调试 20 6 3 6 继电器电路的调试 21 6 4 软件调试 21 6 5 整体系统调试 21 7 结论 23 谢 辞 24 参考文献 25 附 录 1 26 附 录 2 28 附 录 3 45 引言 现如今 往往由于某些特殊原因给我们的生活或工作带来一些困扰和遗憾 比如 家中的水塔忘记抽水而造成生活的一时不便 学校的起床广播因值班人员睡过头而推 迟广播 家中的鱼缸因太久没有供氧造成鱼儿缺氧死亡 许多球迷或者新闻爱好者因 为错过了开机时间而与精彩球赛或者新闻擦肩而过 夏天里风扇的定时时间过短 一 般为 1 个小时 不便于晚上分段定时使用等等 而上面的这些问题都可以通过定时开 关插座的定时功能得到解决 随着电器产品待机能耗的迅速增长 家庭和社会付出了太多的代价 中国节能认 证中心对家庭待机能耗做过的调查显示 待机能耗占到家庭电力消耗的 10 左右 仅 以电视机为例 平均每台电视机的待机能耗是 8 07W 按每天待机 2 小时大约耗电 0 016 度 定时开关插座能够实现定时给电器供电 在工作时间之外把电器的电源切断 这样就能解决电器的待机损耗 达到节约用电的目的 定时开关插座是一款能在特定时间段内控制电器通 断电的开关插座 能实现 24 小时制和 100 小时制两种时钟走时模式 在 24 小时制时钟模式 可以实现 6 组 24 小 时内的任意定时 定时时间范围最小为 1 分钟 在 100 小时制时钟模式 可以实现 6 组 100 小时内的任意定时 定时时间范围最小也是 1 分钟 本文阐述了定时开关插座的硬件电路设计 软件算法设计 给出了自动开关插座的 设计和定型方案 它可以对家中一些需要在特定时间对电器进行自动断 通电控制 而不 需要拔掉插头 减少电器的待机损耗 解决生活中的一些烦恼 1 设计要求及构思 1 1 设计要求 本次设计要求实现一个具有定时 按键设置及控制 定时时间显示等功能的定时 开关插座 具体要求及指标如下 1 可以设定三组定时时间值 2 设定的定时时间调整范围为 0 99 分钟 3 具有开始 停止操作按键 4 具有定时时间显示和时钟显示 1 2 设计构思 根据题目和设计功能要求 系统的实施方案可以分为以下几个步骤 首先 通过 模式 模式 0 为 24 小时制 模式 1 为 100 小时制 选定时钟的走时方式 作为定时时 间的判断标准 然后通过按键设置定时时间分别存储在定时开始数组 begin 和结束数组 end 通过数组的值与时钟的值进行比较 时间在定时数组时间范围内则继电器接通 否则断开 用一个红色发光二极管的亮 灭来指示继电器的通 断的状态 定时开关 插座的显示则用数码管来实现 电源部分用 220V 转换为直流 5V 给定时开关系统供电 并用干电池做储备电源 防止 220V 交流电断电了单片机控制部分就停止工作 失去作 用 用 4 3 键盘实现时钟 定时的设置及开始 停止等按键设置功能 鉴于以上的构思 定时开关可以实现功能扩展 具体实现的功能指标如下 1 可以设定六组定时时间值 2 设定的定时时间调整范围分为两种情况 模式 0 状态时可设定的定时时间调整范围为 0 24 小时 模式 1 状态时可设定的定时时间调整范围为 0 100 小时 3 具有开始 停止操作按键 4 具有定时时间显示和时钟显示 具有显示模式 显示目前定时组别 定时时 间设置等功能 5 在 220V 交流电断电的情况下 干电池仍能保证单片机的定时状态及时钟走 时正常工作 待交流电通电后干电池停止供电 转换为 220V 交流电转为 5V 直流电供 电 2 设计方案分析确定 2 2 开关的选择 现代自动控制设备中 都存在一个电子电路 电气电路的互相连接的问题 一 方面要是电子电路的控制信号能够控制电气电路的执行元件 电动机 电灯 热水器 等 另一方面又要为电子线路的电器电路提供良好的电隔离 以保护电子电路和人身 的安全 电子继电器和光耦合器便能起到这一桥梁的作用 下面简要介绍各个方案的 特点 方案一 采用继电器作为控制 220V 通 断的开关 固态继电器 SSR 与机电继电 器相比 是一种没有机械运动 不含运动零件的继电器 但它具有与机电继电器本质 上相同的功能 SSR 是一种全部由固态电子元件组成的无触点开关元件 他利用电子 元器件的点 磁和光特性来完成输入与输出的可靠隔离 利用大功率三极管 功率场 效应管 单项可控硅和双向可控硅等器件的开关特性 来达到无触点 无火花地接通 和断开被控电路 选用 SRD 05VCD SL C 继电器最大电路可达到 10A 即继电器的正 常工作范围为 0 到 2200 瓦 可以给大部分家用电器供电 2 3 显示方式选择 在模拟电子和数字电子中 常用显示数据的有数码管和液晶显示器 方案一 采用 LED 数码管显示 虽然功耗低 控制简单 但却只能显示数字和一 些简单的字符 而且显示信息少 需要较多位的数码管 占用了较多的单片机 I O 口 没有较好的人机界面 2 4 时钟的实现及单片机的选择 时钟的实现可已通过使用时钟芯片或者单片机的定时器实现 下面简要介绍几种 方案的特点 单片机仅用于控制继电器 键盘 实现时钟和定时 用 51 结构的有 Atmel 的 AT89CXX 系列 AT89SXX 系列 AT89C20 系列 20 引脚 或 STC 的所有 单片机都可以实现 根据在学校比较流行的学习单片机是 AT89SXX 系列 而且 AT89S52 单片机便宜 购买方便 故单片机选用 AT89S52 单片机 方案一 时钟通过使用时钟芯片来实现 控制部分通过使用单片机来实现 时钟 芯片种类非常多 有内置晶振及充电电池的 也有外置晶振的 现在流行的时钟芯片 有 DS1302 DS1307 PCF8485 SB2068 等 使用时钟芯片可以得到准确的时钟走时 可用简单的程序实现定时开关插座的定时功能 方案二 时钟通过单片机的内部定时器来实现时钟 单片机的内部定时器可实现 较为精确的时钟走时 定时 50 毫秒的误差率极小 可达到定时开关插座的使用要求 使用单片机内部定时器可简化硬件电路 可以节省开支 但是编程的难度有所提高 本次设计的时钟走时用单片机定时器已经可以完全达到定时开关插座的使用要求 并可省去时钟芯片 节省开支 考虑到软件的难度增加可换来更好的性价比 所以选 用方案二 2 5 电源部分的选择 电源给单片机及继电器等使用 5V 直流电的器件提供电源 供系统正常工作 使用交流电和干电池混合给系统供电 在交流电不失效的情况下由交流电转 5V 直 流电供电 在交流电失效情况下由干电池供电 这样就能解决运行成本过高或者在交 流电失效时丢失原先设置数据的问题 本方案对本设计最为合适 综上所述 考虑到成本 实用性等问题 对定时开关插座系统供电方案四是最为 合适的 2 6 按键控制部分的实现 时钟时间和定时时间的设置功能可以通过按键来实现 按键的实现可以通过以下 两种方案实现 使用矩阵键盘实现 矩阵键盘可以用较少的 I O 口实现多个按键功能 能节省更 多的 I O 口 利于系统扩展功能 根据本定时开关插座的设置要求 要用到 12 个按键 通过两个方案的对比 方案 二的实施办法更符合要求 3 主要元器件原理及其应用 本次设计中主要器件有继电器 51 系列单片机 AT89S52 数码管 5V 稳压芯片 7805 在介绍系统的硬件设计之前 下面先简要介绍一下这些关键器件的原理及应用 3 1 继电器介绍 继电器是一种电子控制器件 它具有控制系统 又称输入回路 和被控制系统 又称输出回路 通常应用于自动控制电路中 它实际上是用较小的电流去控制较大 电流的一种 自动开关 故在电路中起着自动调节 安全保护 转换电路等作用 3 1 1 继电器的继电特性 继电器的输入信号 x 从 0 连续增加达到衔铁开始吸合时的动作值 xx 继电器的输 出信号立刻继续增大 输出信号 y 将不再起变化 当输入量 x 从某一大于 xx 值下降到 xf 继电器开始释放 常开触点断开 我们把继电器的这种特性叫做继电特性 也叫 继电器的输入 输出特性 释放值 xf 与动作值 xx 的比值叫做反馈系数 即 Kf xf xx 触点上输出的控制功率 Pc 与线圈吸收的最小功率 P0 之比叫做继电器的控制系数 即 Kc Pc P0 3 1 2 继电器工作原理及特性 1 电磁继电器的工作原理和特性 电磁式继电器一般由铁芯 线圈 衔铁 触点簧片等组成的 只要在线圈两端 加上一定的电压 线圈中就会流过一定的电流 从而产生电磁效应 衔铁就会在 电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯 从而带动衔铁的动触点与静触 点 常开触点 吸合 当线圈断电后 电磁的吸力也随之消失 衔铁就会在弹簧的 反作用力返回原来的位置 使动触点与原来的静触点 常闭触点 释放 这样吸 合 释放 从而达到了在电路中的导通 切断的目的 对于继电器的 常开 常闭 触点 可以这样来区分 继电器线圈未通电时处于断开 状态的静触点 称为 常开 触点 处于接通状态的静触点称为 常闭触点 2 热敏干簧继电器的工作原理和特性 热敏干簧继电器是一种利用热敏 磁性材料检测和控制温度的新型热敏开关 它 由感温磁环 恒磁环 干簧管 导热安装片 塑料衬底及其他一些附件 组成 热 敏干簧继电器不用线圈励磁 而由恒磁环产生的磁力驱动开关动作 恒磁环能否向 干簧管提供磁力是由感温磁环的温控特性决定的 3 固态继电器 SSR 的工作原理和特性 固态继电器是一种两个接线端为输入端 另外两个接线端为输出端的四端器件 中间采用隔离器件实现输入输出的电隔离 固态继电器按负载电源类型可分为交流型和直流型 按开关型式可分为常开型和 常闭型 按隔离型式可分为混合型 变压器隔离型和光电隔离型 其中以光电隔离型 最多 4 磁簧继电器 磁簧继电器是以线圈产生磁场将磁簧管发生动作的继电器 为一种线圈传感装置 因此磁簧继电器具有尺寸小 轻量 反应速度快 短跳动时间等特性 当整块铁磁金属或者其它导磁物质与之靠近的时候发生动作 开通或者闭合电路 由永久磁铁和干簧管组成 永久磁铁 干簧管固定在一个不导磁也不带有磁性的支架 上 以永久磁铁的南北极的连线为轴线 这个轴线应该与干簧管的轴线重合或者基本 重合 由远及近的调整永久磁铁与干簧管之间的距离 当干簧管刚好发生动作 对于 常开的干簧管 变为闭合 对于常闭的干簧管 变为断开 时 将磁铁的位置固定下 来 这时 当有整块导磁材料 例如铁板同时靠近磁铁和干簧管时 干簧管会再次发 生动作 恢复到没有磁场作用时的状态 当该铁板离开时 干簧管即发生相反方向的 动作 磁簧继电器结构坚固 触点为密封状态 耐用性高 可以作为机械设备的位置 限制开关 也可以用以探测铁制门 窗等是否在指定位置 5 光继电器 光继电器为 AC DC 并用的半导体继电器 是发光器件和受光器件一体化的器件 输入侧和输出侧电气性绝缘 但信号可以通过光信号传输 其特点为寿命为半永久性 微小电流驱动信号 高阻抗绝缘耐压 超小型 光传 输 无接点等 主要应用于量测设备 通信设备 保全设备 医疗设备等 3 1 3 继电器主要产品技术参数 1 额定工作电压 额定工作电压是指继电器正常工作时线圈所需要的电压 也就是控制电路的控制 电压 根据继电器的型号不同 可以是交流电压 也可以是直流电压 2 直流电阻 直流电阻是指继电器中线圈的直流电阻 可以通过万能表测量 3 吸合电流 吸合电流是指继电器能够产生吸合动作的最小电流 在正常使用时 给定的电流 必须略大于吸合电流 这样继电器才能稳定地工作 而对于线圈所加的工作电压 一 般不要超过额定工作电压的 1 5 倍 否则会产生较大的电流而把线圈烧毁 4 释放电流 释放电流是指继电器产生释放动作的最大电流 当继电器吸合状态的电流减小到 一定程度时 继电器就会恢复到未通电的释放状态 这时的电流远远小于吸合电流 5 触点切换电压和电流 触点切换电压和电流是指继电器允许加载的电压和电流 它决定了继电器能控制 电压和电流的大小 使用时不能超过此值 否则很容易损坏继电器的触点 3 1 4 继电器的选用 1 先了解必要的条件 控制电路的电源电压 能提供的最大电流 被控制电路中的电压和电流 被控电路需要几组 什么形式的触点 选用继电器时 一般控制电路的电源电 压可作为选用的依据 控制电路应能给继电器提供足够的工作电流 否则继电器吸合 是不稳定的 2 查阅有关资料确定使用条件后 可查找相关资料 找出需要的继电器的型号 和规格号 若手头已有继电器 可依据资料核对是否可以利用 最后考虑尺寸是否合 适 3 注意器具的容积 若是用于一般用电器 除考虑机箱容积外 小型继电器主 要考虑电路板安装布局 对于小型电器 如玩具 遥控装置则应选用超小型继电器产 品 通过上面的性能了解和比较 及考虑的器件的性价比 本设计选择电磁继电器 3 2 单片机 AT89S52 介绍 AT89S52 单片机片内集成 256 字节程序运行空间 8K 字节 Flash 存储空间 支持最大 64K 外部存储扩展 根据不同的运行速度和功耗的要求 时钟频率可以设 置在 0 33M 之间 片内资源有 4 组 I O 控制端口 3 个定时器 8 个中断 软件 设置低能耗模式 看门狗和断电保护 可以在4V 到 5 5V 宽电压范围内正常工作 不断发展的半导体工艺也让该单片机的功耗不断降低 同时 该单片机支持计算机 并口下载 简单的数字芯片就可以制成下载线 根据不同场合的要求 这款单片机 提供了多种封装 本次设计根据最小系统有时需要更换单片机的具体情况 使用双 列直插 DIP 40 的封装 如图 3 1 所示 下面对定时开关系统中使用到的管脚进行 简单说明 图 3 1 DIP 40 封装 89S52 引脚图 P0 口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱动 8 个 TTL 逻辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 当访问外部程序 和数据存储器时 P0 口也被作为低 8 位地址 数据复用 在这种模式下 P0 不具 有内部上拉电阻 P1 口 P1 口是一个具有内部上拉电阻的 8 位双向 I O 口 P1 输出缓冲器能驱 动 4 个 TTL 逻辑电平 对 P1 端口写 1 时 内部上拉电阻把端口拉高 此时可 以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将 输出电流 IIL P2 口 P2 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出缓冲器能驱 动 4 个 TTL 逻辑电平 对 P2 端口写 1 时 内部上拉电阻把端口拉高 此时可 以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将 输出电流 IIL P3 口 P3 口是一个具有内部上拉电阻的 8 位双向 I O 口 P3 输出缓冲器能 驱动 4 个 TTL 逻辑电平 对 P3 端口写 1 时 内部上拉电阻把端口拉高 此时 可以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 IIL RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电平 将是单片机复位 3 3 液晶 LCD12232 介绍 现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了 12232 型 LCD 显示模块具有体积小 功耗低 显示内容丰富 价格便宜 性价比高等特点 下面介绍 LCD12232 的管脚功能 工作参数 电气特性 LCD12232 的引脚说明见表 3 1 表 3 1 液晶 12232 引脚说明 PCB 板引脚号12232 112232 212232 3 1VDDVSS 2GNDVDD 3VLCDV0 4RETA0 5CS1CS1 6CS2CS2 7R WCL 外振时钟 8A0 RD 9D0 WR 10D1D0 11D2D1 同 12232 1 引脚 12D3D2 13D4D3 14D5D4 15D6D5 16D7D6 17背光D7 18背光 res 19背光 20背光 同 12232 1 引脚 VDD 逻辑电源正 GND VSS 逻辑电源地 VLCD VEE V0 LCD 驱动电源 RET 复位端 对于 68 系列 MPU 上升沿 L H 复位 且复位后电平须保持为高电平 H 对于 80 系列 MPU 下降沿 H L 复位 且复位后电平须保持为低电平 L CS1 读写使能 对于 68 系列 MPU 连接使能信号引脚 高电平有效 对于 80 系列 MPU 连接 RD 引脚 低电平有效 CS2 同 E1 引脚 RD 读允许 低电平有效 WR 写允许 低电平有效 R W 读写选择 对于 68 系列 MPU 高电平时读数据 低电平时写数据 对于 80 系列 MPU 低电平时允许数据传输 上升沿时锁定数据 A0 数据 指令选择 高电平 数据 D0 D7 将送入显示 RAM 低电平 数据 D0 D7 将送入指令执行器执行 D0 D7 数据输入输出引脚 工作参数 1 逻辑工作电压 2 4 6 0V 2 LCD 驱动电压 3 0 13 5V 3 工作温度 0 55 常温 20 70 宽温 4 保存温度 10 70 电气特性 1 输入高电平 3 5Vmin 2 输入低电平 0 55Vmax 3 输出高电平 3 75Vmin 4 输出低电平 1 0Vmax 5 工作电流 2 0mAmax 4 系统硬件电路设计 整个系统的硬件设计可以分为四个模块 电源电路 单片机最小系统及液晶显示 继电器工作电路 键盘电路 电源电路为整个系统供电 包括单片机 AT89S52 继电 器 键盘 LCD12232 及其他外围电路 电源电路分两个部分 1 由 220V 交流电 经变压器和 7805 稳压电路转为 5V 直流电给系统供电 2 由 4 节干电池作为储备电 源 在交流电失效时给系统供电 以确保单片机的正常运行 在电源电路给系统供电 时 绿色指示灯点亮 只是当前供电正常 单片机最小系统部分是整个系统的智能控 制部分 也是整个系统的核心部分 单片机在实现时钟的同时 也负责键盘检测 驱 动液晶显示 实现定时功能 并负责控制继电器的通 断 红色指示灯的亮 灭指示 继电器的通 断状态 液晶在单片机的控制下显示时钟 定时组别及定时时间的信息 继电器在单片机的控制下实现通 断 从而达到控制插座通 断电的目的 4 1 电源电路 整个系统的供电电源如图 4 2 所示 系统要提供稳定的直流 5V 供单片机及其所控 制的外围电路 包括液晶 键盘 继电器等 和提供 220 交流电给插座 在电源的设 计中 用 220V 交流电经过变压器降压后经 7805 稳压后给单片机控制系统供电 7805 三端稳压集成芯片有很多种型号 但是标称最大输出电流均为 1 5A 在实际应用中 该最大输出电流往往取决于两个方面 1 足够大的散热面积 2 在设计中 必 须保证 7805 的输入电压 Vi 和输出电压 Vo 的压差大于 2 5V 即 Vi Vo 2 5V 否则 会失去稳压能力 同时单片机控制系统还用 6V 干电池作为储备电源 当交流电源失电 或者失效时 电压为 6V 的直流电源通过二极管投入作用 硅二极管的导通压降约为 0 2V 因袭满足系统的电源要求 P25 接的是经 5W 变压器降压后的交流电 D33 二极 管起到保护电路的作用 发光二级 DS11 是指示电源是否有电压输出 Header2 所接的 是 由干电池提供 6V 直流电的输入接口 2 接正 1 接负 X78xx 系列是三端正电源稳压电路 它的封装形式为 TO 220 它有一系列的稳固 电压输出 应用非常的广泛 每种类型由于内部电流的限制 以及过热保护和安全工 作区的保护 使它基本上不会损坏 如果能够提供足够的散热片 它们就能够提供大 于 1 5A 的输出电流 虽然是按照固定电压值来设计的 但是当接入适当的外部器件后 就能获得各种不同的电压和电流 7805 使用时应该注意的事项 在实际应用中 应在三端集成稳压电路上安装足够大的散热器 当然小功率的条 件下不用 当稳压管温度过高时 稳压性能将变差 甚至损坏 当制作中需要一个能输出 1 5A 以上电流的稳压电源 通常采用几块三端稳压电路 并联起来 是其中最大输出电流为 N 个 1 5A 但应用时需要注意 并联使用的集成稳 压电路应采用同一厂家 同一批号的产品 以保证参数的一致 另外在输出电流上留 有一定的流量 以避免个别集成稳压电路失效时导致其他电路的连锁烧毁 7805 稳压 管如图 4 1 所示 图 4 1 7805 稳压管管脚说明 IN 1 2 OUT 3 GND U55 LM7805CT 103 c55 Cap 104 c56 Cap 100UF C66 Cap Pol2 100UF C67 Cap Pol2 D2 Bridge1 1 2 P66 Header 2H 1 2 P55 Header 2 1 2 P25 Header 2 DS11 LED0 1K R44 Res2 D33 Diode 1N4007 D22 Diode 1N4007 图 4 2 电源电路 4 2 单片机最小系统及液晶显示 单片机控制电路是整个系统的核心 完成数据处理和控制任务 电路原理图如图 4 3 所示 本次设计采用的单片机的型号为 AT89S52 单片机晶振为作用是为系统提供基本 的时钟信号 通常一个系统共用一个晶振 便于各部分保持同步 有些通讯系统的基 频和射频使用不同的晶振 而通过电子调整频率的方法保持同步 C1 C2 叫负载电容 一般单片机的晶振工作于并联谐振状态 也可以理解为谐振 电容的一部分 它是根据晶振厂家提供的晶振要求的负载电容选值的 换句话说 晶 振的频率就是在它提供的负载电容下测得的 能最大限度的保证频率值的误差 也能 保证温漂等误差 两个电容的取值都是相同的 或者说相差不大 如果相差太大 容 易造成谐振的不平衡 容易造成停振或者干脆不起振 P2 是单片机的下载口 用于对 单片机烧入程序 按键 S 及其外围电路是实现单片机的硬件复位功能 P5 的管脚与液晶 12232 的管脚相对应 即作为液晶的底座 LCD12232 可以显 示 4 行 所要显示的信息有 第一个行显示时钟的时 两位 分 两位 秒 两 位 时 分 秒之间用 隔开 在时钟前面显示大写字母 T 0 其中数字式 从 0 到 5 可变的 显示的是当前定时的组别 第二行显示的是字母 begin 冒号 后面显示的是当前定时开始的时 两位 分 两位 时 分之间用 隔开 第三行显示的是字母 stop 冒号后面显示的是当前定时结束的时 两位 分 两位 时 分之间用 隔开 第四行仅显示运行模式信息 mod 0 数字 部分可在 0 和 1 变化 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RST 9 P3 0 RxD 10 P3 1 TxD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 VSS 20 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 PSEN 29 ALE 30 EA VPP 31 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0 39 VCC 40 U1 P80C31SBPN 12 Y1 12MHz 30pF C2 Cap 3 3k R0 Res3 S SW PB VCC 30pF C1 Cap DS1 DS2 DS3 DS4 DS5 DS6 DS7 DS8 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 DS1 DS2 DS3 DS4 DS5 DS6 DS7 DS8 P9 P10 P9 P10 1K R4 Res2 100pF C3 Cap Pol1 1 2 3 4 5 6 7 8 9 P3 Header 9H VCC 12 34 56 78 910 P2 Header 5X2 VCC VCC S00 S11 S22 S33 S44 S55 S66 S77 S55 S66 S77 1 2 3 4 5 6 7 8 9 P4 Header 9 VCC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P5 Header 20 DS1 DS2 DS3 DS4 DS5 DS6 DS7 DS8 P10 P4 P5 P6 P9 P3 VCC 图 4 3 单片机最小系统及液晶显示 4 3 继电器驱动电路 继电器的驱动电路如图 4 4 所示 这是典型的继电器驱动电路 单片机是一个弱电 器件 一般情况下它们大多工作在 5V 甚至更低 驱动电流在 mA 级以下 而要把它 用于一些大功率场合 比如继电器驱动 显然是不行的 所以就要有一个环节来衔接 这个环节就是所谓的 功率驱动 继电器驱动就是一个典型的 简单的功率驱动环节 图中三极管 8050 有两个作用 一个是起放大作用 一个是起开关作用 严格来讲 开关作用是放大作用的极限情况 P1 处连接的是单片机的 P2 7 口 P2 7 口给出高电 平时 三极管处于导通状态 并起放大作用 这样 继电器就能得到足够的驱动电流 来正常工作 当 P2 7 口给出低电平时 三极管不工作 继电器因没电流通过而不工作 二极管 4148 起到保护作用 发光二极管 LED0 用于指示继电器是处于导通状态 灯亮 还是处于断开状态 灯灭 3 3K R3 Res1 Q1 8050 VCC K0 Relay SPST DS22 LED0 1K R55 Res2 VCC D20 4148 P1 图 4 4 继电器驱动电路 4 4 键盘电路 键盘电路如图 4 5 所示 使用矩阵键盘能用较少的 I O 口实现较多的按键功能 下 面为按键实现举例 假设按下的是 B S 键进行如下检测 4 4 键盘 先在 P1 口输出 P1 00001111 低四位行会有变化 Cord h 00001111 for i 0 i 200 i void WriteDataL uchar byte 向左屏写数据 RW 0 write DI 1 data E1 1 LCD DATA byte E1 0 void WriteDataR uchar byte 向右屏写数据 RW 0 write DI 1 data E2 1 LCD DATA byte E2 0 void WriteCmdL uchar byte 向左屏写指令 RW 0 write DI 0 command E1 1 LCD DATA byte E1 0 void WriteCmdR uchar byte 向右屏写指令 RW 0 write DI 0 command E2 1 LCD DATA byte E2 0 void Init void 初始化 RstDelay WriteCmdL OFF 关显示 WriteCmdR OFF WriteCmdL DISP START 从第 0 行开始显示 WriteCmdR DISP START WriteCmdL DRIVE MODE 动态显示 WriteCmdR DRIVE MODE WriteCmdL DISP START 列地址切换到 0 WriteCmdR DISP START WriteCmdL PAGE ADDR 页地址切换到 0 WriteCmdR PAGE ADDR WriteCmdL DUTY32 扫描行数为 32 WriteCmdR DUTY32 WriteCmdL END RMW 关闭 RMR 模式 WriteCmdR END RMW WriteCmdL ON 开显示 WriteCmdR ON void Clear void 清屏 uchar i uchar page for page 0 page 4 page 0 3 页 WriteCmdL PAGE ADDR page WriteCmdR PAGE ADDR page for i 0 i 61 i 0 60 列 WriteCmdL COL ADDR i WriteCmdR COL ADDR i WriteDataR 0 x00 WriteDataL 0 x00 void WriteASCII uchar x uchar y uchar ASCII uchar i uchar p p ASCII TAB ASCII 32 if x 10 x 10 时 字符要跨越两个屏 x 6 虽然字模宽度为 5 但是为了美观 在后面加入一个空白列 WriteCmdL COL ADDR x WriteCmdL PAGE ADDR y for i 0 i10 x 6 x 61 WriteCmdR COL ADDR x WriteCmdR PAGE ADDR y for i 0 i 5 i WriteDataR p WriteDataR 0 补空白列 else WriteCmdL COL ADDR 60 WriteCmdL PAGE ADDR y WriteDataL p WriteCmdR COL ADDR 0 WriteCmdR PAGE ADDR y for i 0 i 21 x 0 y WriteASCII x y p uchar code ASCII TAB 5 由于篇幅有限 所以本数组就不给出了 endif 主函数部分 include reg52 h include LCD12232 h define uchar unsigned char define uint unsigned int sbit GN P2 0 sbit VC P2 5 sbit jidian P2 7 T0 定时中断函数 timer0 定时时间为 50ms 方式 1 的时间常数为 3CB0H 每中断 1 次 计数单元加 1 20 次为 1s 到 1s 进行相应处理 void timer0 void interrupt 1 using 1 uchar x TH0 0 x3c TL0 0 xb0 count if count 6 0 ss ss x 20 if count x return else count 0 second if second 10 return secondh second 0 if secondh 6 return else secondh 0 minull if minull 10 return else minull 0 minuhh if minuhh 6 return else minuhh 0 hourll if mod if hourhh 0 if hourll 10 return else hourll 0 hourhh if hourhh 3 return else hourhh 0 return else if hourll 4 return else hourll 0 hourhh if hourhh 3 return else hourll 0 hourhh 0 return else if hourhh 0 if hourll 10 return else hourll 0 hourhh if hourhh 10 return else hourhh 0 return else if hourll 10 return else hourll 0 hourhh if hourhh 10 return else hourll 0 hourhh 0 return 模式 0 的定时时间设置函数 带当前时间设置函数 settime 按 set 键开始进入设置状态 包括设置定时时间和时钟时间 按 up 键可进行当 前位置的 1 按 down 键则为 1 按 left 键则为当前位置左移一位 按 right 则为右移一 位 等待按 sure 或者 cancel 结束当前设置 设置 void settime void while set hh 1 TR1 1 ET1 1 TH1 0 x3c TL1 0 xb0 while 1 TR1 1 ET1 1 TH1 0 x3c TL1 0 xb0 if mod set 0 break switch setflag case 1 hh 1 hl 0 mh 0 ml 0 break case 2 hh 0 hl 1 mh 0 ml 0 break case 3 hh 0 hl 0 mh 1 ml 0 break case 4 hh 0 hl 0 mh 0 ml 1 break if set 1 buf 0 hourhh buf 1 hourll buf 2 minuhh buf 3 minull if BS timing1 timer 0 hourh timing1 timer 1 hourl timing1 timer 2 minuh timing1 timer 3 minul else timing timer 0 hourh timing timer 1 hourl timing timer 2 minuh timing timer 3 minul timerr playsetting if set 2 buf 0 hourh buf 1 hourl buf 2 minuh buf 3 minul timerr playsetting keyscan if sure TR1 0 ET1 0 if set 2 hourhh hourh hourll hourl minuhh minuh minull minul if set 1 timing1 timer 0 hourh timing1 timer 1 hourl timing1 timer 2 minuh timing1 timer 3 minul timing timer 0 timing timer 0 timing timer 1 timing timer 1 timing timer 2 timing timer 2 timing timer 3 timing timer 3 hourh 0 hourl 0 minuh 0 minul 0 set 0 sure 0 BS 0 hh 1 hl 0 mh 0 ml 0 setflag 1 return if up up 0 if hh hourh if hourh 3 hourh 0 continue else if hl hourl if hourh 2 continue if hourl 10 hourl 0 continue if mh minuh if minuh 6 minuh 0 continue continue else if ml minul if minul 10 continue else minul 0 continue if down down 0 if hh hourh if hourh 1 hourh 2 continue else if hl hourl if hourh 2 continue if hourl 1 hourl 9 continue if mh minuh if minuh 1 minuh 5 continue continue else if ml minul if minul 1 continue else minul 9 continue 模式 1 的定时时间设置函数 settime1 按 set 键开始进入设置状态 按 up 键可进行当前位置的 1 按 down 键则为 1 按 left 键则为当前位置左移一位 按 right 则为右移一位 等待按 sure 或者 cancel 结束当前设置 设置 void settime1 void while set hh 1 TR1 1 ET1 1 TR1 1 ET1 1 TH1 0 x3c TL1 0 xb0 ray 0 while 1 TR1 1 ET1 1 TH1 0 x3c TL1 0 xb0 switch setflag case 1 hh 1 hl 0 mh 0 ml 0 break case 2 hh 0 hl 1 mh 0 ml 0 break case 3 hh 0 hl 0 mh 1 ml 0 break case 4 hh 0 hl 0 mh 0 ml 1 break if set 1 buf 0 hourhh buf 1 hourll buf 2 minuhh buf 3 minull if BS timing1 timer 0 hourh timing1 timer 1 hourl timing1 timer 2 minuh timing1 timer 3 minul else timing timer 0 hourh timing timer 1 hourl ti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省兰州大学物理科学与技术学院诚聘英才考前自测高频考点模拟试题及答案详解(易错题)
- 土地流转协议(15篇)
- 2025江西南昌市劳动保障事务代理中心招聘劳务派遣人员6人模拟试卷及答案详解(各地真题)
- 2025呼伦贝尔额尔古纳市蒙源旅游文化有限公司招聘136人模拟试卷及1套参考答案详解
- 2025国家电投集团上海核工院招聘考前自测高频考点模拟试题及参考答案详解
- 2025内蒙古政府单位招聘1人考前自测高频考点模拟试题及参考答案详解1套
- 2025广西防城港市总工会招聘编外工作人员1人考前自测高频考点模拟试题及1套参考答案详解
- 2025年光伏发电用测量设备项目合作计划书
- 2025甘肃兰州市城关区司法局招聘司法协理员25人模拟试卷有答案详解
- 2025福建漳州市诏安县财政投资评审中心招募见习人员1人考前自测高频考点模拟试题及1套完整答案详解
- 《陆上风电场工程概算定额》NBT 31010-2019
- 第二版《高中物理题型笔记》上册
- 工艺美术运动代表人物及作品
- (完整版)高考英语考纲3500词汇表
- 洁净厂房监理实施细则
- 初中语文人教九年级下册余光中《乡愁》PPT
- 不孕症规范化诊治流程
- 置业顾问培训方案
- 无陪护病房实施方案
- 全髋关节置换术共93张课件
- 心内科护理质量评分标准
评论
0/150
提交评论