自动打铃系统设计.doc
北京理工大学珠海学院2020届本科生毕业设计自动打铃系统设计学 院: 信息学院 专 业: 自动化 姓 名: 邓家胜 学 号: 160104105584 指导老师: 董静 职 称: 讲师 中国·珠海二二年5月诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计自动打铃系统设计是在指导老师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料。均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 年 月 日自动打铃系统设计摘 要在时代的快速发展下,家电对人民的影响,加快了人民生活节奏,因此电器的多功能在定时方面发展迅速以便满足人们的需求。自动打铃系统可用于许多类似学校的需要通过定时打铃来帮助其运作的场合,各类工厂、个人家庭等。自动打铃系统具有节约资源,安全和使用便利的优点。本篇文章介绍的设计方案是基于STC89C52RC单片机的自动打铃系统。本文先阐述了自动打铃系统设计要实现的功能,然后介绍了该系统电路的设计和相关的原理说明,其中涵盖了设计方案、系统硬件的设计、电路设计的说明、系统软件设计的流程和系统制作及调试。最后做出了对此次毕业设计的总结心得。关键词:STC89C52RC;定时打铃;1602液晶;键盘Design of automatic bell system AbstractWith the increasing popularity of household appliances and people life rhythm speeding up, people for the dependence of the electrical appliances to further improve, demand for electric timing also increases further. Time switch ringing the bell can be used in factories, schools and so on need to regular the occasion of ringing the bell. Time switch the use of ringing the bell can achieve energy saving, safety, convenience, etc. This paper introduces a kind of based on STC89C52RC single-chip microcomputer timer switch design of ringing the bell.This article first describes the functions to be achieved by the automatic bell system design,and then expounds design and principle of the circuit system, including design scheme selection, key components, circuit design specificSTCion (including power circuit, keyboard, 1602 single chip microcomputer control circuit, liquid crystal display, relay circuit) software design process, and system test. Finally, I made a summary of the graduation project.Keywords: STC89C52RC;Timer switch;LCD 1602;Keyboard目 录1前言11.1该设计的目的、意义及应达到的技术要求11.2本设计在国内外的发展状况及存在的问题21.3本设计应解决的主要问题32系统硬件的设计42.1设计的原理42.2单片机最小系统42.2.1 STC89C52单片机42.2.2复位电路的模块72.2.3时钟电路72.3 LCD1602液晶显示器82.4蜂鸣器驱动模块112.5 DS1302时钟芯片简介122.6按键模块133系统软件设计153.1主程序流程图153.2 DS1302计时程序的编写163.3显示子程序流程图183.4按键电路程序编写204系统的制作与调试214.1硬件的制作214.2硬件电路的调试214.2.1独立元件的检测214.2.2单片机最小系统的调试224.2.3显示模块的调试234.2.4键盘模块的调试234.2.5蜂鸣器电路的调试234.3软件的调试234.3.1显示模块的调试234.3.2时钟模块的调试234.3.3键盘模块的调试234.3.4人机界面模块的调试235总结24参考文献26谢 辞27附 录281前言在当今社会,电子技术发展极快,人们的生活被电子技术改变了许多。时间是宝贵的,随着时代的快速发展,生活节奏的加快,人们很容易因为疏忽或者其他因素,而错过了自己要完成重要的事情的时间,就需要承受这个过失所带来的损失。因此,人们需要一个能够在时间上提供提醒功能定时系统。近年来,人们对时钟的要求随着科技水平的提高而更加严格,功能多,质量好的电子钟已经超越传统钟的水平,发生了巨大变化。打铃器是每个学校不可或缺的工具,它是以时钟为基础的时钟。但是,自动打铃系统能够更加准确的控制时间,使得学校的上下课、休息时间的提醒更易掌握,另外在办公室等场合也能应用到它,所以自动打铃系统的设计十分有实际使用的意义。1.1该设计的目的、意义及应达到的技术要求自动打铃在学校、工厂、办公室等场合应用,用作按一定相同的周期对作息时间来响铃,使大家知道学习、工作及休息等活动的切换。本设计使用的控制芯片是单片机STC89S52,开发了一种新型实用低价的自动打铃控制电路。本自动打铃系统的优点在于:1、不使用备用电池;2、数据存储时间长;3、显示日期且在打铃时显示不会中断。4、体积小、功耗低、实用。当今科学技术水平不断提高,许多传统的手动器件被新型的性能良好的产品替代或者被淘汰,例如本次设计的基于单片机的自动打铃系统,它能够十分准确的在预定时刻响铃,还能够同时设置多个定时点,除此之外,它能够很直观的显示星期、时、分、秒等信息,为使用者的生活带来了方便。自动控制在当今人们的生活中处处可见,大到窗帘的智能化,小到日常佩戴的手表,都体现了科学的发展。尤其是单片机技术的广泛应用,厂家投入的生产成本降低了,消费者使用产品时也更简单易懂,便捷安全。以单片机为基础的自动打铃系统,有着体积小,功耗低,实用,低价等优点,与此同时,单片机的控制优势得到极致地应用。本自动打铃系统在作息时间控制上作用很大,为大家带来了便利。本设计主要实现以下功能:1. 基本计时和显示功能2. 能设置当前时间(含上午、下午,时、分)3. 规定:上午6:30起床铃ü 下午11:00熄灯铃1.2本设计在国内外的发展状况及存在的问题用于控制领域的单片机是由计算机向微型方向衍生发展出来的。现在,芯片被应用到许多先进的控制技术中并不断发展,目前应用到自动打铃系统的控制方式有许多种,这里例举三种:1、使用CPLD控制;2、使用单片机控制;3、使用继电器控制。其中继电器控制的优缺点明显,优点是它的结构并不复杂,制作成本低,强抗干扰性。也存在一些不足之处,例如,不耐磨,易受损。还容易产生电弧导致熔断,从而引发危险,甚至危害到人们的生命安全。另外,假如一个电子产品安装了成百上千个继电器,它不仅占地大而且很重,工作时会消耗很多电能,产生的噪音也会给周围的生物带来极坏的影响。如果需要修改旧的设计方案,若是大量的硬件控制电路被采用在继电器控制系统中,则会使工作量大大增加,在改制、安装及调试上需要投入大量的人力物力和时间,甚至是与再次设计一台真的装置也并无差别了。总之,这种控制方式仅用于对受控对象要求较低的小型控制系统。单片机是通过执行相应指令来实现对应的功能,它工作速度和效率会受到其工作时序的影响而发生改变。这是因为单片机的排队串行指令执行方式。所以,单片机在两个方面还存在不足:1、高速数据采集;2、高速实时仿真。单片机会遇到某些因素时就要复位,如初始工作的阶段;工作中突发的干扰。由此可以猜测,单片机工作不可靠的原因是这些复杂的复位情况。另外,当MCU遇到意外因素时,程序就会跑掉。就算“看门狗”等抗干扰措施存在,在遇到不可控因素的发生和极其复杂的情况下,单片机的程序也可能跑掉,进入“崩溃”状态。CPLD控制方式简单好用,可靠,设计系统容易,维护方便,强抗干扰性,使用存储逻辑来减少了设备外部的接线,大大减少了完成制作控制系统的时间。经过快速发展,市面上不同制造商研发的芯片不仅互相取长补短,而且在追求速度更快、运算能力更强、体积更小、成本更低等方面不断努力研发以追求更大的突破。现在全球芯片制造公司都推出了原创的数字自动电路系统,数量众多,各具特色,创造了一个巨大的天地让数字自动打铃系统的应用不断发展。1.3本设计应解决的主要问题1 如何选择合适的单片机通过考虑并结合了众多因素后,本设计采用STC89C52单片机芯片去完成本次自动打铃系统的设计,因为这不仅能够使系统构成更简单,而且可以降低系统成本、增强系统性能、满足更多应用场合的需要。本设计采用DS1302单片机芯片。用DS1302计时和预设打铃时间,通过三线串行数据传输的方式,让其接口与STC89C52RC芯片连接起来,完成同步通信,8255芯片会读入用矩阵键盘给定的时间值,最后在89C52RC的综合控制下,当前时间会被送到液晶显示器显示,到了预定时间时,蜂鸣器接收到信号后响铃。2 如何选择合适的液晶显示器由于本系统信息显示量大,所以本设计选用LCD1602中文模块的液晶显示器,LCD1602的宽电压最低为2.7V,最高为5.5V,并且可以在正常工作模式、睡眠模式和低功耗模式三种中切换状态,即不管是给予多少工作电压都能工作,它也是一种低功耗的便携式电子仪器。另外,LCD1602中文模块显示负电压有助于系统电源设计的简化。因此在本设计中是很好的选择。282系统硬件的设计2.1设计的原理在本设计中,将STC89C52RC芯片作为核心控制单位,主要是通过运用单片机准确的控制,功能数量都多的IO口,以及灵活的编程设计,从而达到定时控制的设计目标。人机交互界面需要由键盘模块和LCD1602外接到STC89C52RC的外围电路上来组成,然后设置所需参数。原理如下图2.1所示:STC 89C52RCDS1302计时模块蜂鸣器模块红外接收模块按键模块5V稳压模块LCD1602液晶显示模块图2.1 硬件电路原理图本设计有三种工作方式:打开;关闭;自动。一个星期中的每一天都可以单独设置数据。例如,选中周一并设置了定时时间,当当前时间到达定时响铃的时间时,蜂鸣器就会闭合后铃声响起,过了设定时间后,铃声停止。并且可以独立设置20组开启和闭合的时间。2.2单片机最小系统2.2.1 STC89C52单片机随着单片机技术的高速发展,在单片机上的选择也越来越多,有8051、STC89C52RC等型号。8051单片机由Intel公司研发的基本型芯片,它是基于冯诺依曼的体系结构的产品 百度百科。8051单片机内部集成了一个4KB的程序存储器。8051与80C51两款型号从外形上看几乎看不出有任何差别,而且这两款单片机的总线是兼容的,它们的引脚和指令系统也没有互相排斥,二者独立开发出的软件都能被对方运行。 STC89C52RC是一种CMOS8位微控制器,集成了8位CPU、在系统可编程Flash,能够提供给许多嵌入式控制应用系统高效的解决方案14。图2.2 STC89C52RC单片机实物图除了8K字节的Flash以外,STC89C52RC还有许多结构。如下表:表2.1 STC89C52RC结构内容表序号结构序号结构11个512字节的RAM6“看门狗”232位I/O口74个外部中断3内置的4KB的PROM81个7向量4级中断结构4MAX810复位电路9全双工串行端口53个16位的定时器/计数器.此外,在0Hz的状态下,STC89C52RC可以进行静态逻辑操作。它还支持2种软件选项的省电模式。CPU在空闲模式下不工作,但是允许其他功能结构正常工作。芯片掉电时,会保存随机存取存储器内容,冻结振荡器,停止单片机的所有工作,只有硬件的强制复位或者执行下一个中断指令才会结束这个状态。图2.3 STC89C52RC单片机引脚图在经过对以上几款单片机的分析和比较之后,最终选择了STC89C52RC单片机,因为:1. STC89C52RC单片机具有高可靠性,便于扩展;2. STC89C52RC单片机采用的CHMOS工艺具有速度高、功耗低、密度低的优点;3. STC89C52RC单片机的控制功能相较于其它几款单片机要更为强大;4. STC89C52RC单片机的不仅具有片内存储容量较小,而且具有集成度高、性价比高、体积小、应用广泛等特点。2.2.2复位电路的模块单片机复位信号是高电平。复位由两种方式可以进行:1、按键复位的原理:按下或松开复位按键可以改变引脚的电平,按下就会开始复位,松开后单片机恢复正常。2、上电复位操作原理:开机时给电容充电,使复位引脚电平的电平升高,单片机复位。冲满后,电容断开电源,并将复位引脚从下拉电阻拉到第一级单片机正常工作。复位电路的作用是将系统中的中央处理器等部件初始化,然后在初始化状态下重新开始工作。一般来说,89C52系列单片机需要结合相应的外部电路实现复位,自身完成不了该操作。图2.4 复位电路2.2.3时钟电路该模块使用一个12MHz的晶振来实现系统对于时间的精确计算。只有电路受到同一个时钟信号的控制时,才能成功实现同步模式。时钟电路的功能是产生微控制器工作时所需的时钟信号。图2.5 时钟电路2.3 LCD1602液晶显示器液晶显示模块一般有:发光二级管、LED数码管、LCD液晶显示器。LED数码管是由多个封装在一起的LED组装成“8”型的电子器件,它是由引线已经在内部完成连接的7个LED组成一位数码管一个LED表示小数点组成,可以用“A,B,C,D,E,F,G,DP”表示,笔画和公共电极需要被引出。如果要使LED数码管显示的信息准确,就必须使用驱动电路去驱动数码管的每一段代码,这样就可以获得需要的它显示的数字。根据不同的驱动方式,分为静态驱动和动态驱动。静态式驱动,就是一个单片机的输入/输出端口驱动每个数码管的没一个段的代码,或使用BCD码驱动。即使有着编程简单和较高的显示亮度的优点,也无法掩盖占用过多输入/输出端口的缺点。占用过多的I/O端口会使得硬件电路变得复杂,同时还会带来体积变大、成本增加、功耗升高的缺点。动态式驱动相对来收具有更高的实用性。首先,它是基于所有的数码管的8个显示笔画的同名端,且这8个同名端互相连接。然后在这个构成的基础上,位控控制电路会安置在数码管的共极上,而且每个数码管都会对应一个位控电路。在这个结构中受控于相互独立的输入/输出线路。单片机与位控门控制电路存在一定关系,单片机每输出一个字形码时,就会控制位门控通信端电路。要想在数码管上观察观察到字形,需要通过执行指令去打开这些门控电路,从而将字形显示出来。没有门控的数码管将处于未点亮状态。每个数码管的串口端由单片机分开不同时间依次控制,在执行这个操作之后,这些数码管在接收到指令后轮流显示信息。在这个过程中,需要设置数码管的点亮时间,大概每一个的时间在1毫秒到2毫秒之间,虽然每位数码管在事实上不是一起亮的,但是只需保证满足条件的扫描速度,向人们传递的显示数据则为稳定的。虽然两种状态的显示效果相同,但是动态显示可以节省输入/输出端口,也无需外加解码驱动程序。硬件电路相比较于静态式驱动方法也更为简单,而且功耗更低。但是,动态式驱动具有较差的稳定性。当显示位数的数量比较大时,将会占用中央处理器的大量处理时间去轮流扫描。而由于本设计需要显示的数字和字母较多,在程序的编写上也会十分复杂难懂。而LCD液晶显示器相较于LED数码管,其性价比更高。它的外形更小,工作消耗更少电能,显示更多样化的内容。如今,在许多单片机应用设计中,字符型液晶显示器吸引了更多目光与获得广泛应用,是单片机应用设计中显示模块的首选。在本次设计中,LCD液晶显示模块发挥很多作用。除了满足设计要求,而且使用简单方便,故优先考虑字符型液晶显示模块。本设计采用的是LCD1602液晶显示器。它是由许多元器件和结构器件一起组装在一块PCB板上的电子器件,上面有:1、LCD;2、控制驱动主电路及其扩展驱动电路;3、部分电容电阻等等。LCD1602液晶显示器有两种类型,如下表:表2.2 LCD1602液晶显示器两种类型的区别内容表带背光不带背光控制器(大部分)HD44780HD44780厚度较厚较薄采用的引脚接口16引脚接口14引脚接口备注:是否带背光在实际应用中并无差别图2.6 LCD1602芯片实物图图2.7 液晶显示模块LCD1602液晶显示模块引脚对照的功能8请对照下表:表2.3 LCD1602液晶显示模块引脚功能说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据口2VDD电源正极10D3数据口3V0液晶显示对比度调节端11D4数据口4RS数据/命令选择端(H/L)12D5数据口5R/W读写选择端(H/L)13D6数据口6E使能信号14D7数据口7D0数据口15BLA背光电源正极8D1数据口16BLK背光电源负极液晶引脚与单片机连接,接法如下表所示:表2.4 液晶引脚与单片机连接的接法表引脚号单片机引脚号单片机1接地6E端为使能端2接5V正极714P0口3接3K的电位器调整对比度15接电源4RS为寄存器选择16接地5R/W为读写信号线图2.8 LCD1602引脚图2.4蜂鸣器驱动模块因为单片机属于弱电流电子器件,所以它们工作在比较低的工作电压,基本不超过5V,其驱动电流也不高过毫安级别。因此,需要连接“功率驱动”去帮助单片机在大功率场合中发挥作用。本次设计中就是用一个典型又简单的功率驱动环节,蜂鸣器驱动。蜂鸣器驱动电路图可知蜂鸣器驱动模块的工作内容如下表所示:表2.5 蜂鸣器驱动模块的工作内容内容三极管8050的作用起放大作用起开关作用引脚连接8050的基极单片机的P20端口控制蜂鸣器的开关P20为低电平,蜂鸣器打开P20为高电平,蜂鸣器关闭图2.9 蜂鸣器驱动电路2.5 DS1302时钟芯片简介一般来说,串行时钟电路有DS1302、 DS1307等款式。这些时钟芯片有各自特点,比如外置晶振或者内置晶振及充电电池的。因其接口简单、价格低廉、操作方便而应用广泛。在本设计中,采用的是DS1302时钟芯片,相关参数14如下表所示:表2.6 DS1302时钟芯片相关参数说明表研发公司美国DALLAS公司特点高性能、低功耗的涓流充电时钟芯片内部结构内置一个实时时钟/日历和31字节静态RAM通信方式用简单的串行接口与单片机进行通信(在同步串行的模式下)通信端口(1)RES,(2)I/O,(3)SCLK时钟/RAM的读/写数据的通信方式通过1个字节或多达31个字节的字符组来完成图2.10 DS1302时钟芯片实物图DS1302时钟芯片引脚对应的功能14请看下表:表2.7 DS1302时钟芯片引脚功能说明表编号符号引脚说明1X1,X232.768KHz晶振管教2GND地3复位脚4I/O数据输入/输出引脚5SCLK串行时钟6VCC1,VCC2电源供电管脚图2.11 DS1302引脚图2.6按键模块在这个模块中,将6个独立按键的管脚与单片机的输入/输出端口进行连接,人机交互界面通过简单的逻辑方式完成。这就是独立按键设计。独立键盘电路请看下图。图2.12 独立键盘电路连接图3系统软件设计3.1主程序流程图在此次设计中,具体思维如下表所示:表3.1 主程序流程思维表步骤内容1单片机对主程序进行主要控制2建立人机操作界面3存储并分析预设时间4驱动液晶模块显示相关信息5控制打开和关闭蜂鸣器的预定时间6分析和比较时钟信息7控制蜂鸣器开关主程序的流程图请看下方图3.1。 开始系统初始化是否有键按下是否到达定时时间蜂鸣器吸合NYN执行按键程序Y图3.1 主程序流程图3.2 DS1302计时程序的编写在这个部分中,RST置1,8位被载入移位寄存器,它们能够给出地址和命令的信息,其发挥的作用是启动任何数据传输。数据在SCLK上升沿串行输入。读/写周期的其中一个发生,都是单字节传输或多字节的传输模式,系统会访问前8位指定的40个字节。命令字在前8个时钟周期存储在移位寄存器中之后,其它时钟在读操作期间输出相应的数据,在写操作期间输入相应的数据。时钟脉冲数在单字节模式下为8+8,而在多字节模式下,则为8+248。请看下面图3.2展示的DS1302的其中一个命令字节。在单片机工作时,它会初始化全部传输的数据。位MSB只有置为1,DS1302才能被写入。第6位中,时钟日历数据是置0;内存数据置1。第1位和第5位指定的是输入或输出的特定寄存器。在位LSB中,置0就写入;置0就读取;命令字节就要在这个位开始传输。图3.2 DS1302的一个命令字节DS1302的读写时序如图3.3所示。在多字节模式下,通过寻址地址31,时钟/日历或随机存取存储器寄存器可以被指定为多字节模式。如前所说的一样,第6位被指定为时钟或随机存取存储器,第0位被指定为读或写,时钟/日历寄存器中的地址9至31以及随机存取存储器寄存器中的地址31不能用来存储数据。从地址0的第0位开始读取或写入。写入随机存取存储器是在多字节模式的情况下,为了传输数据但是全部31个字节不需要全写入,写入的每个字节都将被传输到随机存取存储器,而不管是否写入全部31个字节。图3.3 DS1302的读写时序DS1302芯片集成了12个寄存器,包括了与日历、时钟有相应的关联的有7个,以BCD码的形式存放数据位。具体的DS1302的资料如表3.2所示。在这之中,偶数代表写入;奇数代表读取。表3.2寄存器地址和内容写寄存器读寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0秒80H81HCH10秒秒分82H83H010分分小时84H85H12/24010时时A/P日86H87H0010日日月88H89H00010月月星期8AH8BH00000星期年8CH8DH10年年控制8EH8FHWP0000000在这一部分编程中,首先设定一个固定模式的时间,然后通过时间变化中的分的变化的值,提取在执行定时指令的分的数值,把前后两个数值相加,在下一个时间到达预设的时间点时执行与之相反的动作。3.3显示子程序流程图DS1302读取的日历和时钟数值是主要的显示过程。相应的设置菜单会随着不同数量的按键按下而显示出来。基本操作时序如下表所示:表3.3 DS1302读写的基本操作时序说明表输入输出读RS=L,RW=H,E=HDOD7=状态字写RS=L,RW=L,D0D7=指令码,E=高脉冲无读RS=H,RW=H,E=HDOD7=数据写RS=H,RW=L,D0D7=数据,E=高脉冲无具体读写时序请看图3.4。a.读取操作时序b.写入操作时序图3.4 LCD1602具体的读写时序3.4按键电路程序编写按键电路由6个独立的按键组成,这6个按键的功能分别是:上一个界面、下一个界面、移动光标、添加、减去、确认。可以分别独立的设置20组数据来控制定时,让铃声响起。修改模式只能通过界面上/下翻的按键进入。进入后,可以修改各组数据,每一组数据中都可以进行修改当前时间;有7个数字是用来控制星期几;可设置铃声响起和关闭的时间点;在每一个操作界面中,通过按下光标移动键来选取不一样的数字,并且在确认选中时通过添加键和减去键来改变数字;在确认修改好数据后按下确认键完成对这组数据的修改,即写入。4系统的制作与调试4.1硬件的制作首先在Protel软件上将所需的原理图画好,电路结构如下表所示:表4.1 硬件电路的相关结构说明表序号电路1单片机的最小系统2液晶显示模块与单片机连接电路3蜂鸣器的外围电路及与单片机的连接电路4电源电路5键盘与单片机的连接电路等备注:画好后进行仿真。在检查确定没有问题后,就在网上购买相应的PCB板以及其他电子器件,然后根据各个原理图将电子器件安放在PCB板上。在确认所有电子器件的参数与电路中的一致后进行焊接,就这样将自动打铃系统的硬件电路板完成制作。4.2硬件电路的调试制作完硬件电路板,在插上电源之前,先使用多用电表逐个检查全部电子器件。如果没有发现存在短路、断路或者虚焊等问题,就可以通电进行各个电路功能的调试步骤了。4.2.1独立元件的检测对于焊好的电路板,想要通电进行调试之前,一定要对照着仿真图仔细认真地检查各个电路的连线。例如:对电路板的电阻阻值进行确定,通过用万用表的电阻档来测量阻值进行确认。特别是注意每一个电源和地有没有接错,芯片和晶体管的引脚有没有因为没注意而漏焊的或者有没有因为没焊紧而松动的,小力拨一拨元器件看下是否松动等。然后使用万用表认真检测一下电路以及有关联的元器件之间是否存在短路和断路的现象,如果有,则要及时修正,避免过后遗忘。在给系统通电后,观察电源LED灯的状态。如果没有亮起来,及时检查电源指示灯是不是坏了。每个芯片的电压都需要测一下,确认是否符合正常工作的要求。如果有误,就要仔细观察每一个芯片引脚的焊接情况以及芯片是否已经损坏。4.2.2单片机最小系统的调试单片机STC89C52RC最小系统的检测分为两个步骤,操作如下表所示:表4.2 STC89C52RC最小系统的两个调试步骤说明表硬件调试软件调试调试的操作执行硬件调试步骤时,对系统给定正常工作的电压,用多用电表测量单片机的电压是否符合要求,每个管脚的电压是否与正常工作电压一致。将程序烧录到单片机中,然后测试I/O口输出的电压是否等于程序所控制的值举个例子编写并烧入一个调试程序,从P1.0端口开始依次置为高电平,接着用多用电表量出各个I/O口的输出电压值,如果与程序所赋的值不相同,则错误,反之则为正确;对这些端口依次置为低电平,再测试之后测试值符合预赋值,则说明正确。如果两次测试都证明正确,那就表示单片机最小系统工作正常。4.2.3显示模块的调试在本设计中,通过显示模块来查看结果。在电路接上电源之后,查看液晶显示器的亮度是否满足要求。这里用LCD1602的背景灯的接地引脚连接输入/输出端口P2.0,然后控制该端口电平的高低变换来实现背景灯亮灭的要求。4.2.4键盘模块的调试调试键盘模块只需将键盘与单片机相连的输入/输出端口的电平变高,在按下按键后测量这个端口是否位低电平,若是则证明键盘工作正常。4.2.5蜂鸣器电路的调试要检查蜂鸣器的外围电路硬件,首先得测量给定工作电平时,三极管8050各引脚的电压值是否处于在放大状态。如果处于放大状态,说明可以提供驱动蜂鸣器的足够的电流,实现响铃。4.3软件的调试 软件调试也要逐步检查,排除错误与漏洞。4.3.1显示模块的调试只把1602液晶的初始化程序写到主程序中,然后通过指令将一些字符显示在液晶显示器第一行。如果显示器没有显示字符,检查是否程序错误,看是否使能显示,以及检查是不是时序的读写问题。4.3.2时钟模块的调试首先读取1302的当前时间值,然后向1302写入时间数据,观察程序是否能够正常工作。4.3.3键盘模块的调试首先在主程序中加入按键扫描程序,然后将一个变量初始化,当检测到按键按下时,把对应的键值传送到该变量,将变量的值在液晶显示器上,看一下按键的工作状态是否有误。4.3.4人机界面模块的调试将人机界面程序写入到主程序中,通过相应要求操作后检查对应操作的效果。5总结本毕业设计主要分为硬件部分和软件部分,秉着做事要善始善终的思想,我在保证完成任务书要求实现的功能的基础上,为了将设计做到最好,我尽我所能地简化了系统硬件电路。设计软件程序时,先设计后仿真,分别用的是Keil软件和Proteus软件,完成后通过检查排错后,实现了自动打铃系统的功能。通过本次毕业设计我受益匪浅。实践检验真理,在这次过程中,我更加体会到了这句话的真谛,把理论知识与实践结合是如此的重要。而且让我明白自己在单片机的学习领域上的无知,并且让我懂得在做程序设计之前,一定要对你要做的事情有一定的了解,比如清楚单片机是什么?能做什么?以及片内存在什么资源?重要的是自己的头脑要清晰,事先把软件流程图制作出来。在设计程序的时候,头皮都挠破了。由于自己的编程能力不够好,所以不能认为事情很简单,大意的认为自己一次就能够把整个程序设计出来,于是我就多在网上搜索资料和查阅书籍查询知识点,去搞懂发现的问题。“发现问题,反复修改,不停改进”是程序设计路上的同伴。与此同时,要养成注释程序的好习惯,不仅方便自己检查,也方便他人明白你的思路。在整个设计的过程中,我也遇到了一些问题。例如,自己的焊接水平不够好,元器件焊接时出现虚焊,反复检查才发现出来问题所在;对于一些相关的应用软件掌握得不够熟练;还有对于编程的及模块调用没有掌握好。通过反复思考,请教老师同学,浏览网上资料,花了很多时间精力才完成了设计。总的来说,这次毕业设计使我收获颇多,知道了更多的理论知识,动手操作也更加熟练,自己也会更加思考了。另外,突发的新型冠状病毒疫情将大家都困在了家里,我也开始贪玩,散漫,拖延。但是,在老师的提醒和同学们的鼓励下,我重新收拾心情,开始投入到毕业设计中来,在努力的同时,我开始自律,信心得到了提升,我相信在以后的学习中可以通过不断的学习和实践来提高专业方面的知识,以及通过学习来磨练意志对自我的管理。参考文献1 李全利.单片机原理及接口技术M.第二版.北京:高等教育出版社,2009:1442 江晓安 董秀峰.模拟电子技术M.第三版.西安:西安电子科技大学出版社,2008:813 江晓安等.数字电子技术M.第三版.西安:西安电子科技大学出版社,2008:1524 胡翔骏.电路分析M.第二版.北京:高等教育出版社,2007:2155 张晓光.用PIC单片机制作的电源定时打铃J.电子制作2010年05期:876 谭浩强.C语言程序设计M.第三版.北京:清华大学出版社,2005:2047 戴佳等.52单片机实例精讲M.第三版.北京:电子工业出版社,2008:548 李维 郭强液晶显示应用技术M北京:电子工业出版社,20019 张鑫. 单片机原理及应用.第二版M.北京:电子工业出版社,2010.10 张迎新.单片机初级教程单片机基础M.第二版.北京:北京航空航天大学出版社,2006.11 张俊谟.单片机中级教程原理与应用M.第二版.北京:北京航空航天大学出版社,2006.12 何立民.单片机高级教程应用与设计M.第二版.北京:北京航空航天大学出版社,2007.13 蔡美琴等.MCS-52系列单片机系统及其应用M.北京:高等教育出版社,2003.14 盛珣华. 单片机原理与应用M. 武汉:华中科技大学出版社,2014.15 李全利. 单片机原理及接口技术M. 北京:高等教育出版社, 2010.谢 辞时光匆匆,白驹过隙,本次毕业设计已经接近尾声,这也意味着我的大学生涯也即将结束。本次毕业设计过程中我遇到了许多困难,同时也受益匪浅,当我在键盘上敲下最后一个句号的时候,心中并没有想象中的那样充满了成就感,而是只有难以言喻的失落。论文的完成,意味着我生命中最美好的学生时代也即将结束,尽管百般不舍,但这是每个人都必须经历的,只有向前看,我才能不愧对于父母和老师的教导。在刚刚拿到这个题目的时候,我原本以为这次的设计很简单,可是在实际设计的时候才发现自己的专业知识掌握得其实并不牢固,特别是在面对一些自己从未使用过的电子器件,如LCD1602液晶显示器、DS1302时钟芯片这类电子器件的时候,我才清楚地认识到,老师在课堂上讲的知识远远不够支撑我们独立完成一个毕业设计,我们还需要大量的课外积累。本毕业设计是在董静老师悉心的关怀与指导下完成,在此对老师献上最衷心地感谢。董老师从毕业设计一开始就对我们严格要求,询问我们的毕设进度并了解我们遇到的困难,积极协助我们解决设计过程中的各种难题,董老师对学生的高度关注和对工作高度负责的精神值得我们尊敬,也是我今后走向工作岗位的榜样。通过本次毕业设计,不仅是对我们所学知识的一个汇总,同时也是考验我们学习能力和动手能力的一个平台;让我们能学到更多的相关知识,更重要的是学到了面对困难的不放弃、不气馁的态度