2009级电子信息工程单片机原理课程设计报告书设计题目LED点阵屏的设计制作姓名学号学院工程技术学院专业电子信息工程班级指导教师2012年5月3日目录一、引言 (1)1、设计意义 (1)2、系统功能要求 (1)二、方案设计 (2)1、总体设计 (2)图1 (2)2、设计论证 (2)三、硬件设计 (5)1、单片机系统及其管脚 (5)2、16x16点阵的级联实现 (6)3、点阵驱动部分 (8)4、电源部分 (10)四、软件设计 (11)1、显示驱动程序 (11)2、系统主程序 (12)五、系统调试 (13)1、调试主要分为硬件调试和软件调试 (13)2、程序仿真 (13)六、总结 (14)七、参考文献 (15)八、附录A;原理图 (16)九、附录B;源程序 (16)十、附录B;作品实物图、PCB、清单如下: (19)一、引言1、设计意义LED 就是Light Emitting Diode(发光二极管)的缩写。
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
发光二极管是由p 型和n 型半导体组成的二极管。
在LED 的p - n 结附近,n 型材料中多数载流子是电子,p 型材料中多数载流子是空穴。
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
2、系统功能要求设计一个能显示16X16点阵图文LED显示屏,要求能显示文字,并且显示出“XXXXXXX”字样。
二、方案设计1、总体设计图12、设计论证LED点阵显示模块进行的方法有两种:(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该列上哪个LED亮(相当于段码)。
能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。
(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。
能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。
每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。
一般我们使用的16×16的点阵宋体字库,即所谓的16×16,是每一个汉字在纵横各16点的区域内显示的。
汉字库从该位置起的32字节信息记录了该字的字模信息。
事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。
图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。
这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。
具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并列传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一列数据。
为了达到重叠处理的目的,列数据的显示就需要具有所存功能。
经过上述分析,就可以归纳出列驱动器电路应具有的功能。
对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
三、硬件设计1、单片机系统及其管脚常用的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。
本次设计采用内部时钟方式,将XTAL1与XTAL2之间跨接一个12MHZ 石英晶振和微调电容,从而构成一个稳定的自激震荡器。
电容值取30pF 左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。
为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。
另一部分是复位部分。
上电自动复位电路是最简单的复位电路,只需要一个10K 左右电阻、一个10uF 左右的电容及一个按键。
需要按键手动复位。
1、AT89S52的最小系统其中,C1 ,C2都是30 pF 的片状电容,C3 为10μF 的电解电容。
R1为10K 的电阻。
2、X1为12MHz 的晶振,连接到单片机的18,19引脚,为单片机提供内部时钟信号,内部反相放大器自激振荡产生时钟信号。
时钟发生器对振荡脉冲2分频,即石英频率f=12MHz ,则单片机时钟信号为6MHz 。
3、9号角接上电复位电路。
当给单片机加电,高电平脉冲通过10μF 的电解电容,到达9号引脚(RST ),实现主复位。
如果正常工作中产生意想不到的情况发生,可以用按键开关控制发送一个高电平实现主复位。
101112131415161721222324252627283233343536373839图2图3 单片机系统及管脚图2、16x16点阵的级联实现00 0110 11图4 级联图级联方法:如图四个点阵。
1、把00,01相同的行线相连接。
2、把10,11相同的行线相连接。
3、把00,10相同的列线相连接。
4、把01,11相同的列线相连接。
5、最后,00,01的列就作为16x16点阵的列控线。
00,10的行就作为16x16点阵的行控线。
图5 点阵实物管脚编号由于我们本次选用的是行点亮SZ410788K 型号的点阵,如上图右所示。
首先,用万用表测出四个8x8点阵的行控线,列控线。
通过实际测量实际行列线如上图所示,故四片点阵的实际连接方式如下图所示:D9D10D11D12D13D14D15D16D1D2D3D4D5D6D7D8D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D165172B3C485E6673819D10F11412A13214G15H16DS1LED8X85172B 3C485E6673819D10F11412A13214G15H16DS2LED8X85172B3C485E6673819D10F11412A13214G15H16DS3LED8X85172B 3C485E6673819D10F11412A13214G15H16DS4LED8X8图6 点阵连接图3、点阵驱动部分点阵显示用是动的态扫描来实现的。
在采用扫描方式显示时,由于每行要带动十六个二极管,每行电流较大。
若每个二极管安5mA计算,十六个二极管就得80mA电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个npn型三极管。
三极管的集射极通过限流240欧姆电阻接5V电压,发射极接点阵的行线,而其基级本应接单片机,但该接线方式占用为了16个单片机管脚,为了节省单片机管脚,用了两片74HC595Y移位寄存器,这样就只需要4个管脚了。
各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。
由于列线过多,故多采用串行传输。
由于每次要传输16位,而且数据要逐位输给驱动器,只有当一行中各列数据都已传输到位后,这一行的各列才能进行并行显示,耗时较长。
为了满足以上要求,驱动选择74HC595移位寄存器。
74HC595是硅结构的CMOS 器件,。
74HC595是有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
其特点:8位串行输入 /8位串行或并行输出存储状态寄存器,三种状态; 输出寄存器可以直接清除 100MHz的移位频率。
各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。
由于每次要传输16位,而且数据要逐位输给驱动器,只有当一列中各列数据都已传输到位后,这一列的各列才能进行并行显示。