基于单片机16X16点阵显示系统的设计与实现.docx
- 文档编号:30704918
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:48
- 大小:4.73MB
基于单片机16X16点阵显示系统的设计与实现.docx
《基于单片机16X16点阵显示系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机16X16点阵显示系统的设计与实现.docx(48页珍藏版)》请在冰豆网上搜索。
基于单片机16X16点阵显示系统的设计与实现
编号:
毕业设计说明书
题目:
点阵显示系统
的设计与实现
学院:
信息与通信学院
专业:
电子信息工程
学生姓名:
学号:
指导教师单位:
信息对抗系
姓名:
职称:
副教授
题目类型:
理论研究实验研究工程设计工程技术研究软件开发
2014年5月20日
摘要
随着社会现代信息技术的发展,视觉信息传播媒体的显示技术和产品得到了迅速发展。
平板显示技术将会作为二十一世纪的主流技术,而作为平板显示技术主导产品之一的LED显示屏无疑会有更大的发展空间。
本文设计与实现了一个以STC12C5A60S2单片机为主控制器的LED点阵显示屏系统。
系统主要包括:
串口通信模块、STC12C5A60S2单片机处理模块、74HC595驱动控制点阵模块、DC12C887时钟芯片模块、按键控制模块以及点阵显示模块。
该系统可实现中英文字符动态滚动显示和实时(包括日历、星期、时分秒)滚动显示等功能。
系统采用PC机作为上位机,由上位机向单片机发送控制命令和上位机所存储的显示数据,STC12C5A60S2单片机接收并处理PC机的控制命令以及显示数据,通过由4块74HC595串并转换芯片级联而成的驱动模块驱动一个16×16分辨率的LED点阵显示屏的扫描显示。
单片机与PC上位机之间的串口通信是采用RS—232C通信标准来实现。
另外,系统通过8×8点阵级联的方式来扩大显示屏幕的尺寸来达到增加显示内容的目的。
系统中所选用的STC12C5A60S2单片机不仅具有强抗干扰和静电作用,而且具有高速可靠、价格低廉、程序写入方便的特点。
除此之外,系统添加了74HC595外围驱动电路之后,单片机的内存和I/O口占用数量大大减少了,为单片机最小系统留下了其它功能扩展的空间。
关键字:
STC12C5A60S2;LED点阵显示;串口通信;74HC595驱动
Abstract
Withthesocialdevelopmentofmoderninformationtechnology,visualinformationmediadisplaytechnologyandproductshasbeendevelopingrapidly.Flatpaneldisplaytechnologyasatwenty-firstcenturywillbethemainstreamtechnology,andasoneoftheleadingproductsofflatpaneldisplaytechnologyLEDdisplaywillundoubtedlyhavemoreroomfordevelopment.
Thispaperdesignandimplementationofamicrocontroller-basedcontrollerwithSTC12C5A60S2LEDdotmatrixdisplaysystems.Thesystemincludes:
serialcommunicationmodule,STC12C5A60S2microcontrollerprocessingmodule,74HC595drivecontroldotmatrixmodule,DC12C887clockchipmodule,keycontrolmoduleanddotmatrixdisplaymodule.ThesystemcanberealizedinEnglishcharactersandreal-timedynamicscrollingdisplay(includingcalendar,week,minutesandseconds)scrolling.
SystemusesaPCasthehostcomputer,thehostcomputersendscontrolcommandsanddisplaydatastoredbyPCtothemicrocontroller.STC12C5A60S2microcontrollerreceivesandprocessesthecontrolcommandsanddisplaydatafromPCthenbythefour74HC595serialtoparallelconversionchipcascadescanningfromthedrivermoduletodrivea16×16resolutionLEDdotmatrixscreendisplay.MCUandPCserialcommunicationbetweenthehostcomputerusingRS-232Ccommunicationstandardtoachieve.Inaddition,by8×8matrixsystemcascadewaytoexpandthesizeofthedisplayscreenofthedisplaytoachievethepurposeoftheincrease.
ThecharacteristicsthatSTC12C5A60S2chosenmicrocontrollerwithhigh-speed,reliable,andstronganti-static,interferenceandinexpensiveprice,programwritingandconvenientfeaturesmakeschoseninthissysterm.Inaddition,thesystemadds74HC595peripheraldrivecircuit,microcontrollermemoryandI/Oportsoccupiedbygreatlyreducingthenumberforthesmallestsingle-chipsystemleavesroomforotherextensions.
Keywords:
STC12C5A60S2;LEDdotmatrixdisplay;serialcommunication;74HC595drive
引言
LED显示屏是上世纪八十年代后期在全球迅速发展起来的新型信息显示媒体,它是由几万到几十万个半导体发光二极管像素点均匀排列组成。
而且,不同色彩的LED像素点可以通过利用不同的材料制造。
目前市场广泛应用的色彩包括红色、绿色、蓝色、黄色等,而红色和纯绿色LED显示屏在现社会已经是通用阶段。
LED显示屏不仅可以显示变化的数字、文字、图形图像,还可以用于室内环境和室外环境的显示,具有投影仪、电视墙、液晶显示屏无法比拟的优点[1]。
在这几十年的蓬勃发展中,LED点阵显示屏本着功耗小且亮度高,耐冲击且寿命长,小型化和性能稳定的优势已经发展为平板显示的主导产品,并在信息显示领域得到了广泛的应用。
在目前的信息显示技术发展中,LED发展正朝着亮度和发光密度更高,发光均匀性和耐气候性更稳定,性能操作和像素着色化更可靠的方向发展。
随着社会经济的发展,LED显示屏涉及了越来越多的应用领域,主要包括:
(1)证券交易公司金融信息显示。
(2)机场航班动态信息显示。
(3)港口、车站旅客引导信息的显示。
(4)体育场馆信息显示。
(5)道路交通信息显示。
(6)公交车站点信息显示。
(7)银行、通信、电商购物中心等服务领域的业务宣传及信息显示。
(8)广告媒体新产品发布信息显示等[2]。
本课题设计使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏的行业发展有了较为深刻的了解和认识。
并且让我有效地结合大学期间所学理论知识进行了实践操作,使我认识到了自己在知识方面的局限性。
通过该设计课题,我掌握了STC12系列单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。
现阶段正是我国信息行业的迅速发展阶段,而作为平板显示媒介主导产品的LED显示屏的应用也越来越广泛,相关技术的从事人才也面临越来越紧缺,而且我国的LED显示技术仍和世界的先进水平还有相当大的差距。
因此,此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。
1设计要求
1.1毕业设计题目
点阵显示系统的设计与实现
1.2设计的主要功能
本设计是PC机为上位机,STC12C系列单片机为控制核心,两者通过串口通信,外加外围驱动电路来实现LED点阵显示系统的设计与实现,系统主要功能如下:
(1)LED显示屏的面积必须满足至少显示一个汉字的标准,并且显示要清晰;
(2)可以实现中英文字符循环切换显示;
(3)实现滚动显示;
(4)可以实时显示(包括日历,星期,时分秒);
(5)通过系统按键来控制系统显示操作。
2系统工作原理和系统结构
根据本次设计系统要求,本课题是基于单片机的点阵显示系统的设计与实现,系统主要分为六个模块,包括:
串口通信模块,STC12C5A60S2单片机处理模块,74HC595驱动控制点阵模块,DC12C887时钟芯片模块,按键控制模块以及点阵显示模块。
系统总体结构框图如图2-1所示。
图2-1系统总体设计框图
(1)串口通信模块
系统采用PC机作为上位机,STC12C5A60S2单片机作为下位机,二者通过CH340将PC机的USB口转成RS232的串行口接收或上传数据。
单片机部分的程序采用C语言编程,用Keil uVision4编译后产生HEX文件下载到单片机内,从而实现数据收发。
另外,PC端需要采用串口调试助手(STC-ISP)软件把控制命令和显示代码下载至单片机数据处理模块中。
(2)单片机处理器模块
系统采用STC12C5A60S2单片机芯片作为本设计的核心处理模块,主要负责对其它模块部分进行数据处理和控制外围电路来实现点阵显示屏工作。
(3)74HC595移位寄存器驱动控制模块
该模块由4块串并转换芯片74HC595通过级联的方式组成一个驱动控制模块,主要利用其具有数据串行输入和并行输出这一特性对16x16点阵显示屏模块进行列和行驱动扫描显示。
(4)DC12C887时钟芯片模块
在本系统中,时钟芯片模块的作用是获取时间(包括日历,星期,时分秒)通过单片机系统读取处理再控制点阵显示模块进行实时显示。
(5)按键控制模块
系统可以通过按键模块,实现可以调节点阵显示模块的字幕滚屏速度快慢操作,切换字幕滚动和实时滚动操作,同时可对系统复位操作。
(6)点阵显示模块
该模块由4块8x8子点阵模块通过级联的方式构架成一个16x16的点阵显示屏模块,这样点阵方可达到完整显示一个汉字的尺寸,主要负责实现字幕滚动和实时滚动显示功能。
3硬件设计
3.1系统总电路图
系统主要由STC12C5A60S2单片机和两个独立功能按键构成控制与数据处理模块;由拨动开关供电和max232,DB9串口母头构成下载模块;由DC12C887构成时钟芯片模块;由四块74HC595芯片和由用于稳压限流的8050三极管和上拉电阻构成驱动电路模块;由4块8x8LED点阵级联构成一块16x16的LED点阵显示模块几部分组成。
系统总电路图如图3-1所示。
图3-1系统总电路图
3.2控制与数据处理模块
控制与数据处理电路设计采用了由STC12C5A60S2单片机芯片以及其它元件构成的单片机最小系统(指单片机可以实现的最小配置工作系统)部分作为设计的主要控制和数据处理模块。
STC12C5A60S2单片机的最小系统包括了单片机芯片、复位电路和晶振电路,选定一定数量的IO口作为控制口控制外部的各种器件和数据的输入输出。
根据设计功能要求选择一定的单片机端口添加外围器件的电路,比如:
通过外接端口连接外接按键模块电路可实现控制点阵显示系统动态显示的滚屏速率,切换显示,复位显示操作;还有74HC595驱动模块电路、DS12c887时钟芯片模块电路和16x16点阵显示屏模块电路,下文会具体分析这几个模块电路,控制与数据处理电路模块如图3-2所示。
图3-2控制与数据处理模块电路
3.2.1STC12C5A60S2介绍
STC12C5A60S2单片机是美国STC公司最新推出的一种STC系列新型51内核的单片机。
它是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合[3]。
单片机的主要性能、功能参数如下:
(1)增强型8051CPU,1T(1024G),1280字节RAM,工作电压3.5-5.5V,单时钟/机器
周期;
(2)内部集成MAX810专用复位电路,外部掉电检测电路,2路PWM,有EEPROM、看门
狗功能;
(3)通用I/O口,通用全双工异步串行口(UART)复位后为:
准双向口/弱上拉,可设
置成四种模式:
准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个I/O
口驱动能力均可达到20mA,但整个芯片最大不要超过120mA;
(4)时钟源:
外部高精度晶体/时钟,内部R/C振荡器,常温下内部R/C振荡器频率为:
5.0V单片机为:
11~17MHz,3.3V单片机为:
8~12MHz;
(5)4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1;
(6)3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1
输出时钟,独立波特率发生器可以在P1.0口输出时钟;
(7)外部中断I/O口7路,传统的下降沿中断或电平触发中断,并新增支持上升沿中
断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,
T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.3;
(8)A/D转换,10位精度ADC,共8路,转换速度可达250K/S;
(9)双串口:
RxD2/P1.2和TxD2/P1.3;
(10)工作范围:
-40-85;
(11)封装:
LQFP-48,LQFP-44,PDIP-40,PLCC。
管脚说明如下:
(1)P0.0-P0.7P0口:
作输入/输出口,还可以作为地址/数据复用总线使用。
当P0口
作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电
阻;当P0作为地址/数据复用总线使用时,是低8位地址线A0-A7,数据线D0-D7;
(2)P1.0/ADC0/CLKOUT2:
标准IO口/ADC输入通道0/独立波特率发生器的时钟输出;
(3)P1.2/ADC2/ECI/RxD2:
标准IO口/ADC输入通道2/PCA计数器的外部脉冲输入脚/第
二串口数据接收端;
(4)P1.3/ADC3/CCP0/TxD2:
外部信号捕获/高速脉冲输出及脉宽调制输出/第二串口数据
发送端;
(5)P1.4/ADC4/CCP1/SS非:
SPI同步串行接口的从机选择信号;
(6)P1.5/ADC5/MOSI:
SPI同步串行接口的主出从入(主器件的输入和从器件的输出);
(7)P1.6/ADC7/SCLK:
SPI同步串行接口的主入从出;
(8)P2.0-P2.7:
P2口内部有上拉电阻,既可作为输入输出口(8位准双向口),也可作
为高8位地址总线使用;
(9)P3.0/RxD:
标准IO口/串口1数据接收端;
(10)P3.1/INT0非:
外部中断0,下降沿中断或低电平中断;
(11)P3.3/INT1/P3.4/T0/INT非/CLKOUT0,定时器计数器0外部输入、定时器0下降沿
中断、定时计数器0的时钟输出。
单片机STC12C5A60S2芯片[4]引脚图如图3-3所示。
图3-3STC12C5A60S2引脚图
3.3串口通信下载模块
由于STC12C5A60S2单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地通过下载模块进行串口通信。
进行串行通讯时需要满足一定的条件,比如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,所以两者之间必须有一个电平转换电路,系统采用了MAX232专用芯片进行电平转换,该模块采用了三线制连接串口,也就是说和计算机的9针串口只连接其中的3根线:
第2脚的RXD、第3脚的TXD、第5脚的GND即可。
电路如图3-4所示,MAX232的第9脚和单片机的10脚连接,第10脚和单片机的11脚连接。
通过外接电源接入电源部分接口提供的+5V电压供电,有源晶振输入时钟,单片机处理模块能够正常工作;通过个人电脑连接PCDB9串口母头下载口,可实现程序的下载并支持在线调程序,但是调试需要借助串口调试助手等Window软件来观察[5]。
图3-4串口通信模块图
3.4驱动电路模块
由于16x16点阵显示屏具有16行和16列共32个引脚,即需要单片机的32个I/O端口输出控制,如果系统完全依靠一块单片机的I/O端口输出控制16×16的LED点阵屏显示,这明显是本系统采用的单片机不能够实现的。
因此,本设计采用了4块移位寄存器74HC595通过级联的方式构成驱动电路模块控制16x16点阵显示屏的行、列扫描显示来解决这个问题,本模块采用了74HC595芯片构成的驱动电路后仅仅用到单片机的3个I/O端口便可实现控制点阵模块的动态扫描显示,从而大大减少了单片机I/O口的占用数量,为单片机扩展其他功能(比如加入外围时钟芯片模块电路)预留下了空间[6]。
74HC595驱动电路模块如图3-5所示。
图3-5驱动电路模块图
由上图可以看到该模块中,只用到74HC595的14、11、12脚分别与单片机的I/O口P20、P21、P22脚连接即能解决单片机端口不足的问题。
而利用595第9脚串行数据输出管脚与其它595第14脚串行数据输入管脚连接的方式把4块595级联成一个模块来分别驱动16x16点阵的行扫描和列扫描显示。
如果直接用595的O0-O7脚连接点阵管脚进行驱动行扫描显示,由于电路内部结构不平行会导致595各管脚输出电流不均匀,而且点阵的行扫描是利用高电平有效和列扫描利用低电平有效来触发点阵各像素点亮灭的,从而会导致点阵各点显示亮度不均匀以及亮度不够现象。
为了达到驱动点阵行扫描的2块级联595并行数据输出管脚输出能力提高并稳流的情况,需要引进由8050三极管和1K电阻构成上拉驱动稳流模块与这2块级联595并行数据输出管脚连接。
由于点阵列扫描是低电平有效这一特性,故另外两块级联595的并行数据输出管脚只需分别接1K电阻对其进行限流即可,具体电路如图3-6所示。
图3-6稳流电路图
3.4.174HC595介绍
74HC595[7]是一款典型的兼容低电压TTL电路,遵守JEDEC标准的串并转换芯片。
74HC595具有8位移位寄存器和一个存储存储器,并且具备三态输出(具有高电平、低电平、高阻抗三种输出状态的门电路)功能。
移位寄存器和存储存储器是相互独立的时钟触发器,数据在SHCP(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在STCP(存储器时钟输入)的上升沿输入到存储寄存器中去。
当两个时钟触发器连在一起时,移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器还有一个串行移位输入(Ds),一个串行输出(Q7’)和一个异步的低电平复位,存储寄存器有一个具备三态输出的并行8位,要使存储寄存器的数据输出到总线,则使能OE应置低电平。
引脚功能说明如下:
(1)Q0--Q7:
8位并行数据输出管脚,其中Q0是第15脚;
(2)GND:
第8脚接地管脚;
(3)Q7’:
第9脚串行数据输出管脚;
(4)MR:
第10脚主复位(低电平)管脚;
(5)SHCP:
第11脚移位寄存器时钟输入管脚;
(6)STCP:
第12脚存储寄存器时钟输入管脚;
(7)OE:
第13脚使能端输出,低电平有效;
(8)DS:
第14脚串行数据输入管脚;
(9)VCC:
第16脚电源管脚。
74HC595引脚图如图3-7所示:
图3-774HC595引脚图
3.5点阵显示模块
LED点阵显示屏是由一个个相连的发光二极管构成的,要构成大屏幕的LED显示屏就需要多个发光二极管。
构成LED屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图3-8所示。
二是选用一些同样是由单个发光二极管构成的小尺寸LED点阵模块来构成尺寸较大的LED点阵模块。
目前市场上普遍采用的点阵模块有8×8、16×16、16×32等几种;这两种屏幕构成方式各有优缺点,单个发光二极管构成所需尺寸的LED显示屏优点在于当单个发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而采用小尺寸点阵模块构成大尺寸点阵模块的构成方式却与第一种方式的优缺点正好相反,模块化的构成方式大大节省了复杂的线路连接,不过当一个发光二极管出现问题时整个点阵子模块都必须被更换掉,这就增加了维修的成本[8]。
两种方法相比较,再结合本次课题设计的系统所采用的芯片和元器件因素决定采用模块化的构成方式来制作一块LED点阵显示屏。
为了避免模块构成方式的缺点,需要尽量选择级数较小的点阵作为子模块来减小出现这一缺点的风险。
所以本系统需要构建一个16×16的LED点阵显示屏选用了四块8×8点阵子模块构成。
图3-8LED点阵图
同时,本设计是用点阵的方式显示字符,要显示汉字或字符则需要用到字模,字模就是汉字或英文字符在点阵上显示时对应的编码。
以字模的方式存储图形或者文字,每一个点都需要一个位来存储,该位为0代表该像素点不显示,为1代表显示,即利用点阵的每个像素点行高电平有效而列是低电平有效来点亮的。
这样,一个字节就可以存储8个像素点的显示情况。
一般采用宋体小四号的字符来做显示,这样一个英文字符刚好占8x16个像素;而汉字需要两倍,即16x16像素来显示一个汉字。
这样,存储一个英文字符每行8个点需要1个字节存储,一共16行需要16个字节,同理一个汉字需要32个字节[9]。
课题要求显示部分包括了一块至少可以显示一个汉字的显示屏,故本系统显示模块是1块由4块8x8点阵子模块构成16x16的点阵模块以及驱动该显示屏的驱动电路。
由于单片机的I/O口有限不能直接用其I/O口来驱动LED显示屏,所以需要引进上面所述的由4块74HC595通过级联方式组成的驱动电路模块直接驱动LED显示屏来解决单片机端口不足的问题。
点阵级联方式具体电路连接如图3-9所示。
图3-916x16点阵模块图
3.6时钟芯片模块
该模块采用的实时时钟芯片是DS12C887,这种实时时钟芯片具备年、月、日、星期、时、分、秒计时功能和多点定时功能,计时数据的更新属于每秒自动进行一次,不需要程序干预。
DS12C887时钟芯片是一款纯数字式的芯片,接线时,它只需要与单片机的I/O口直接相连就可以正常操作。
操作DS12C887时钟芯片共需要13条接线,分别是并行数据地址复用线AD0-AD7、CS、AS、R/W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 16 X16 点阵 显示 系统 设计 实现