《16X16点阵显示广告牌设计论文.doc》由会员分享,可在线阅读,更多相关《16X16点阵显示广告牌设计论文.doc(15页珍藏版)》请在优知文库上搜索。
1、16X16点阵显示广告牌设计论文1 课题描述单片微型计算机简称单片机,它是为各类专用控制器而设计的通用或专用的微型计算机系统。自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形来显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。所以研究LED显示有实用意义。现代LED的发展很快,很多研究领域已经非常深刻,实际情况是:很多相关的知识已经远远超出我们在校学生的能力范围,所以在本设计中只是简单的设计用单片机驱动的LED显示移动的汉字。共有两个目的:一是制作一个简单实用的显示文字的LED点阵;
2、二是通过制作LED点阵增强对LED点阵的了解和应用。 本次设计的16x16点阵由四块8*8点阵组成,需要32个驱动,分别为16个列驱动及16个行驱动。每个行与每个列可以选中一个发光管,共有256个发光管,采用动态驱动方式。每次显示一行后再显示下一行。2 芯片介绍 LED点阵总体框图如图1所示,点阵电路大体上可以分成微机本身的硬件、 显示驱动电路、控制信号电路三部分。控制电路部分包括一个51CUP和一些外围电路。在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个 电路以及相应的程序的运行、以及给屏体电路部分发送命令。点阵显示屏体以及它的行和列的各个驱动电路。由于两部分的电路在制板时可以
3、放在一起,所以可以将其字库放到控制电路部分与屏体电路部分进行数据和命令的传送。 此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。由51CPU给出的行选通信号,从第一行开始,按顺序依次对各行扫描。接通的列就在该行该列点燃相应的LED未接通的列所对应的LED熄灭。2.1 51系列单片机简介 单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。 8051单片机的基本结构见图2。8051系列的内部结构可以划分为CPU、存储器、
4、并行口、串行口、定时器/计数器、中断逻辑几部分。 (1) 中央处理器8051的中央处理器由运算器和控制器构成,其中包括若干特殊功能寄存器(SFR)。算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。 ALU只能进行运算,运算的操作数可以事先存放到累加器ACC或寄存器TMP中,运算结果可以送回ACC或通用寄存器或存储单元中,累加器ACC也可以写成A。B寄存器在乘法指令中可以用来存放一个乘数,在除法指令中用来存放除数,运算后B中为部分运算结果。ALU主要用于完成二进制数据的算术和逻辑运算,并通过对运算结果的判断影响程序状态字寄存器PSW中有关
5、位的状态。 程序状态字PSW是个8位寄存器,用来寄存本次运算的特征信息,用到其中七位。PSW的格式如下所示,其各位的含义如表1。CY:进位标志。在进行加法或减法运算时,若运算结果的最高位有进位或借位,CY=1,否则CY=0,在执行位操作指令时,CY作为位累加器。AC:辅助进位标志。在进行加法或减法运算时,若低半字节向高半字节有进位或借位, AC=1,否则AC=0,AC还作为BCD码运算调整时的判别位。F0:用户可设定的标志位,可置位/复位,也可供测试。 RS1和RS0:工作寄存器组选择,如表2所示。OV:溢出标志。当两个带符号的单字节数进行运算,结果超出-128+127的范围时,OV=1,表示
6、有溢出,否则OV=0表示无溢出。 P:奇偶校验标志。每条指令指行完毕后,都按照累加器A中“1”的个数来决定P值,当“1”的个数为奇数时,P=1,否则P=0。 PSW中的D1位为保留位,对于8051来说没有意义,对于8052来说为用户标志,与F0相同。 控制器包括程序计数器PC、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协调单片机各部分正常工作。 程序计数器PC:当一条指令按PC所指向的地址从程序存储器中取出之后,PC的值会自动增量,即指向下一条指令。 堆栈指针SP:用来指示堆栈的起始地址。80C51单片机的堆栈位于片内RAM中
7、,而且属于“上长型”堆栈,复位后SP被初始化为07H,使得堆栈实际上由08H单元开始。 指令译码器:当指令送入指令译码器后,由译码器对该指令进行译码,CPU根据译码器输出的电平信号使定时控制电路产生执行该指令所需要的各种控制信号。 数据指针寄存器DRTR:它是一个16位寄存器,由高位字节DPH和低位字节DPL组成,用来存放16位数据存储器的地址,以便对片外64kB的数据RAM区进行读写操作。片内RAM有256个字节,其中00H7FH地址空间是直接寻址区,该区域内从00H1FH地址为工作寄存器区,安排了4组工作寄存器,每组都为R0R7,在某一时刻,CPU只能使用其中任意一组工作寄存器,由程序状态
8、字PSW中RS0和RS1的状态决定。(2) 存储器组织 8051单片机在物理上有三个存储空间:片内数据存储器RAM 、片外数据存储器RAM 、程序存储器ROM 。程序存储器ROM地址空间为64kB,片外数据存储器RAM也有64kB的寻址区,在地址上是与ROM重迭的。8051单片机通过不同信号来选通ROM或RAM。当从外部ROM中取指令时,采用选通信号PSEN,而从外部RAM中读写数据时则采用读RD和写WR信号或来选通,因此不会因地址重迭而发生混乱。 片内RAM的20H2FH地址单元为位寻址区,其中每个字节的每一位都规定了位地址。每个地址单元除了可进行字节操作之外,还可进行位操作。 片内RAM的
9、80HFFH地址空间是特殊功能寄存器SFR区,对于51子系列在该区域内安排了21个特殊功能寄存器,对于52子系列则在该区域内安排了26个特殊功能寄器,同时扩展了128个字节的间接寻址片内RAM,地址也为80FFH,与SFR区地址重迭。 8051的存储器组成结构如图3所示。(3) 管脚说明 VCC:供电电压。 GND:接地。 P0口(P0.0P0.7):该端口为漏极开路的8位准双向口,它为外部低8位地址线和8位数据线复用端口驱动能力为8个LSTTL负载。 P1口(P1.0P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。 P2口(P2.0P2.7):它
10、为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,作为高8位地址线。 P3口(P3.0P3.7):为内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,每个引脚都具有第二功能。 P3口也可作为AT89C51的一些特殊功能口,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(计时器0 外部输入) P3.5 T1(计时器1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器
11、读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 时钟电路引脚XTAL1和XTAL2: XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。 XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。 地址锁存允许ALE:系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。 外部程序存储器读选通信号PSEN: PSEN是外部程序存储器的读选通信号,低电平有效。 程序存储器地址允许输入端EA /VPP: 当EA为高电
12、平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当EA为低电平时,CPU只执行片外程序存储器指令。 复位信号RST: 该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。2.2 74HC595芯片介绍 74HC595是一颗高速CMOS 8位3态移位寄存器/输出锁存器芯片,采用CMOS硅栅工艺。该器件包含一个8位串行输入与并行界出移位寄存器并提供一个8位D型存储寄存器,该存储寄存器具有8位3三态输出。分别提供独立的时钟信号给移位寄存器和存储寄存器,移位寄存器具有直接清零功能和串行输入输出功能以及级联应用.(采用标准引脚。
13、)移位寄存器和存储寄存器均为使用正边缘时钟触发,如果这两个时钟连接在一起,移位寄存器始终在存储寄存器的前一个时钟脉冲。脚位:真值表:2.3 LED点阵显示的基本原理 8X8点阵LED结构如下图所示:从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;要实现显示图形或字体,只需考虑其显示方式。通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。3 硬件设计电源由USB从微机中取出5V的电压,或由三节5号的电池供电。 复位信号RST高电平有效,在输入端保持两个机
14、器周期的高电平后,就可以完成复位操作。 复位的实现通常用2种方式:开机上电复位和外部手动复位,本设计用的是开机复位。电路图如下:晶振电路 51单片机片内有一个由高增益反向放大器构成的振荡器。反向发达器的输入 端XTAL1,输出端XTAL2,两端跨接石英晶体及两个电容形成稳定的自激振荡器。电容通常取30pf左右。点阵由4片8*8的点阵并联组成16*16点阵显示屏,16行分别由51单片机的P1口与P0口来控制数据。其列由51单片机的P2口发出扫描信号,再由两块74HC595来驱动,使其达到显示汉字移动的目的。单独使用单片机的I/O口来驱动点阵亮度远远是不够的,本设计为了提高亮度在各列添加了S855
15、0三极管,如图: 4 软件设计 单片机延时子程序 延时子程序在单片机编程中使用非常广泛,也很重要。程序设计是单片机开发最重要的工作,而程序在执行过程中常常需要完成延时功能。在本设计中,延时子程序用来扫描要控制每列的扫描时间,还有所有的字移动一定的时间间隔,而在所有的字移动一遍结束的一瞬间到下一遍移动开始的一瞬间要有延时,这时的延时可以和移动的时间相同以保持移动的连贯性,也可以不同作为每次开始的停顿。点阵显示程序采用动态扫描方式 就是逐列轮流点亮,这样扫描驱动电路就可以实现同列共用一套驱动器。具体就1632的点阵来说,把所有同1列的发光管的阴极连在一起,先送出对应第一列发光管亮灭的数据,然后选通第1列使其燃亮一定时间,然后熄灭;再送出第二行的数据,使其燃亮相同的时间,然后熄灭;以此类推,第16列之后,又重新燃亮第1列,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上流动的图形了。程序流程图如下: 此处粘程序: 调试及性能分析 HEX文件的生成 1打开单片机软