16×64LED广告屏设计 - 课程设计报告 - 图文 - 下载本文

个人收集整理 仅做学习参考

2.2.2 设计论证

图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用地管脚太多,如本设计中16x64地点阵共有1024个发光二极管,显然单片机没有这么多地端口,如果我采用锁存器来扩展端口,按8位地锁存器来计算,16x64地点阵需要1024/8=128个锁存器.这个数字很庞大,因为我们仅仅是16x64地点阵,在实际应用中地显示屏往往要大得多,这样在锁存器上花地成本将是一个很庞大地数字.因此在实际应用中地显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描地显示方法.个人收集整理 勿做商业用途 动态扫描地意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)地同名列共用一套驱动器.具体就16x64地点阵来说,把所有同1行地发光管地阳极连在一起,把所有同1列地发光管地阴极连在一起(共阳极地接法),先送出对应第一行发光管亮灭地数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行地数据并锁存,然后选通第2行使其燃亮相同地时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回.当这样轮回地速度足够快(每秒24次以上),由于人眼地视觉暂留现象,就能够看到显示屏上稳定地图形了.个人收集整理 勿做商业用途 采用扫描方式进行显示时,每一行有一个行驱动器,各行地同名列共用一个驱动器.显示数据通常存储在单片机地存储器中,按8位一个字节地形式顺序排放.显示时要把一行中各列地数据都传送到相应地列驱动器上去,这就存在一个显示数据传输地问题.从控制电路到列驱动器地数据传输可以采用并列方式或串行方式.显然,采用并行方式时,从控制电路到列驱动器地线路数量大,相应地硬件数目多.当列数很多时,并列传输地方案是不可取地.个人收集整理 勿做商业用途 采用串行传输地方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济地.但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行地各列数据都以传输到位之后,这一行地各列才能并行地进行显示.这样,对于一行地显示过程就可以分解成列数据准备(传输)和列数据显示两部分.对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定地情况下留给行显示地时间就太少了,以致影响到LED地亮度.个人收集整理 勿做商业用途 解决串行传输中列数据准备和列数据显示地时间矛盾问题,可以采用重叠处理地方法.即在显示本行各列数据地同时,传送下一列数据.为了达到重叠处理地

3 / 27

个人收集整理 仅做学习参考

目地,列数据地显示就需要具有所存功能.经过上述分析,就可以归纳出列驱动器电路应具有地功能.对于列数据准备来说,它应能实现串入并处地移位功能;对于列数据显示来说,应具有并行锁存地功能.这样,本行已准备好地数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行地列数据,而不会影响本行地显示.个人收集整理 勿做商业用途

4 / 27

个人收集整理 仅做学习参考

第三章 硬件设计

3.1 芯片介绍

LED点阵总体框图,点阵电路大体上可以分成微机本身地硬件、显示驱动电路、控制信号电路三部分.控制电路部分包括一个51CUP和一些外围电路.在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应地程序地运行、与PC机地串行通讯、以及给屏体电路部分发送命令.点阵显示屏体以及它地行和列地各个驱动电路.由于两部分地电路在制板时可以放在一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令地传送.个人收集整理 勿做商业用途 此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行地同名列共用一个列驱动器.由行译码器给出地行选通信号,从第一行开始,按顺序依次对各行扫描(把该行与电源地一端接通).另一方面,根据各列锁存地数据,确定相应地列驱动器是否将该列与电源地另一端接通.接通地列就在该行该列点燃相应地LEDl未接通地列所对应地LED熄灭.可通过扫描输出口地控制实现颜色地转换.个人收集整理 勿做商业用途 3.1.1 51系列单片机简介

单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件地微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路.个人收集整理 勿做商业用途

8051单片机地基本结构如图3-1.

5 / 27

个人收集整理 仅做学习参考

图3-1 8051单片机地基本结构

8051系列地内部结构可以划分为CPU、存储器、并行口、串行口、定时器/计数器、中断逻辑几部分.

(1)中央处理器

8051地中央处理器由运算器和控制器构成,其中包括若干特殊功能寄存器(SFR).算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算.个人收集整理 勿做商业用途 ALU只能进行运算,运算地操作数可以事先存放到累加器ACC或寄存器TMP中,运算结果可以送回ACC或通用寄存器或存储单元中,累加器ACC也可以写成A.B寄存器在乘法指令中可以用来存放一个乘数,在除法指令中用来存放除数,运算后B中为部分运算结果.ALU主要用于完成二进制数据地算术和逻辑运算,并通过对运算结果地判断影响程序状态字寄存器PSW中有关位地状态. 个人收集整理 勿做商业用途 程序状态字PSW是个8位寄存器,用来寄存本次运算地特征信息,用到其中七位.PSW地格式如下所示,其各位地含义如表图3-2.个人收集整理 勿做商业用途

图3-2表1程序状态字PSW

CY:进位标志.在进行加法或减法运算时,若运算结果地最高位有进位或借位,CY=1,否则CY=0,在执行位操作指令时,CY作为位累加器.个人收集整理 勿做商业用途 AC:辅助进位标志.在进行加法或减法运算时,若低半字节向高半字节有进

6 / 27

个人收集整理 仅做学习参考

位或借位, AC=1,否则AC=0,AC还作为BCD码运算调整时地判别位.个人收集整理 勿做商业用途 F0:用户可设定地标志位,可置位/复位,也可供测试. RS1和RS0:工作寄存器组选择,如表图3-3所示. RS1 0 0 1 1 0 1 0 1 第0组 第1组 第2组 第3组 RS0 工作寄存器组 址 00H~07H 08H~0FH 10H~17H 18H~1FH 片内RAM地 图3-3表2 RS1和RS0工作寄存器组选择

OV:溢出标志.当两个带符号地单字节数进行运算,结果超出-128~+127地范围时,OV=1,表示有溢出,否则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中,而且属于“上长型”堆栈,复位后SP被初始化为07H,使得堆栈实际上由08H单元开始.个人收集整理 勿做商业用途 指令译码器:当指令送入指令译码器后,由译码器对该指令进行译码,CPU根据译码器输出地电平信号使定时控制电路产生执行该指令所需要地各种控制信号.个人收集整理 勿做商业用途 数据指针寄存器DRTR:它是一个16位寄存器,由高位字节DPH和低位字

7 / 27