序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的数字钟的设计
1. 系统的硬件设计
电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,并通过数码管进行显示。
1.1 显示部分电路的设计
1.1.1 LED数码显示管的基本原理
用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示,按译码方式可分为硬件译码和软件译码。
静态显示是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后不再控制LED,直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用CPU时间少。
动态显示要CPU时刻对显示器件进行刷新,显示数据有闪烁感,占用CPU时间多。
这两种显示方式各有利弊:静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。
动态扫描显示接口是单片机中应用最广泛的一种显示方式。其接口电路是把所有LED显示器的8个笔划段A~D、DP的同名端连在一起,而每一个数码管的公共端COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接受到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,是各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的,约1ms左右,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
从上述的论述中,可以看出动态显示方案具备一定的实用性,也是目前单片机数码管显示中较为常用的一种显示方法。所以,本设计也采用动态显示方案。
1.1.2 数码管显示模块分析
电路先通过电源电路送出+5V电压,单片机AT89S52通过74LS47和CD4515(4—16译码器)驱动数码管显示数值, 显示部分采用普通共阳极数码管显示,采用动态扫描,以减少硬件电路。考虑到一次扫描12位数码管显示时会出现闪烁情况,设计时分两排显示,一排显示时间和年月日,一排显示星期和温度, 共阳极数码管中8个发光
二极管的阳极(二极管正端)连在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。采用动态显示方式,比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多时间。
为了提供共阳LED数码管的驱动电压,用三极管9012作电源驱动输出。采用12MHz晶振,有利于提高秒计时的精确性。;
1.1.3 LED显示电路
图5-1
1.2 控制部分电路的设计
1.2.1 时钟模块
利用芯片内部的振荡器,然后在引脚XTAL1和引脚 XTAL2两端接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图外接晶振时,C1和C2的值通常选择30pF; C1、C2对频率有微调作用,晶体谐振器的频率12MHz。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。设置了12—24两种显示状态,调整计时的按键、设置定时的按键且定时设置了3次定时、还另加载了星期、年、月、日的调整及闰年的自动调整。
1.2.2 温度模块
主要由18B20通过单片机AT89S52中的温度程序不断的检测温度来显示温度。
18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式,DS18B20的性能特点如下:
1、独特的单线接口仅需要一个引脚进行通信;
2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能;
3、无须外部器件;
4、可通过数据线供电,电压范围为3.0---5.5V;
5、零待机功耗;
6、温度以9或12位数字量读出;
7、用户可定义的非易失性温度报警设置;
8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
9、负电压特性,电源极性接反是,温度计不会因发热而烧毁,但不能正常工作。
1.2.3 音乐模块
通过LM386N-1给扬声器信号来发出音乐,这个模块主要是为时钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次定时到时,音乐程序中编了6种音乐,它可以自动选择6种音乐中的任一音乐响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止。
1.2.4 复位模块
单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位。
电路图为:
图1-2
1.2.5 光识模块
同样也是为定时服务的,只要定时到,组成心字的18只发光二极管就会按程序全亮全灭20次,如此循环。
电路图为:
图1-3
2. 系统电路的制作与调试
2.1 电路硬件焊接制作
电路硬件焊接是毕业设计的重要内容之一,其焊接工艺的好坏直接关系到系统的整体性能。本设计的样品制作采用手工焊接,在焊接制作中应遵守手工焊接的工艺流程和技术要求。
2.2 调试的主要方法
⑴ 测试单片机软件功能的完善性。这是针对整个单片机系统功能的测试,测试软件是否写的正确完整。单片机是否能正常工作。
⑵ 上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。
⑶ 老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。
⑷ D和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
⑸ 整个显示系统的测试。这是针对整个单片机显示系统功能的测试,单片机正常工作后,加上负载液晶整个系统共同测试。
⑹ 整个显示系统的调试。编写不同的程序写入单片机,用单片机控制液晶显示不同的画面,如字符、图形。
2.3 系统调试
2.3.1 硬件调试
静态测试。在电路板制作好以后,先不要急着加电,首先进行静态测试。
检查线路:通过目测和使用万用表,检查线路连接的正确性,有无断路和短路,无虚焊的存在等。
核对元件:检查元件是否安装正确,有无损坏等。
2.3.2 软件调试
本程序采用单片机汇编语言编写,用wave 6000编译器编程模拟调试。
2.3.3 联机调试
在硬件无故障和软件模块调试完成的情况下,还要对系统进行联机调试。在系统调试时,应将全部硬件电路都接上,应用程序模块也都组合好,进行全系统软硬件调试。系统调试的任务是排除软硬件中的残留错误。使整个系统能够完成预定的工作任务,达到要求的技术性能指标。
系统联机调试到能正确显示时间、日期、12小时和24小时的转换,并且闹铃功能正常,即铃声响起的同时,摆成心型的18个二极管闪烁。
2.3.4调试中遇到的问题及解决方法
⑴ 调试中反复检查,仍没有错误,这时候看是否要排除元器件失效了。造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
⑵ 还有可能是电源故障,所以排除电源故障这项必不可少。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
⑶ 当判断单片机不工作时候,需要进行联机仿真调试。联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。
信号线是联络单片机和外部器件的纽带,信号线连结错误或时序不对,都会造成对外围电路读写错误。单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。
MAIN:MOVDPTR,#DPTR ;将地址送入DPTR
MOVXA,@DPTR ;将译码地址外RAM中的内容送入
ACC NOP ;适当延时
SJMP MAIN ;循环
执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1μs/每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到单片机的复位引脚将变为高电平;一旦松开,电平将变低。
总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。
数字钟电路图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!