1、(2015 届)本科毕业设计(论文)资料题 目 名 称: 智 能 插 座 学 院(部): 理学院 专 业: 电子信息科学与技术 学 生 姓 名: 班 级: 学号: 指导教师姓名: 职称: 讲师 最终评定成绩: 湖南工业大学教务处 湖南工业大学本科毕业论文(设计)诚信声明本人郑重声明:所呈交的毕业论文(设计) ,题目基于单片机的智能插座的设计是本人在指导教师的指导下,进行研究工作所取得的成果。对本文的研究作出重要贡献的个人和集体,均已在文章以明确方式注明。除此之外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承担的责任。作者签名:日期: 年摘 要 家电
2、长期的待机不仅引起巨大的能源浪费,而且使得排插的负荷越来越大,带来了非常严重的安全隐患。同时,电器的使用寿命大大缩短。本设计制作了具有定时及智能感应功能的插座。其不仅你不了现实生活中普通插座功能的不足,还为人们的生活带来了极大的便捷。本系统由单片机最小系统、QC12864B 液晶屏、HC-SR501 及继电器等几个模块组成。通过外设键盘对与继电器相连的排插进行定时、延时设置,使其可以按照我们的意愿在相应的时间通断。或由 HC-SR501 热释电红外传感器模块,当感应到生物发出的红外线而输出电信号进而触发 SCT89C51 单片机的外部中断引脚,自动控制排插的通断。由 LED 指示灯指示工作模式
3、并将工作数据通过 LCD液晶屏显示。软件设计使用 keil uvision4,各个功能的选择菜单界面通过 QC12864B 液晶屏显示,配合按键实现多各个功能之间的选择与切换,使该系统能够有个友好的界面。根据需要实现的功能用 C 语言完成底层驱动和各子系统程序的编写和调试。使外接继电器可以按照一定的规律工作,即可以达到智能控制的目的,又在很大程度上起到节能的作用。关键词:STC89C52;排插;SH-RF501;DS1302ABSTRACTElectrical appliances on standby for a long time not only cause huge waste of
4、energy, and make the strip load more and more big, has brought the serious security hidden danger.At the same time, greatly reduces the service life of the appliance.This design which has the function of timing and intelligent induction socket.Its not only you are not the real life of ordinary socke
5、t function is insufficient, also brought great convenience for peoples life.This system by single chip microcomputer minimum system, QC12864B LCD screen, HC - SR501 and relay of several modules.By a peripheral keyboard connected to the relay platooninsert timing, delay set, can make it according to
6、our wishes in the corresponding time on and off.Or by the HC - SR501 pyroelectric infrared sensor module, when sensing infrared and output electric signal from the biological triggers the SCT89C51 MCU external interrupt pin, automatic control strip on and off.Working mode and directed by the LED ind
7、icator light will work data through the LCD screen display.Software design using keil uvision4, each function selection menu interface by QC12864B LCD screen display, cooperate with the keys to achieve more choice and switch between each function, makes the system has a friendly interface.According
8、to the function of the need to implement in C language to complete the underlying drive and each subsystem writing and debugging of the program.Make external relays can work according to certain rules, which can achieve the goal of intelligent control, and to a great extent, have the effect of energ
9、y saving.Key words: SCTC89C52; socket;SH-RF501 ;DS1302目 录第 1 章 绪论 11.1 设计的目的和意义 11.2 国内外研究现状 11.3 论文主要内容与思路 2第 2 章 总体 方案 3第 3 章 硬件电路设计 53.1 智能排插的工作原理 53.2 硬件简介 53.2.1 STC89C52 单片机 53.2.2 QC12864B 液晶屏 63.2.3 DS1302 时钟芯片 83.2.4 BISS0001 红外热释电处理芯片 93.2.5 继电器模块 .103.2.6 按键模块 .103.3 系统的硬件电路设计原理图 .103.3.1
10、 STC89C52 最小系统电路图 .103.3.2 QC12864B 液晶显示电路 .113.3.3 DS1302 时钟电路 .113.3.4 HC-SR501 模块电路 .113.3.5 继电器电路 .123.3.6 按键电路 .123.3.7 系统原理图 .13第 4 章 系统软件设计 144.1 系统软件设计流程 .144.2 模块程序设计 .144.2.1 LCD12864 液晶驱动程序设计 144.2.2 DS1302 驱动程序设计 164.2.3 按键程序设计 .18第 5 章 实物制作与结果分析 195.1 实物制作 .195.2 加载源程序后的实物结果及分析 .20第 6 章
11、 总结与展 望 226.1 总结 .226.2 展望 .22参考文献 .23致 谢 .24附 录 .25附录 1 系统原理图 .25附录 2 源程序 25第 1 章 绪论1.1 设计的目的和意义随着人口的增长、科技的迅猛发展,人们生活水平不断的提高,对于电子产品的需求和要求也不断增加,各式各样的电子产品应用于我们的生活中。在为人类带来便捷的同时,也意味着我们使用的产品消耗的能源同等的增加以维持我们生活的正常进行。可是,我们生活的星球能开发利用的能源是有限的并且正在不断的消耗殆尽,所以,节约能源又成为了我们必须要解决的问题,同时其也是这个社会的主题。所以,这样一对矛盾应尽快得到调解,在调查中我们
12、发现,大部分市面上的电子产品都具有待机功能,比如电视机,电脑,冰箱,空调等家用电器。如此,就我国而言,无意识的家电或电子产品的能耗基于一个十几亿人口的大国,那是一个非常巨大的能源浪费。据测算,家电待机能耗占到中国家庭电力消耗的 10%以上。而正是由于这种长期的待机状态,使得排插的负荷也越来越大,带来了非常严重的安全隐患。除此之外,也使得电器的寿命大大缩短1。所以,本系统对家庭中普通的排插进行了更加智能化的设计,我们利用单片机对继电器的控制来达到控制排插通断的目的,并可以通过外设键盘对排插进行定时设置,使其可以按照我们的意愿定时通断,在定时功能的基础上,增加了人体感应模块。基于此种思维设计,其不
13、仅能节约能源消耗,减轻地球的负担;增加家电的使用寿命;还能让我们的生活变得更加的便捷、舒适。重要的是可以防止不必要的安全事故的发生。1.2 国内外研究现状目前市场上使用的绝大多数移动电源排插只可以实现简单的电源机械式通断电,单一的功能并不能满足我们未来生活的需要,智能排插可编程开关排插可根据使用者的意愿,对其进行功能设置实现电源的自动通断电,是人们的生活带来极大的方便之余又能应和这个社会节能的主题。现阶段市场上出现的智能插座有小管家智能插座、科德牌智能插座、POLYHOME 智能插座、博联智能插座等等。这几款插座中小管家插座使用智能芯片系统和相应程序软件对继电器进行编程控制,使得插座待机能耗降
14、至零,达到节能安全的目的。利用遥控功能关机后自动切断电源,遥控开机时,能自动接通电源。并且具有消除待机能耗、智能化保护功能、避免电磁波辐射、有效防雷击冲击的特点。科德智能插座,可以进行定时设定,精确值时间为 1 分钟,每天最多可设置多组开与关。并且具有模式功能,随时可切换到长通或定时状态。目前智能排插的实现方法有机械式定时排插、基于单片机的定时器功能实现排插的智能定时、以及采用现成的智能芯片。机械式定时排插通过转动刻度盘,进行定时时间设置;而基于单片机的智能排插则是通过用单片机控制继电器的通断来控制排插的开关,即通过单片机编程实现智能定时;智能芯片排插则是通过芯片直接感应来实现智能通断电,从而
15、达到消除待机功耗的目的;较为高级的当属无线控制智能排插,基于 Wi-Fi 通讯,只要家中有无线路由器,排插就会自动寻找网路,用户只需输入上网密码即完成配置,通过智能手机在全球任何地点都可以控制。智能排插有效地解决了待机能耗的问题,从而提高终端用电设备的使用寿命,促进我国节电降耗产品领域的发展。也消除了生活中的很多安全隐患。可达到适用于彩电、电脑、空调等用电领域的较高技术指标与节电能力。而随着技术的不断发展,对智能排插的承受功率不断地增高完善,智能排插除了广泛应用于家用电器外,还会更多的应用到工业领域。1.3 论文主要内容与思路本系统设计了基于单片机对继电器的控制来达到智能控制排插通断的目的,并
16、可以通过外设键盘和红外感应对排插进行定时设置和感应通断,使其可以按照我们的意愿自动通断。论文各章主要内容如下:第一章是绪论,介绍了本研究的目的和意义,国内外研究现状以及本论文的章节结构。第二章总体方案设计,在论述系统的设计结构的基础上,详细说明系统的主要设计功能。第三章是硬件系统构架,首先介绍系统的工作原理,然后介绍单片机的主要性能参数,接着是对每个电路模块进行分析,并给出原理图。第四章介绍系统的软件设计,并对每个模块进行说明。第五章介绍实物调试过程,并对相应结果进行了详细的说明。第六章是本文的总结与展望,并提出进一部完善的工作。第 2 章 总体方案本系统的设计主要由感应控制系统和按键控制系统
17、组成,硬件电路由STC89C52 单片机为核心控制器,通过 C 语言编写文件系统实现各路控制功能。在感应控制系统中,单片机通过 HC-SR501 人体感应模块触发外部中断进而控制与排插插孔相连的继电器来控制插孔的关断。此外,插孔的关断还可以通过手动按键来操控,通过单片机配合时钟芯片 DS1302 对排插进行定时开关或延时开关等操作,由 LED 指示灯指示当前工作状态并由 QC12864B 液晶屏作为人机交互界面进行显示,使系统能够有一个良好的界面。总体的系统框图如图 2.1 所示。图 2.1 系统框图(1)智能排插的核心控制电路 STC89C52 单片机是本设计的核心器件,配合各个模块实现排插
18、的控制,STC89C52 根据不同的运行速度和功耗的要求,时钟频率可以设置在 0-33M 之间,。该最小系统主要由复位电路,晶振电路构成。(2)QC12864B 液晶显示部分 QC12864B 是带中文字库的汉字图形点阵液晶显示模块,可显示 48 行1616 的点阵汉字及分辨率为 12864 的图形。同时,光标显示、画面移动、自定义字符、睡眠模式等功能可实现最直接的人机交互。(3)DS1302 模块 本系统采用 DS1302 作为时钟计时器,从而实现排插在 24 小时内任意时间的可变定时和一小时内的固定模式定时。这样可以使得定时准确,方便,节约系统资源,同时程序编写上也能相对简单。STC89C
19、527805 稳压电源模块DS1302 计时模块按键模块继电器模块HC-SR501 人体感应模块LCD 显示模块(4)HC-SR501 模块HC-SR501 是建立在 BISS0001 红外热释电处理芯片上的自动控制模块,其使用 LHI778 型探头进行设计,具有高灵敏度,功耗低,可靠性强等特点。广泛应用于各类自动感应电气设备,且其是干电池供电的自动控制产品。(5)继电器模块本设计采用的是型号为 SONGLE SRD-05VDC-SL-C 的继电器,5V 继电器是一种电子控制器件,具有控制系统(又称输入回路)和被控制系统(又称输出回路),可用较小的电流去控制较大电流的一种“自动开关”。(6)按
20、键模块系统采用轻触按键设计 4*4 式矩阵按键,充分利用单片机 I/O 口控制实现按键功能。第 3 章 硬件电路设计3.1 智能插座的工作原理本系统由单片机最小系统、QC12864B 液晶屏、HC-SR501、继电器等几个模块组成。通过外设键盘对与继电器相连的排插进行定时、延时设置,使其可以按照我们的意愿在相应的时间通断。或由 HC-SR501 热释电红外传感器模块,当感应到生物发出的红外线而输出电信号进而触发 SCT89C51 单片机的外部中断引脚,自动控制排插的通断。由 LED 指示灯指示工作模式并将工作数据通过 LCD液晶屏显示。3.2 硬件简介3.2.1 STC89C52 单片机STC
21、89C52 单片机是一款低功耗、高性能的 8 位微控制器芯片,内部集成8K 字节 Flash,512 字节 RAM,4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/计数器,2 个外部中断,一个通信一步通信口(UART ),一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构),全双工串行口,32 位的 I/O 口线, 看门狗定时器。另外 STC89C52 可降至 0MHz 静态逻辑操作,支持 2 种可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,、片内振荡器停止工作,从而单片机的一切工
22、作全部停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选。可以在 4V 到 5.5V 宽电压范围内正常工作。具有许多独特的优点,即体积小、重量轻、单一电源、低功耗、功能强、价格低廉、运算速度快、抗干扰能力强、可靠性高等4-6。其内部包含以下功能部件:a.8 位 CPU; b.振荡器和时钟电路; c.8k 字节的程序存储器 EPROM; d.256 字节的数据存储器 RAM; e.可寻址外部存储器和数据存储器各 64 字节; f.20 多个特殊功能寄存器; g.32 线并行 I/O 口; h.一个全双工串行 I/O 口; i.3 个 16 位定时器/计时器;STC8
23、9C52 引脚图如图 3.1 所示。图 3.1 DIP-40 封装 STC89C52 引脚图P0 口:P0 口是一个 8 位漏极开路的准双向 I/O 口。当作为输出口时,输出级为漏极开路电路,应外接一个上拉电阻来提供输出高电平时的驱动电流。对P0 端口写“1 ”时,引脚用作高阻抗输入。当 CPU 访问片外存储器时,由内部硬件自动使控制线为“1”。这时,P0 口可作为低 8 位地址/数据总线分时使用。在这种模式下,P0 不具有内部上拉电阻 4-6。P1 口:P1 口是一个带有内部上拉电阻的 8 位准双向口,作为通用的 I/O 端口使用。P1 输出缓冲器能驱动 4 个 TTL 逻辑电平。当 P1
24、口用做输出口输出“1” 时,输出线由内部上拉电阻拉成高电平;作为输入使用时,CPU 必须将“1”写入锁存器,使 T1 截止,把该端口线由内部上拉电阻拉成高电平 6。P2 口:P2 口是一个带有内部上拉电阻的 8 位准双向 I/O 口。P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。当 CPU 对 P2 端口写入“1”时,其内部的上拉电阻把该端口拉为高电平,此时,P2 口可作为输入端口来使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流4-6。P3 口:P3 口是带有内部上拉电阻的 8 位准双向 I/O 口,并且还是一个双功能端口。其作为通用的 I/O 口使用时,工作原理同
25、 P1、P2 端口相似。对 P3 端口写“1”时,输出引脚由内部上拉电阻拉成高电平;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流4-6。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位4-6。3.2.2 QC12864B 液晶显示屏QC12864B 是一款具有 4 位/8 位并行、2 线或 3 线串行多种接口方式的带中文字库以及内部含有国标体中文字库的点阵图形的液晶显示器;其具有 12864的分辨率, 8192 个 16*16 点汉字以及 128 个 16*8 点的 ASCII 字符集,且具有光标显示、画面移位、睡眠模式等多种功能。可以显示
26、 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。其引脚图如图 3.2所示。如表 3.1 为 QC12864B 引脚定义表7。1VSS2VDD3VO4RS/CS5R/W6E/CLK7D08D19D210D311D412D513D614D715PSB16NC17RST18NC19A20KE 2 LCD 1 2 8 6 4V CCV CC图 3.2 QC12864B 引脚图 表 3.1 QC12864B 引脚定义管脚号 管脚名称 电平 管脚功能描述1 VSS 0V 电源地2 VCC 3.0+5V 电源正3 V0 - 对比度(亮度)调整4 RS(CS) H/L RS
27、=“H”,表示 DB7DB0 为显示数据RS=“L”,表示 DB7DB0 为显示指令数据5 R/W(SID) H/L R/W=“H”,E=“H”,数据被读到 DB7DB0R/W=“L”,E=“HL”, DB7 DB0 的数据被写到 IR 或 DR6 E(SCLK) H/L 使能信号7 DB0 H/L 三态数据线8 DB1 H/L 三态数据线9 DB2 H/L 三态数据线10 DB3 H/L 三态数据线11 DB4 H/L 三态数据线12 DB5 H/L 三态数据线13 DB6 H/L 三态数据线14 DB7 H/L 三态数据线15 PSB H/L H:8 位或 4 位并口方式,L:串口方式16
28、 NC - 空脚17 /RESET H/L 复位端,低电平有效18 VOUT - LCD 驱动电压输出端19 A VDD 背光源正端(+5V)20 K VSS 背光源负端3.2.3 DS1302 时钟芯片DS1302 是高性能时钟芯片,具有以下特性:实时时钟,可对秒、分、时、日、周、月、以及带闰年补偿的年进行计数;用于高速数据暂存的 31*8RAM; 最少引脚的串行 I/O; 2.5-5.5V 满肚工作范围; 2.5V 时耗电小于 300nA; 用于时钟或数据读/写的单字节或多字节数据传送; 8 引脚的双排直列封装(DIP)或用于表面的 8 引脚贴片封装(SOIC); 简单的 3 线接口; T
29、TL 兼容( VCC=5V); 可选的工业温度范围-40至+85; 在 DS1202 基础上增加的特点:可选的慢速充电的能力; 用于主电源和备份电源的双电源引脚; 备份电源引脚可用作电池或超容量电容器的输入端; 附加的告诉暂存存储器(7 字节)。图 3.3 为 DS1302 的芯片引脚图所示。如表 3.2 所示为 DS1302 各引脚的功能表8。图 3.3 DS1302 的芯片引脚图表 3.2 DS1302 引脚功能引脚号 引脚名称 功能1 VCC2 主电源2、3 X1、X2 振荡器,外接 32.768KHZ 晶振4 GND 电源地5 RST 复位6 I/O 数据输入/输出(双向)7 SCLK
30、 串行时钟8 VCC1 后备电源3.2.4 BISS0001 红外热释电处理芯片BISS0001 是 一 款 高 性 能 的 传 感 信 号 处 理 集 成 芯 片 , 由 热 释 电 红 外 传 感器 以 及 外 围 连 接 元 器 件 组 成 的 被 动 式 热 释 电 红 外 开 关 模 块 。 其 可 自 动 快 速有 效 的 控 制 各 式 照 明 灯 、 蜂 鸣 器 、 自 动 门 、 电 风 扇 、 烘 干 机 和 自 动 洗 手 池等 等 家 用 电 器 的 关 断 , 普 遍 应 用 在 宾 馆 、 酒 店 、 公 司 、 商 场 及 家 庭 等 过 道或 走 廊 等 敏 感
31、 区 域 , 以 及 安 全 区 域 的 灯 光 、 照 明 和 报 警 系 统 。 引 脚 原 理 图 如图 3.4 所 示 。 其 引 脚 功 能 如 表 3.3 所 示 9。图 3.4 BISS0001 引脚图 表 3.3 BISS0001 引脚功能引 脚 号 名 称 I/O 功 能 说 明1 A I可 重 复 触 发 和 不 可 重 复 触 发 选 择 端 。 当 A 为 “1”时 , 允许 重 复 触 发 ; 反 之 , 不 可 重 复 触 发2 VO OVo 上 升 沿 时 为 有 效 触 发 。 在 输 出 时 间 Tx 之 外 和 无 VS的 上 跳 变 时 , Vo 保 持
32、低 电 平 。3 RR1 - 输 出 延 迟 时 间 Tx 的 调 节 端4 RC1 - 输 出 延 迟 时 间 Tx 的 调 节 端5 RC2 - 触 发 封 锁 时 间 Ti 的 调 节 端6 RR2 - 触 发 封 锁 时 间 Ti 的 调 节 端7 VSS - 工 作 电 源 负 端8 VRF I 参 考 电 压 及 复 位 输 入 端 。9 VC I触 发 禁 止 端 。 当 VcVR 时 允许 触 发 (VR0.2VDD)10 IB - 运 算 放 大 器 偏 置 电 流 设 置 端11 VDD - 工 作 电 源 正 端12 2OUT O 第 二 级 运 算 放 大 器 的 输
33、出 端13 2IN- I 第 二 级 运 算 放 大 器 的 反 相 输 入 端14 1IN+ I 第 一 级 运 算 放 大 器 的 同 相 输 入 端15 1IN- I 第 一 级 运 算 放 大 器 的 反 相 输 入 端16 1OUT O 第 一 级 运 算 放 大 器 的 输 出 端3.2.5 继电器模块本系统使用的继电器是型号为 SONGLE SRD-05VDC-SL-C 的继电器,该继电器是一种电子控制器件,工作电压 5 伏,具有两个控制系统分别是输入回路和被控输出回路,利用较小的电流驱动去控制大电流的一种“自动开关” 。因此在电路中起着安全保护、自动调节及电路转换等作用,可实现
34、弱电控制强电的目的,常用在自动控制电路中。3.2.6 按键模块采用普通轻触按键设计矩阵式按键控制,给单片机引脚输入电信号。由于与人体感应模块中用到的外部中断脚 P3.2 重合,故在设计按键的时候将此引脚除去。3.3 系统的硬件电路设计原理图3.3.1 STC89C52 最小系统电路图STC89C52 为核心的最小系统由复位电路和晶振电路组成,复位电路由按键一个 1K 电阻和一个 10K 电阻以及一个 10uf 的电解电容构成,晶振电路由12M 晶振和两个 30PF 电容组成,单片机最小系统如图 3.5 所示。图 3.5 单片机最小系统仿真图 3.3.2 QC12864B 液晶显示电路QC128
35、64B 带字库型液晶显示模块,内部存有 16X16 点阵的中文汉字 8192 个、8X16 点阵的字符 128 个以及 64X256 点阵的图形显示 RAM(GDRAM) 。其电路连接图如图 3.6 所示。40 VCC39 P0038 P0137 P0236 P0335 P0434 P0533 P0632 P0731 EA302928 P2727 P2626 P2525 P2424 P2323 P2222 P2121 P201P10 2P113P12 4P135P14 6P157P16 8P179RESET 10P3011P31 12P3213P33 14P3415P35 16P3617P37
36、 18X119X2 20GNDE1AT89C511VSS2VDD3VO4RS/CS5R/W6E/CLK7D08D19D210D311D412D513D614D715PSB16NC17RST18NC19A20KE2 LCD12864R1R2R3R4R5R6R7R8R9VCCC1 33p C2 33p+5V10KVCC VCC图 3.6 QC12864B 电路连接图 3.3.3 DS1302 时钟电路DS1302 引脚电路中 Vcc1 为后备电源接一个干电源电池, Vcc2 为主电源。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。X1 和 X2 是振荡源,外接32.768kHZ 晶
37、振。电路连接图如图 3.7 所示10。vcc1 1x1 2x2 3G ND 4REST5I/O6SCLK7vcc28JP1D S1302R12R10R1110KBT132.768HZV CCP35P36P34图 3.7 DS1302 电路原理图 3.3.4 HC-SR501 模块电路BISS0001是一款高性能的传感信号处理集成电路,由运算放大器、状态控制器、电压比较器、封锁时间定时器以及延迟时间定时器等构成的数模混合集成电路。并配以热释电红外传感器和外围元器件构成被动式的热释电红外开关。该模块有两种模式:分别是可重复触发方式和不可重复触发方式。通过Q脚电信号的变化,触发单片机外部中断达到控制
38、继电器工作效果。本系统采用不可重复触发方式,当感应到有人体在其范围内活动则Q脚输出高电平,否则输出低电平,而单片机外部中断为低电平触发,故在模块输出端加一反相器。其电路原理图如图3.8所示,其中PIR为HC-SR501模块10。40 VCC39 P0038 P0137 P0236 P0335 P0434 P0533 P0632 P0731 EA302928 P2727 P2626 P2525 P2424 P2323 P2222 P2121 P201P10 2P113P12 4P135P14 6P157P16 8P179RESET 10P3011P31 12P3213P33 14P3415P35
39、 16P3617P37 18X119X2 20GNDE1AT89C51C1 33p C2 33pR20C310uFS0VCCVCC 1Q 2GND 3R1APIRVCCQ49013R241KR2510KVCC图 3.8 HS-SR501 模块电路原理图 3.3.5 继电器电路本系统使用的继电器是型号为 SONGLE SRD-05VDC-SL-C 的继电器,该继电器是一种电子控制器件,工作电压 5 伏,具有两个控制系统分别是输入回路和被控输出回路,利用较小的电流驱动去控制大电流的一种“自动开关” 。本系统中,主要是用于控制插座的开关状态,由按键设置及红外感应模块影响单片机 I/O 输出信号来控制
40、继电器的工作,从而达到控制插座自动关断的目的。电路图如图 3.7 所示10。40 VCC39 P0038 P0137 P0236 P0335 P0434 P0533 P0632 P0731 EA302928 P2727 P2626 P2525 P2424 P2323 P2222 P2121 P201P10 2P113P12 4P135P14 6P157P16 8P179RESET 10P3011P31 12P3213P33 14P3415P35 16P3617P37 18X119X2 20GNDE1AT89C51C1 33p C2 33pQ1NPNK1RELAY-SPSTK2RELAY-SPS
41、TR20Q2NPND5D4 1KC3R21 S0VCCVCCR221KK3RELAY-SPSTD6 Q3NPNR231KP10P11P12图 3.7 继电器控制电路 3.3.6 按键电路采用普通轻触按键设计矩阵式按键控制,给单片机引脚输入电信号。如图3.8 所示。40 VCC39 P0038 P0137 P0236 P0335 P0434 P0533 P0632 P0731 EA302928 P2727 P2626 P2525 P2424 P2323 P2222 P2121 P201P10 2P113P12 4P135P14 6P157P16 8P179RESET 10P3011P31 12P
42、3213P33 14P3415P35 16P3617P37 18X119X2 20GNDE1AT89C51C1 33p C2 33pR20C3S0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16P30P31P32P33P34P35P36P37R16R15R14R13VCCVCC10K 10K10K10K图 3.8 矩阵按键电路原理图 3.3.7 系统原理图系统原理图见附录 I。第 4 章 系统的软件设计4.1 系统软件设计流程系统采用 STC89C52 单片机作为控制中心,使用 C 语言进行程序的编写,使用 Keiluvision2 软件进行编译。通过按键进行实时
43、时间、定时时间及延迟时间的模式选择以及个模式下的数据修改,由 LCD12864 液晶屏显示。并通过感应器反馈的信息给单片机处理,如图 4.1 所示为主程序流程图。图 4.1 为主程序流程图4.2 模块程序设计4.2.1 LCD12864 液晶驱动程序设计本系统使用 QC12864B 液晶模块作为显示器 ,建立人机界面。其可显示 4行 8 字汉字及 128X64 图形,并且内置 8192 个汉字 字库 、128 个字符以及 64X256 点阵 图形显示 RAM(GDRAM)。其显示功能需要完成两个操作:写操作(写指令与数据)和读操作(读指令与数据)。1.写操作从 MPU 写资料到液晶显示模块。模
44、块采用 8 位并行连接方式进行数据传输,其时序图如图 4.2 所示。延迟设置定时设置时间设置单片机开始按键功能选择感应器置继电器置显 示图 4.2 LCD12864 写操作时序图2.读操作MPU 从液晶模块中读出资料并进行处理。其时序图如图 4.3 LCD12864 读操作时序图所示。图 4.3 LCD12864 读操作时序图3.读写信号借口说明RS, R/W 的配合选择决定控制界面的 4 种模式,如表 4.1 所示。EN 使能控制信号功能。如表 4.2 所示。表 4.1 读、写操作控制功能RS R/W 功能说明L L MPU 写指令到指令暂存器(IR)L H 读出忙标志(BF )及地址记数器
45、(AC)的状态H L MPU 写入数据到数据暂存器(DR)H H MPU 从数据暂存器(DR)中读出数据表 4.2 使能控制功能E 状态 执行动作 结果高低 I/O 缓冲DR 配合/W 进行写数据或指令高低 DRI/O 缓冲 配合 R 进行读数据或指令低高 无动作 LCD12864 显示流程图。如图 4.4 LCD12864 显示流程图所示。图 4.4 LCD12864 显示流程图4.2.2 DS1302 驱动程序设计DS1302 时钟芯片主要由移位寄存器控制逻辑、振荡器、实时时钟以及RAM 几部分组成。初始化任何的数据传送时,把 RST 置为高电平(必要条件SCLK 为低电平时),允许对 D
46、S1302 进行操作。时钟信号由 SCLK 提供,在SLCK 上升沿串行输入。前 8 个时钟周期将命令字装入移位寄存器之后,在后面的时钟周期里在读操作时输出数据,在写操作时输入数据。1.Single Byte 读操作时序如图 4.5 所示。写操作时序如图 4.6 所示。图 4.5 DS1302 读时序图图 4.6 DS1302 写时序图 2.DS1302 共具有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位均为 BCD 码形式。其内部日历、时间寄存器如表 4.3 读、写寄存器地址和内容所示,其中奇数为读操作,偶数为写操作。表 4.3 读、写寄存器地址及内容写 读 BIT7
47、 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0秒 80H 81H CH 10 秒 秒开始初始化读状态或数据写命令 写数据数据显示分 82H 83H 10 分 分10小时 84H 85H 12/ 240AM/PM时 时日 86H 87H 0 0 10 日 日月 88H 89H 0 0 0 10 月 月周 8AH 8BH 0 0 0 0 0 周年 8CH 8DH 10 年 年控制 8EH 8FH WP 0 0 0 0 0 0 0秒寄存器的位 7 为时钟暂停标志位(CH),当置 1 时,时钟振荡器停止;置 0 时,时钟开始运行。控制寄存器的为 7 时写保护位(WP),该位在任
48、何对时钟和 ARM 的写操作之前须置 0;当置 1 时,防止对任何的寄存器进行写操作。3.DS1302 控制字控制字中位 7 必须置 1,为 0 则无法将数据写入到 DS0302 中;位 6 若为0,表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 0 若为 0 表示进行写操作,为 1 表示进行读操作,控制字如表表 4.4 所示。如图 4.7 为 DS1302 的程序流程图。表 4.4 控制字7 6 5 4 3 2 1 0RAM RD1 CKA4 A3 A2 A1 A0 WRNNYY 读数据写地址数据写完?显示开始 初始化 RST 高电平写地址数据写完?RST 高电平写数据图 4.7
49、DS1302 程序流程图4.2.3 按键程序设计系统设计采用矩阵式按键实现按键控制功能,充分利用单片机的整一个 8位端口构成 4*4=16 个矩阵式按键 ,并根据系统整体设计选择个别或全部按键设置功能。矩阵式按键原理:不断循环地给低高位独立的低电平,然后判断键盘中有无键按下。将高位中其中一行线(P3.4P3.7 中其中一列)置低电平然后检测列线的状态(高低位,即 P1.4P1.7, 由于线与关系,只要与低电平行线接通,即跳变成低电平),若检测到某列的电平变为低就延时消除抖动,再次判断,若仍为低电平,则表示有按键按下,若所有列线均为高电平则表示键盘中无键按下。在确认有键按下后 ,确定具体闭合按键,其过程: 依次将行线置为低电平,其它行线为高电平。同时逐行检测各列线电平状态 ;若某列为低 ,则该列线与置为低电平的行线交叉处的按键即为闭合的按键,并返回键值。图 4.8 为矩阵按键程