序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的LED点阵广告牌设计
3 系统硬件设计
3.1 单片机电路设计
本次选用STC89C52单片机作为系统的主控制器电路控制模块,用于实现系统中而各个模块功能的控制作用。
3.1.1 单片机概述
STC89C52芯片在实际应用中使用效率高且功耗较低,属于CMOS8位的单片机类型。在芯片内部可以进行反复的擦写,进行数据信息的存储工作并投入实际产品的设计工作。STC89C52芯片内部的存储器属于4kBytesISP的Flash只读程序存储器。在结构构成上主要选用ATMEL组件,这一组成能够保证存储器在实际工作过程中进行高密度、非易失性存储工作,保证系统工作的稳定性。STC89C52芯片在实际工作过程中可以兼容cmcs-51指令,确保系统工作设计的便捷化程度。STC89C52芯片内部设计有8位的中央处理器以及相应的系统信息数据存储模块,是实际应用过程中,STC89C52单片机可以实现多项信息处理功能,可以在实际产品设计过程中提供相应的系统设计解决方案。
STC89C52芯片内部设置有40个引脚,芯片内部的程序存储器具有4kBytesFlash,这主要是用来对系统内部的数据信息进行存储工作。在STC89C52芯片外部设计有32个端口,用于数据信息的输入以及输出功能的实现。芯片拥有2个可进行编程定时的计数器以及2个串行通信端口。芯片内部的WDT电路总体完整,附带有时钟振荡器。单片机系统可以根据需要自主对振荡频率进行调节,以便解决在实际设计过程中对于产品功耗的实际设计要求。STC89C52芯片具有掉电保护功能,确保芯片能够自动保存之前的数据信息,提高实用性能。同时一旦处理器停止工作,芯片内部的其他模块也可以进行正常的系统运转。从实际应用水平上来看,STC89C52单片机使用性能强,功能实现效果稳定。STC89C52还具有以下特性,第一,系统选用8K字节程序的存储形式。第二,单片机有直插式和贴片式两种封装形式,40各引脚的设置,在这其中P0、P1、P2位系统工作过程中,用于数据传输以及接收的接口,P3属于双向功能接口。第三,芯片内部设置有512字节的数据存储空间,可进行程序的下载。
3.1.2 单片机最小系统
本次的基于单片机的LED点阵广告牌系统设计,主控电路模块选用STC89C52单片机。单片机其实就是用来达成控制目的单片微型计算机。在当下,单片机已经广泛运用在工业系统及其自动化,行业中对机械设备的自动检测和控制。工业或者医学所用的智能仪表以及器械。单片机甚至可以运用于航空汽车船舶电子领域。还有家家户户使用的家电。一般来说,单片机有两种典型的封装形式,第一种就是我们常见的双列直插DIP,第二种就是方形封装PLCC或者TQFP封装。单片机的主要特点:单片机也可以叫它是嵌入式控制器,微控制器。在我国大部分的技术人员还是习惯称它为单片机。因为单片机可以非常容易的嵌入到设备控制单元,运用在机械仪表,汽车航空中等等。单片机系统里面有一种起重要作用的叫做晶体振荡器,它会在电路中震荡出单片机系统所需要的时钟频率,单片机运行的效率与晶体振荡器产生的时钟频率的高低有密不可分的关系。单片机所执行的指令都需要晶体振荡器的参与。STC89C52单片机的引脚图如图3.1所示。
图3.1 STC89C52单片机
单片机的最小系统构成中,晶振电路模块至关重要。晶振电路主要是保证单片机内部程序在运行过程中具有一定的时间基准。在系统程序指令的运行周期中,晶振所要采取的频率直接影响到程序指令运行的周期。晶振电路如图3.2所示,整个晶振电路增加了两个电容,保障系统运行过程中的稳定性。选用12MHZ的晶振,由于晶振的频率越高,单片机的运行速度就越快,但考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ晶振为最佳选择。外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pF的电容作为起振电容。
图3.2 晶振电路
在系统工作过程中,会受到环境以及人为因素干扰的突发情况,因此设计能够将系统重新开始运行的电路就显得至关重要。而这一电路就是复位电路。如图3.3为复位电路图。复位电路在组成中包括按建以及电阻电容。复位电路的设置能够帮助单片机系统在遇到故障的情况下,能够重新开始运行。复位电路可以解决例如电压不稳导致的系统程序故障、程序跑乱的复杂情况。单片机系统设置有RST复位引脚,此引脚需要在高电平的状况下,程序才能保证正常的运行,避免程序一直处于初始状态。当系统上电之后,在电容的作用下,复位引脚与GND连接变低。而当系统上电完成之后,电容便会处于充满电的状况,此时引脚变高,使得系统程序会重新开始运行。同时为了便于系统复位的便捷,系统加入按键,能够使用户进行手动复位。当手动复位按键按下时,复位引脚变低,系统自动进入复位状态,当按键松开时程序就会自动开始运行。
图3.3 复位电路
3.2 LED点阵驱动电路设计
在本次LED点阵驱动电路设计中,采用两片74HC138芯片来驱动LED显示屏进行工作。如图3.4所示为74HC138芯片的引脚图。74HC138芯片采用级联的方式进行电路连接。
图3.4 74HC138引脚图
列驱动电路由74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的。74HC595输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。
3.3 按键电路设计
在基于单片机的LED点阵广告牌系统的设计中,为了能够便于用户在实际应用中,对于系统功能性的输入进行选择,需要利用人机交互接口的设计,所以设计按键模块来实现显示器的控制操作。按键电路根据材料的不同可以分为塑料、金属等多种类型。在按键状态效果上则可以分为单次触发、自锁按键、多状态按键、矩阵键盘等多种类型。在此次系统设计中选用简单的单次触发按键,一旦按下按键,系统两端导通连接,相反一旦松开就实现系统断开的目的。单片机系统在运行中只需要通过检测按键的引脚处高低电平的变化情况就可以来对按键是否按下进行相应的判断,按键电路可以根据系统设定的程序来相应执行相关操作。按键电路在实际生活中应用广泛,例如手机按键、电脑键盘,电子产品均是通过设计按键电路来实现用户功能性的选择。
图3.5 按键电路
如图3.5所示,为系统的按键电路图。在实际设计过程中,由于按键会出现中断的情况,由于人为因素,会存在按键抖动的情况,为了解决这一问题,需要设计电路中按键去抖的时间,从实用性的角度避免由于按键出现抖动,对单片机信号采集过程中产生干扰。
3.4 LED点阵显示屏设计
LED点阵显示屏的设计是由16×16点阵LED模块构成,如图3.6所示为直插式的LED模块。从图中可以看出整个系统是由64个发光的LED模块构成的,将其构造成了一个16×16的矩阵形式,以此来为系统驱动电路进行设计应用。
图3.6 LED点阵显示原理图
LED的阴极相对应的是显示屏的竖列。在实际应用中先给第一列低电平,若送给16行的代码为0000,那么第一列的LED灯都不亮,相继给第二列以低电平,如果送给16行的代码为F807,那么第二列的第3、4、5、6、7、8、9、10个就会被点亮。然后给第三列以低电平,并且给行以驱动代码,在这一控制的形势下进行每一行的快速的扫描。在足够快速的基础之上,由于人眼视觉具有暂留的效果,所以不会感受到LED灯光的闪烁感,在显示屏幕上就会出现清晰的“电”字。LED点阵结构设计简单,开发成本低,因此应用范围广泛。由于单片机的控制性能问题,系统采用动态显示的方式进行显示屏的设计。在动态显示方式的设计中,由于显示模块的每一行都设置有驱动器,所以数据再从主控制电路到驱动器的传输过程中,可以采用并列或者八位一个字节串行的形式来在单片机的存储器之中进行储存操作。这就便于在点阵显示屏显示过程中,只需将一行中的各类数据传输至列驱动器上,就可以实现整体数据显示的操作。
3.5 本章小结
本章为基于单片机的LED点阵广告牌设计的硬件电路设计,分别对从主控电路、LED点阵驱动电路、按键电路、显示屏电路进行模块化的设计。
5 系统测试
5.1 实物制作
在系统设计过程中,通过制作实物的方式来完成系统功能的检验工作。在实际操作过程中,首先购买系统所需的基础元器件,根据电路图进行实物的电路焊接工作。在实物电路焊接过程中,需要合理规划元器件的位置,先焊接空间占位小、引脚矮的器件,提高整体元器件的完整与美观,实现板子的最大化利用。在焊接引脚的过程中,需要合理利用焊锡,避免造成引脚相连引起短路。在所有元器件焊接完成之后,不能立刻进行上电调试工作,需要利用万能表对电路中的正负进行检测,避免出现短路的想象。同时防止电路板出现虚焊的情况,避免系统上电后出现电路短路的现象。如图5.1所示为此次LED点阵广告牌设计制作的实物背面接线图。
图5.1 实物背面接线图
5.2 功能测试
在根据系统要求完成硬件设计后,就需要开始使用软件平台进行程序开发,在程序开发的过程中,为了增加效率通常采用如下的流程:
在KEIL开发平台上新建工程,然后对各个子模块进行程序的编写,在开始设计时主要是对一些简单的功能模块进行程序编写,尤其是人机交互模块,这样方便后续进行调试。在完成编写后,通过平台的编译系统进行编译,并根据提示进行软件程序的修改,直到整个程序没有在KEIL软件上进行报错。
然后通过JTAG或者串口下载器将编译生成的HEX文件下载到单片机中,在第一次下载时,通常是下载简单的程序,方便进行一些基本的判断,然后不断的增加程序不断的下载来增加功能,以达到最终目的。
在程序下载后,几乎可以肯定的是第一次下载的程序往往没办法实现我们想要的结果,这个时候就需要进行调试,使用在线调试系统可以观察单片机内部寄存器的状态或者执行单步运行,这样可以方便的查询问题点,达到快速解决问题的目的。该软件编译界面如图5.2所示。
图5.2 软件编译结果界面
本次基于单片机的LED点阵广告牌系统的设计中,在Keil软件平台上对整个系统程序进行程序的编写工作,在进行编译调试之后可以生成.hex文件。随后将这一文件下载至单片机中就可以实现整体的功能运行。如图5.3所示是此次系统设计制作的实物图,在软件程序下载之后,进行功能调试,从图中可以看出系统功能能完整,能够显示“老师,您辛苦了”的中文信息显示,整体设计满足设计需求。
图5.3 实物测试
原理图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!