毕业设计(论文)-基于单片机的教室电铃控制装置设计.pdf_第1页
毕业设计(论文)-基于单片机的教室电铃控制装置设计.pdf_第2页
毕业设计(论文)-基于单片机的教室电铃控制装置设计.pdf_第3页
毕业设计(论文)-基于单片机的教室电铃控制装置设计.pdf_第4页
毕业设计(论文)-基于单片机的教室电铃控制装置设计.pdf_第5页
免费预览已结束,剩余43页可下载查看

下载本文档

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

文档简介

基于单片机的教室电铃控制装置设计(论文) 摘摘 要要 随着科学技术的发展,时间的精度对日益繁忙的人们来说越来越重要。学校电铃 也从开始的手动到自动,时间的准确性也因使用智能器件得到了很大的提高。本设计是 对基于单片机的教室电铃控制装置的智能设计。 利用单片机的智能性,可方便地实现具有智能的电铃设计。本设计中采用的单片机 为 at89s52,设计分为硬件设计和软件设计两大部分。 硬件设计部分以单片机为核心,i/o 接口及外围电路构成教室电铃硬件系统。显示 电路采用数码管显示, 单片机和数码管之间的数据传输使用串口方式。 闹铃使用蜂鸣器, 并同时用两个发光二极管的闪亮进行指示。使用了 6 个按键,可完成作息时间表的设定 和删除和时钟的校正,时间显示的精准性不会受到键盘操作的影响。显示部分只使用一 个芯片驱动六个数码管,线路简单。 软件设计部分采用单片机 c 语言进行程序编写,由很多功能块整合而成。这一部分 主要包括系统初始化,定时器初始化,串口初始化,时钟的设定,闹铃时间的设定, 定 时器中断处理,按键判断,响铃判断,响铃指示等。 关键字:关键字:电铃;单片机;智能 ccccc学本科毕业设计(论文) 2 abstractabstractabstractabstract with the development of science and technology, the accuracy of the time of the growing demand of the people more and more important. school bells improve from the beginning of the manual to automatic, the accuracy of the time has been greatly improved due to the use of smart devices. the design is based on single-chip control of the classroom bell intelligent design devices with intelligence of single-chip, the intelligent design of the bell can be easily achieved. the design uses singlechip at89s52 divided into two major parts ,including design of har- dware design and software design. with single-chip microcomputer as the core, the effective integration of the various parts of the hardware system constitutes a classroom bell. display circuit digital display, microcon- troller and digital control data transmission between the serial port mode used. active alarm buzzer instructions, using two light-emitting diodes for the flashing instructions. 8 keys are u- sed ,timetable for completion of work and rest, and delete settings and clock correction, the time display will not be the precise impact of keyboard operation. six drivers use a single chip digital controller, and lines are simple. part of software design uses single-chip c programming language, with the integration of many functional blocks . this part mainly includes the system initialization, timer initiali- zation, serial port initialization, current time setting, alarm time settings, timer interrupt and second instructions,key judgment to determine the bell to ring , alarm instructions. keyword:keyword:keyword:keyword: bell; scm; intelligence 基于单片机的教室电铃控制装置设计(论文) 目目 录录 1 绪论.1 1.1 本设计的研究背景和研究目的.1 1.2 国内外研究现状.1 1.3 本设计的研究方法和研究内容.1 1.3.1 时钟显示.2 1.3.2 时钟校正.2 1.3.3 作息时间表设置和取消.2 2 本设计总体设计方案.4 2.1 单片机选择.4 2.1.1 采用 8031 芯片.4 2.1.2 采用 at89s52 芯片.5 2.2 数码管驱动选择.5 2.2.1 采用 max7219 芯片 5 2.2.2 采用 74ls48 芯片.5 2.2.3 采用 max7218 芯片 5 2.3 蜂鸣器驱动.6 3 硬件电路设计与计算.7 3.1at89s52 介绍7 3.2max7219 介绍 9 3. 3 显示电路11 3.4 蜂鸣器指示电路介绍.12 3.5 指示灯电路.13 3.6 键盘电路.14 3.7 系统时钟电路.15 3.8 系统复位电路.16 3.9 总原理图.16 3.10 元器件清单16 4.系统软件设计18 4.1 主模块设计.18 ccccc学本科毕业设计(论文) 4 4.1.1 时钟确定模块设计18 4.1.27219 初始化19 4.2 基本显示模块设计.20 4.3作息时间设置模块设计.21 4.2 时钟校正模块设计.22 4.5 作息时间取消模块设计.23 5 系统调试及分析.24 5.1 硬件系统的调试.24 5.1.1 断电调试.24 5.1.2 通电调试.25 5.2 软件系统的调试.26 5.2.1 显示调试.26 5.2.2 闹铃调试.26 5.2.3 按键调试.27 6 结 论.28 致 谢.29 参考文献.30 附录(一).31 附录(二).32 附录(三).41 附录(四).43 基于单片机的教室电铃控制装置设计(论文) 基于单片机的教室电铃控制装置设计(论文) 1 1 1 1 1 绪绪论论 1.11.11.11.1 本设计的研究背景和研究目的本设计的研究背景和研究目的 随着社会的不断进步和科学技术的高速发展,人们的生活节奏也在不断地加快, 在 这快速发展的年代,时间对人们来说是越来越宝贵,然而人们往往会忘记了时间,一旦 遇到重要的事情而忘记了时间,这将会带来很大的损失。电铃控制对学生的学习和生活 有着重要的意义,便于学生准时起床、上学、考试、开会等,从而保证了学生活动的规 范有序。电铃分为机械电铃和智能电铃。机械电铃功能简单,智能电铃是电铃的发展方 向,现在大部分学校都使用智能电铃。智能电铃具有多功能性,可以显示时间,设置和 校正时间作息表。从广义上讲,铃声控制已运用到社会的方方面面,例如,在我们生活 使用的手机铃声,高楼大厦中使用的声光、烟雾报警器等。 1.21.21.21.2 国内外研究现状国内外研究现状 教室电铃基本上结束了手动控制方式,国内外大量生产各种智能打铃仪,产品需软 硬件结合实现。打铃仪具有实现简单、计时精度高的特点。现在内部使用的是性能较好 的 dsp 或 plc,可自动下载各种格式的铃声,用户可以自己选择打铃使用的铃声。但是 相对于单片机来说,plc 和 dsp 的价格太贵。电铃现在使用最多的是防爆电铃。 铃声控制已运用到需要报警报时的方方面面,通常和各种类型的传感器,数字处理 器结合在一起。 1.31.31.31.3 本设计的研究方法和研究内容本设计的研究方法和研究内容 利用单片机的智能性,可方便地实现具有智能的电铃设计。采用单片机设计、制作 的电铃可以很方便地采用软件编程进行功能的调整或增加,具有技术更新周期短、成本 低等优点。由单片机作为电铃的核心控制器,可以通过它的时钟信号进行计时实现计时 功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、 校 时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。 设计完成后,能实现投入使用的用于控制打铃的仪器的基本功能,图 1.1 是一台 ccccc学本科毕业设计(论文) 2 spc5 系列打铃程序控制仪。 图 1.1spc5 系列打铃程序控制仪 1.3.11.3.11.3.11.3.1 时钟显示时钟显示 设计使用六个数码管分别显示小时、分钟、秒钟,上电后显示起始时间“00:00: 00” ,时钟在进行软件调试后精度达到 1s/year。 1.3.21.3.21.3.21.3.2 时钟校正时钟校正 上电后或在其他时段发现时钟显示不正确,可以使用按键进行校正。可设置如下几 个按键: 校正键校正键 :按下后时钟显示数码管中仅秒低位显示且显示“0” ,表示校正动作开 始; 加加 1 1 1 1 键键 :按一次后选中的位数值加 1; 减减 1 1 1 1 键键 :按一次后选中的位数值减 1; 复位键复位键 :按一次后选中的位数值返回 0; 移位键移位键 :按一次后位从低位移向高位,且位在时高位的情况下,按依次后位跳 到秒低位; 确定键确定键 :按一次后数码管显示时钟,表示时钟校正动作完成。 1.3.31.3.31.3.31.3.3 作息时间表设置和取消作息时间表设置和取消 本次设计主要参考我校的电铃控制规律进行设计,表 3.1 是我校的作息时间表。 表 1.1 本校作息时间表 上午下午晚上 基于单片机的教室电铃控制装置设计(论文) 3 7: : : :50预备铃14: : : :20预备铃19: : : :20预备铃 8: : : :00第一节上14:30第五节上19: : : :30第九节上 8: : : :50第一节下15: : : :20第五节下20: : : :20第九节下 9: : : :00第二节上15: : : :30第六节上20: : : :30第十节上 9: : : :50第二节下16: : : :20第六节下21: : : :20第十节下 10: : : :10第三节上16: : : :40第七节上 11: : : :00第三节下17: : : :30第七节下 11: : : :10第四节上17: : : :40第八节上 12: : : :00第四节下18: : : :30第八节下 使用按键设置作息时间后,当时钟到达作息时刻,电铃自动发声 10s。若需要取消 作息时间时,也可用按键完成。可设置如下几个按键: 设置键设置键 :按下后时钟显示数码管中仅秒低位显示且显示“0” ,表示设置作息 时间动作开始; 取消键取消键 :按下后时钟显示数码管中仅秒低位显示且显示“0” ,表示取消作息 时间动作开始。 设置键设置键 加加 1 1 1 1 键键 :按一次后选中的位数值加 1; 减减 1 1 1 1 键键 :按一次后选中的位数值减 1; 复位键复位键 :按一次后选中的位数值返回 0; 移位键移位键 :按一次后位从低位移向高位,且位在时高位的情况下,按依次后位跳 到秒低位; 确定键确定键 :按一次后数码管显示时钟,表示设置或取消作息时间动作完成。 ccccc学本科毕业设计(论文) 4 2 2 2 2 本设计总体设计方案本设计总体设计方案 如果使用的单片机片内带有程序存储器时钟电路和复位电路就能组成一个真 正可用的单片机最小配置系统。六个数码管如果直接与单片机相连,需要大量的 串口,显然不合适。所以在单片机和数码管之间接驱动芯片组成的驱动电路,采 用扫描显示的方式显示数码管。单片机输出的电流太小,无法驱动蜂鸣器发声, 需要在两者之间接驱动电路将单片机的输出电流放大。键盘上设置了若干个键, 使用这些键可以实现校正时钟、设置和取消作息时间的功能。 单片机就是一块集成了 cpu、ram、rom(eppom 或 eeprom) 、时钟、 定时/计数器、多种功能的串行和并行 i/o 口,体积小、质量轻、价格便宜。教 室电铃控制系统一般用于室内环境,单片机完全能够满足抗干扰性的要求。 若用 plc 代替单片机,浪费其几千 kb 甚至几兆的存储器,因为单片机的几 kb 已能满足本设计编程所需的存储空间。与单片机相比,dsp 具有更快的 cpu,更大容量的存储器,但单片机的运行速度已能够满足电铃控制系统的 要求,且无需很大的存储器。综上所述,单片机用于本次设计是比较合适的。 2.12.12.12.1 单片机选择单片机选择 2.1.12.1.12.1.12.1.1 采用采用 8031803180318031 芯片芯片 采用 8031 作为此次设计的单片机,eprom2716、ram6116 分别作为单片机的 程序存储器和单片机的数据存储器。eprom2716 是 8031 单片机的程序存储器,用于存 图 2.1方案设计图 单 片 机 复位、时钟 等电路 键盘 驱动 电路 蜂 鸣 器 驱动 电路 数 码 管 基于单片机的教室电铃控制装置设计(论文) 5 放指令,常数及表格。ram6116 是 8031 单片机的数据存储器用于存放采集的数据及数 据的计算与树立结果等。 2.1.22.1.22.1.22.1.2 采用采用 at89s52at89s52at89s52at89s52 芯片芯片 采用 at89s52 作为此次设计的单片机,该芯片具有低功耗、高性能的特点,是采用 cmos 工艺的 8 位单片机。 选择:由于 8031 单片机没有自带的 ram,且没有可在线编程(isp)flash 存储器; 故需要外接数据存储器和程序存储器,加入存储器后使得成本也较高。这样一来电路连 线较为复杂,容易在焊接方面出现失误导致系统无法实现其功能,故本次设计选择自带 ram 可在线编程的 at89s52 单片机。 2.22.22.22.2 数码管驱动选择数码管驱动选择 2. 2. 2. 2.2 2 2 2.1 .1 .1 .1 采用采用 maxmaxmaxmax7 7 7 7212121219 9 9 9 芯片芯片 采用 icm7219 芯片作为数码管的驱动芯片。icm7219 是一个采用 3 串行接口的 8 位 共阴极 7 段 led 显示驱动器,可同时驱动 8 位共阴极 led 或 64 个独立的 led。其内部结 构主要包括移位寄存器、控制寄存器、译码器、数位与段驱动器以及亮度调节和多路扫 描电路等。 2.2.22.2.22.2.22.2.2 采用采用 74ls4874ls4874ls4874ls48 芯片芯片 采用 74ls48 芯片作为数码管的驱动芯片。74ls48 为有内部上拉电阻的 bcd七段 译码器/驱动器,能把输入的 8421bcd 码译成七段输出 ag,再由七段数码管显示相应的 十进制数。 2. 2. 2. 2.2 2 2 2. . . .3 3 3 3 采用采用 max7218max7218max7218max7218 芯片芯片 采用 icm7218 芯片作为数码管的驱动芯片。icm7218 能够驱动 8 位数码管,适应共 阴和共阳两种方式,通过管脚可以选择两种七段译码方式:十六进制/bcd 方式和不译 码方式。 ccccc学本科毕业设计(论文) 6 选择: icm7219 为数码管驱动芯片, 采用的是串行接口驱动, 与单片机的连线较少。 74ls48 芯片只能驱动一块数码管,要想驱动八个数码管就必须有 6 个 74ls48 芯片,连 线过多。而根据本次设计的要求,故本次设计选择 icm7219 芯片。 2.32.32.32.3 蜂鸣器驱动蜂鸣器驱动 可以使用三极管驱动蜂鸣器。三极管的基极通过一个限流电阻与单片机相连,通过 控制单片机引脚的电平来控制三极管的导通与关闭。 综上所述, 此方案能在满足设计要求的前提下, 最大程度地达到性能与成本的统一。 该方案的硬件设计框图见图 2.2 所示。 图2.2本设计硬件设计框图 at89s52 复位、时钟 等电路 键盘 max7219 数码管 三极管 蜂鸣器 基于单片机的教室电铃控制装置设计(论文) 7 3 3 3 3 硬件电路设计与计算硬件电路设计与计算 单片机电铃控制系统的总体设计分为硬件设计和软件设计两部分, 软件设计部分在 后面介绍。 现就单片机电铃控制系统的硬件设计进行阐述, 主要内容包括单片机的选择、 显示电路、蜂鸣器指示电路、指示灯电路、系统复位电路和系统时钟电路。 3.13.13.13.1 at89at89at89at89s s s s52525252 介绍介绍 at89s52 是一个低功耗,高性能 cmos 8 位单片机,片内含 8k bytes isp(in-system programmable)的可反复擦写 1000 次的 flash 只读程序存储器,器件采用 atmel 公司 的高密度、非易失性存储技术制造,兼容标准 mcs-51 指令系统及 80c51 引脚结构, 芯 片内集成了通用 8 位中央处理器和 isp flash 存储单元,功能强大的 at89s52 可为许多 嵌入式控制应用系统提供高性价比的解决方案。at89s52 的引脚图见图 3.2 示 图 3.1at89s52 引脚图 at89s52 具有如下特点:40 个引脚,8k bytes flash 片内程序存储器,256bytes 的 随机存取数据存储器(ram) ,32 个外部双向输入/输出(i/o)口,6 向量两级中断, ccccc学本科毕业设计(论文) 8 3 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(wdt)电路,片内时钟 振荡器。 引脚功能如下: 下图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟 线两根,4 组 8 位共 32 个 i/o 口,中断口线与 p3 口线复用。现在我们对这些引脚的功 能加以说明: p0 口: p0 口是一个 8 位漏极开路的双向 i/o 口。 作为输出口, 每位能驱动 8 个 ttl 逻辑电平。对 p0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器 时,p0 口也被作为低 8 位地址/数据复用。在这种模式下,p0 具有内部上拉电阻。在 flash 编程时, p0 口也用来接收指令字节; 在程序校验时, 输出指令字节。 程序校验时, 需要外部上拉电阻。 p1 口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (iil) 。在 flash 编程和校验时,p1 口接收低 8 位地址字节。 p2 口:p2 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (iil) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送 1。 在使用 8 位地址(如 movx ri)访问外部数据存储器时,p2 口输出 p2 锁存器的内容。 在 flash 编程和校验时,p2 口也接收高 8 位地址字节和一些控制信号。 p3 口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (iil) 。p3 口亦作为 at89s52 特殊功能(第二功能)使用,如下表所示。在 flash 编 程和校验时,p3 口也接收一些控制信号。 引脚号第二功能: p3.0 rxd(串行输入) p3.1 txd(串行输出) p3.2 int0(外部中断 0) 基于单片机的教室电铃控制装置设计(论文) 9 p3.3 int0(外部中断 0) p3.4 t0(定时器 0 外部输入) p3.5 t1(定时器 1 外部输入) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器写选通) rst: 复位输入。晶振工作时,rst 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后,rst 脚输出 96 个晶振周期的高电平。特殊寄存器 auxr(地址 8eh) 上的 disrto 位可以使此功能无效。disrto 默认状态下,复位高电平有效。 ale/prog:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低 8 位地址 的输出脉冲。在 flash 编程时,此引脚(prog)也用作编程输入脉冲。在一般情况下, ale 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而, 特别强调,在每次访问外部数据存储器时,ale 脉冲将会跳过。如果需要,通过将地址 为 8eh 的 sfr 的第 0 位置“1”,ale 操作将无效。这一位置“1”,ale 仅在执行 movx 或 movc 指令时有效。否则,ale 将被微弱拉高。这个 ale 使能标志位(地址为 8eh 的 sfr 的第 0 位)的设置对微控制器处于外部执行模式下无效。 psen:外部程序存储器选通信号(psen)是外部程序存储器选通信号。 当 at89s52 从外部程序存储器执行外部代码时,psen 在每个机器周期被激活两次,而 在访问外部数据存储器时,psen 将不被激活。 ea/vpp:访问外部程序存储器控制信号。为使能从 0000h 到 ffffh 的外部程序存储 器读取指令,ea 必须接 gnd。为了执行内部程序指令,ea 应该接 vcc。 在 flash 编程期间,ea 也接收 12 伏 vpp 电压。 xtal1:振荡器反相放大器和内部时钟发生电路的输入端。 xtal2:振荡器反相放大器的输出端。 3.3.3.3.2 2 2 2max7219max7219max7219max7219 介绍介绍 它是一个采用 3 线串行接口的 8 位共阴极 7 段 led 显示驱动器,可同时驱动 8 位 共阴极 led 或 64 个独立的 led,如图 3.3 所示。 ccccc学本科毕业设计(论文) 10 max7219 各个引脚的说明如下表所示。 表 3.1 引脚说明 引脚号名称功能说明引脚号名称功能说明 1din串行数据输入端13clk时钟输入 2dig00 位 led 位选端14segaa 段驱动 3dig44 位 led 位选端15seg ff 段驱动 gnd地线16seg bb 段驱动 5dig44 位 led 位选端17seg gg 段驱动 6dig22 位 led 位选端18iset设置峰值段电流 7dig33 位 led 位选端19v+电源电压 8dig77 位 led 位选端20seg cc 段驱动 9gnd地线21seg ee 段驱动 10dig55 位 led 位选端22seg dp小数点驱动 11dig11 位 led 位选端23seg dd 段驱动 图 3.2 max7219 引脚图 基于单片机的教室电铃控制装置设计(论文) 11 12load装载数据输入24dout串行数据输出 max7219 共有 6 个控制寄存器,功能如下: (1)译码控制寄存器(x9h) :max7219 有两种译码方式:b 译码方式和不译码方 式。当选择不译码时,8 个数据为分别一一对应 7 小段和小数位;b 译码方式为 bcd 译码,直接送数据就可以显示。实际应用中可以按位设置 b 译码或是不译码方式。 (2)扫描界限寄存器(xbh) :此寄存器用于设置显示的 led 的个数(18) 。比如 当设置为 0xx4 时 ,led 04 显示,57 不显示。 (3)亮度控制寄存器(xah) :共有 16 级可选择,用于设置 led 的显示亮度,范 围 0xx00xxf。 (4) 关断模式寄存器(xch) : 共有两种模式选择,一是关断状态, (最低位 d0=0), 一是正常工作状态(d0=1) 。 (5)显示测试寄存器(xfh) :用于设置 led 是测试状态还是正常工作状态,当测 试状态时(最低位 d0=1)各位显示全亮,正常工作状态(d0=0) 。 3.3.3.3. 3 3 3 3 显示电路显示电路 图 3.3显示电路 ccccc学本科毕业设计(论文) 12 显示采用共阴数码管,其目的是为了简化限流电路设计和实现亮度可调的要求。从 图中可知,该显示电路采用了与一般的段电流电阻限流方式不同的实现方式,由此减少 了 6832 个限流电阻,简化硬件系统。每笔画段二极管正常发光是的电流一般为 10ma 左右,其两端的电压为 2.5v 左右,即可满足每笔画段发光二极管发光的要求, 而且适当调节此电压值可改变发光二极管的电流,从而达到调节亮度的目的。可改变 7219 iset 端的电阻设置和调节驱动的数码管的段电流,本设计在 iset 端加 5v 电压, 与 7219 的电源端电压相同,如图 3.4 所示。 max7219 采用串行传送方式,只需 load、din、clk 三个脚与单片机相连,即 可实现数据传送。其内部除了有 8 个数位寄存器之外,还有 6 个寄存器用来实现显示方 式,亮度调节和扫描等功能。 3.3.3.3.4 4 4 4 蜂鸣器指示电路介绍蜂鸣器指示电路介绍 响铃指示可以有声或光两种形式,本系统采用声音指示。关键元件是蜂鸣器,如图 3.4 所示。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者 则只需外加适当直流电源电压即可。有源蜂鸣器内部已封装了音频振荡电路,在得电状 态下即起振发声。为了简化设计,本系统采用有源蜂鸣器,其电路设计见图 3.5 示。 其 中 pnp 小功率管 vt1 采用 9013,其最大电流为 800ma,完全满足蜂鸣器驱动的需要。 适当调节基极电阻可改变蜂鸣器的功率。 图 3.4 响铃电路设计图 基于单片机的教室电铃控制装置设计(论文) 13 3.3.3.3.5 5 5 5 指示灯电路指示灯电路 本系统采用六个位数码管进行时间显示(显示时、分、秒位) 。设置、删除作息时 间或校正时钟时后,按一下确定键,指示灯 d1 亮,表明动作成功。到打铃时间时,蜂 鸣器发声,指示灯 d2 亮。如图 3.5 所示。 图 3.5 指示电路设计图 3.3.3.3.6 6 6 6 键盘电路键盘电路 此设计设置了 8 个按键,分别是设置键、校时键、移位键、复位键、加 1 键、减 1 键、删除键和确定键,如图 3.6 所示。 设置键:用来设置作息时间表,软件中设置了 180 个字节来存储 30 个作息时间, 通过设置键和复位、加 1 等功能键的配合来存储作息时间。30 个作息时间对一个学校 来说是足够的,如果不够,可以通过修改程序来添加。 校时键: 用来校正时钟, 数码管除在设置作息时间、 校时和删除作息时间的时间外, 显示的是单片机设置的时钟。校时键功能完成后,数码管显示修改后的时间。 删除键:和设置键相反,用来删除作息时间。 在系统工作情况下,p0 各个串口为高电平。当按键按下后,按下键所对应的串口 接地,变为低电平。单片机接受到此信号后,执行相应的动作。 ccccc学本科毕业设计(论文) 14 键盘电路设计中最重要的是按键去抖动问题,一般有硬件去抖和软件去抖两种方 式。但考虑到系统的硬件简化和成本,没有采用硬件去抖,而采用软件去抖。 图 3.6 键盘电路 3.3.3.3.7 7 7 7 系统时钟电路系统时钟电路 系统时钟电路见图 3.7 示。本系统采用外部晶体振荡电路,即在单片机 at89s52 的 xtal1 和 xtal2 引脚上并联一枚石英振荡晶体,且要在两脚与地之间各加一枚小电容。 两小电容起着对系统时钟频率微调和稳定作用,因此,在本闹钟系统的实际应用中一定 要注意正确选择参数(3010pf) ,并保证电路的对称性(尽可能匹配) 。 基于单片机的教室电铃控制装置设计(论文) 15 图 3.7 系统时钟电路 3.3.3.3.8 8 8 8 系统复位电路系统复位电路 本系统采用的是 rc 复位方式,复位电路图见图 3.8 示。rc 复位方式的实质是一阶 充放电电路。从理论上讲,51 系列单片机复位引脚只要外加两个机器周期的有效信号 即可复位,即只要保证 t=rc2m(机器周期)便可。但在实际设计中,通常 c 取值为 10uf 以上,r 通常取值 10k左右。 图 3.8 系统复位电路 ccccc学本科毕业设计(论文) 16 3.93.93.93.9 总原理图总原理图 系统硬件总图见附录(一) 。 3 3 3 3.10.10.10.10 元器件清单元器件清单 根据电路图选定元件,具体型号及参数如表 3.1 所示: 表 3.1元器件清单 序号元件名称型号单位数量 1单片机at89s52块1 2数码管驱动芯 片 max7219只1 3电阻金属膜 5k只8 金属膜 10k只1 金属膜 1k只3 4瓷片电容30pf只2 5电解电容10uf只1 6pnp 型三极管9013只1 7发光二极管绿色只2 8数码管nes-5011ag只6 9按键只9 10晶振12mhz只1 11蜂鸣器只1 12线路板块1 基于单片机的教室电铃控制装置设计(论文) 17 4. 4. 4. 4.系统软件设计系统软件设计 电铃控制能否实现, 软件的设计是十分重要的。 电铃系统的软件框架图见图 4.1 示。 在软件系统模块设计中主要包括了系统初始化,定时器初始化,串口初始化,当前时间 的设定,作息时间的设定显示刷新,按键判断,响铃判断,响铃指示等。 4.14.14.14.1 主模块设计主模块设计 主模块是系统软件的主框架,主模块中包含系统初始化,定时器初始化,串行口及 有关变量的初始化,走时时间的设定,按键及响铃指示,闹铃时间的判断等。其设计流 程图见图 4.2 示,具体源程序见附录(一) 。 主模块 基本显示 设置作息表 校正时间 响铃 删除作息时间 图 4.1 电铃控制系统软件框架 4.1.14.1.14.1.14.1.1 时钟确定模块设计时钟确定模块设计 时钟利用定时器 t0 溢出中断方式,通过设置 t0 参数确定计时的基数,再对基数的 计数确定出秒数,分钟数和时数。为了避免中断响应时间给计时带来的误差,选择工作 方式 2。tl0 作为 8 位加法计数器使用,th0 作为初值寄存器使用。tl0 计数溢出时, 不 仅置位 tf0,而且发出重装信号,使三态门打开,将 th0 中的初值自动送入 tl0。 由于单片机选择 12mhz 晶振,tcy1us,所以定时范围为 1256us。 设定 t0 定时 250us,则 th02562506,tl06。 ccccc学本科毕业设计(论文) 18 4.1.24.1.24.1.24.1.27219721972197219 初始化初始化 为了保证 7219 完成正常的显示功能,主程序首先要向 7219 的五个控制寄存器写 入控制字,然后才能向 7219 的位寄存器写入数据。以下给出操作的程序流程图: 4.2 主模块流程图 cpu 系统初始化 定时器 t0 初始化 7219 初始化 时 钟 显 示 执行设置作息表程序 设置键0? 校正键0? 执行校正时钟程序 取消键0? 执行取消作息时间程序 响 铃 时 间 到了? 执行响铃程序 yes no yes no yes no yes no 基于单片机的教室电铃控制装置设计(论文) 19 向译码控制寄 存器 09h 写入 ffh,选择全译 码方式 向亮度控制 寄存器 0ah 写入 04h, 设 置初始亮度 向扫描界限寄存 器0bh写入05h, 位 05 显示, 位 67 不显示 向关断模式寄存 器0ch写入01h, 开启正常工作模 式 向测试控制 寄存器 0fh 写入 00h, 选 择工作模式 4.24.24.24.2 基本显示模块设计基本显示模块设计 max7219 采用串行输出方式,按照协定的格式选择寄存器存入数据,首先送入8 位地址,再送 8 位数据到选择地址对应的寄存器,通过 load、din 和 clk 管脚实现。 以下是基本显示模块的流程图: load 置 0,拉 低片选线,选中 7219 din 发送 8 位地址,在每 个 clk 的上升沿被移到 16位移位寄存器的高 8位 din 发送 8 位数据,在每个 clk 的上升沿被移到 16 位 移位寄存器的低 8 位 在 load 的上升沿锁 存 16 位数据, 4.37219 初始化流程图 图 4.4 基本显示模块流程 图 ccccc学本科毕业设计(论文) 20 4.34.34.34.3作息时间设置模块设计作息时间设置模块设计 指针指向组寄存 器赋 0 yes 设置键0? 向 扫 描 控 制 寄 存 器 0bh 写 01h,显示 0 执行按键操作, 加1键=0? 指针指向组秒低位寄存 器值加 1,显示 减1键0? 指针指向组秒低位寄存器 值键减 1,显示 复位 键0? 指针指向组秒低位寄 存器值返回 0 值, 显示 yes yes yes 移位键0? 确定键0? 指 针 指 向 下一组 no no no yes no no yes 图 4.5 作息时间设置流程图 基于单片机的教室电铃控制装置设计(论文) 21 4.24.24.24.2 时钟校正模块设计时钟校正模块设计 将校时寄存 器的值赋 0 no 向扫描控制寄存器 0bh 写 01h,显示 0 校正键0? 加 1 键0? 校时寄存器秒低位指 加 1 yes yes 减 1 键0? 校时寄存器秒低位指 减 1 复位键0? 校时寄存器秒低位指 返回 0 移位键0? yes yes no no no 向扫描控制寄存器 0bh 写 01h,显示 0 执行键盘操作 将校时寄存器 的值赋给时钟 各变量 确 定 键 0? yes no ccccc学本科毕业设计(论文) 22 4.54.54.54.5 作息时间取消模块设计作息时间取消模块设计 取消时间寄存器秒低位减 1 取消键0? 向扫描控制寄存器 0bh 写 01h,显示 0 加1键0? 取消时间寄存器秒低位加 1 减1键0? 复位键0? 取消时间寄存器秒低位返回 0 移位键0? yes no yes yes yes yes no no no no 执行键盘操作 将取消时间寄存器的 值与作息时间组的时 间比较, 确定数据相同 的组号, 将此组后的各 组组号减 1 确定键0? 取消时间寄 存器值赋 0 向扫描控制寄存器 0bh 写 02h,显示 0 基于单片机的教室电铃控制装置设计(论文) 23 5 5 5 5 系统调试及分析系统调试及分析 系统调试及分析是电铃设计的关键环节,它将设计的理论运用到实际。系统调试分为硬 件系统调试和软件系统调试,以下将作具体介绍。 5.15.15.15.1 硬件系统的调试硬件系统的调试 在对电路进行焊接的时候,应先焊较低的元器件,后较高大的元器件,本设计的焊 接次序是:电阻,二极管,瓷片电容,插座,7219,晶振,按健,电解电容,数码管, 按钮,三极管及其散热片。另外,电路中接地(或接电源)的管脚应全接在一起,使电 路系统具有相同的基准电位,在焊接过程中尽量防止漏焊和虚焊。焊接完后,对电路板 进行调试,调试分为断电调试和通电调试。 5.1.15.1.15.1.15.1.1 断电调试断电调试 为了安全起见,首先必须进行断电调试。断电调试的内容至少包含短路检测和原理 正确性的确认。 1) 短路检测 系统电路焊接完成后,必须进行短路检测。检测方法是选择万用表欧姆档,分别将 万用表的红、黑表笔放在两个结点上,若万用表发出“吱”的声音,表示被检测两点间 的电路为短路。此时需找出电路中的短路点,并进行修整。 2) 原理正确性确认 关于这个问题,不同的电路有不同的工作原理,因此必须对具体的电路进行分析。 对于响铃指示电路,首先检查 9013 的极性不能接错(c、e) ,否则,因为 9013 始 终不能正向偏置而无法导通,蜂鸣器不能在设置的作息时刻发声。 对于指示电路,应考虑限流电阻的阻值,过小会使发光二极管因过流烧坏,过大又 会导致发光二极管发光效果不明显。 对于按键电路要检查接入电路的两个引脚是否在按键的按下和弹起情况下分别对 应按键导通和断开状态。 ccccc学本科毕业设计(论文) 24 5.1.25.1.25.1.25.1.2 通电调试通电调试 通电调试是在给系统加工作电压+5v 的情况下进行,主要是通过测试相关元器件引 脚数据并进行分析。 1) 系统时钟是否起振 凡是微处理器系统,正常运行的必要条件是系统时钟稳定正常。在实际工作中, 因 为各种原因导致系统时钟不正常而出现无法正常运行的情况也时有出现, 因此系统的时 钟是否起振应是通电检查的首要一环。 检测方法是用数字万用表的直流电压档(20v) ,分别测量单片机 18、19 引脚的电 压, 其读数应在 2.5v 左右。 见表 5.1 示, 单片机 18、 19 引脚的电压分别为 2.19v、 2.07v, 因此该系统时钟能起振。 表 5.1 单片机复位状态下引脚电压测试数据 引 脚 号电 压(v)引 脚 号电 压(v)引 脚 号电 压(v)引 脚 号电 压(v) 14.99114.99214.99315.00 24.99120.00224.99320.01 34.99134.99234.99330.01 44.99144.99244.99340.02 54.99154.99254.99350.01 64.98164.99264.99360.01 74.99174.99274.99370.01 84.98182.19284.99380.01 94.98192.07295.00390.01 104.99200.00301.66405.00 2)复位是否正常 复位不正常也会使系统无法正常工作,当复位键按下时系统复位,单片机 9 脚应为 高电平,当复位键弹起时,单片机 9 脚应为低电平。见表 5.1 示,单片机 9 脚在复位键 按下和弹起的电压分别为 4.98v 和 0.00v,由此得系统复位功能正常。 3)关键点电压参数是否正常 vt1(9013)为 pnp 型三极管,pn 结导通电压为 0.66v。在蜂鸣器不工作时,测得 e 极电压为 4.97v,b 极电压为 4.98v,c 极电压为 0.01v,此时三极管截止,与理论相 符。在风鸣器工作时,测得 e 极电压为 4.97v,b 极电压为 4.23v,c 极电压为 4.94v, 此时三极管导通,与理论相符。 进行按键、按钮电路的通电检测时,可通过测量单片机与它们相连引脚的电压, 如 基于单片机的教室电铃控制装置设计(论文) 25 果按键、按钮的弹起和按下状态下分别对应高、低电平,则所测电路连接正确。 5.25.25.25.2 软件系统的调试软件系统的调试 软件调试可以采取离线调试和在线调试。前者不需要硬件仿真器即可;后者需要一 定仿真系统的支持。 本设计不用仿真器, 直接将程序代码烧录到单片机, 直接通电试验, 通过观察关键现象,进行程序修改。将程序代码烧录到单片机的连线图见图 5.1 示。 为 了方便调试,在软件调试时,由电脑 usb 接口为系统供电,电脑usb可提供 5v,200ma 的电源。 gnd 1 rst 2 sck 3 miso 4 mosi 5 a1 5pin rst c10 100p r9 10k sck l2 mosi 图 5.1 单片机程序烧录连线图 软件调试的分为显示调试,闪烁调试,闹铃调试,按键调试和走时误差修整调试。 5.2.15.2.15.2.15.2.1 显示调试显示调试 例如,要在数码管秒低位、高位,分低位、高位和时低位、高位分显示 1、2、3、 4、5、6, ,先将一段调试程序烧入,观测数码管是否显示此数字。若显示,则说明该系 统显示功能正确。若显示不正确,则需对程序和电路都进行检测,直至显示正确。调试 程序见附录(二) 。 5.2.25.2.25.2.25.2.2 闹铃调试闹铃调试 每隔 0.5s 将响铃控制引脚的电平取反,观察蜂鸣器是否响 0.5s,再停 0.5s。 ccccc学本科毕业设计(论文) 26 5.2.35.2.35.2.35.2.3 按键调试按键调试 分三组调试,分别将设置作息时间子程序,删除作息时间子程序和校正时钟子程序 烧入,观察按键后是否执行相应的结果。 基于单片机的教室电铃控制装置设计(论文) 27 6 6 6 6 结结 论论 本单片机电铃控制系统的设计利用单片机的智能型,采用软硬件结合方式,实现了 时间显示功能。多个功能键的配合使用使操作变得简单,7219 芯片的运用简化了系统 电路和系统硬件检测。在软件调试时,采用电脑 usb 接口提供电源,使调试变得方便。 程序中使用了若干自定义函数分别对各个功能块进行编程, 主函数对自定义函数进行循 环调用。单片机的片内程序存储器空间够用,无需再外加片外程序存储器。 本单片机电铃控制系统达到了预期的目的,但还可进行以下方面的功能扩展: 1) 设计出一个交直流供电电源系统,以确保系统供电的稳定; 2) 采用时钟专用芯片和单片机结合以简化系统软件设计,并进行更多功能扩展; 3) 进行系统低功耗设计。 ccccc学本科毕业设计(论文) 28 致致 谢谢 参考文献参考文献 1丁元杰单片微机原理及应用北京:机械工业出版社,200235-50 2胡大可,李培弘,方路平基于单片机8051的嵌入式开发指南北京:电子工业出 版社,2002120-142 3赵亮,侯国锐单片机 c 语言编程与实例

温馨提示

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

评论

0/150

提交评论