基于80C51控制的大屏幕显示毕业设计论文Word文档格式.docx
《基于80C51控制的大屏幕显示毕业设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于80C51控制的大屏幕显示毕业设计论文Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
LED电子显示屏是随着计算机及相关的微电子﹑光电子技术的迅猛发展而形成的一种新型信息显示媒体。
它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。
目前LED显示屏作为新一代的信息传播媒体,已经成为城市信息现代化建设的标志。
LED的应用方面有:
证券交易、金融信息显示;
机场航班动态信息显示;
港口、车站旅客引导信息显示;
体育场馆信息显示;
道路交通信息显示;
调度指挥中心信息显示;
邮政、电信、商场购物中心等服务领域的业务宣传及信息显示;
广告媒体新产品。
随着社会经济的不断进步,以及LED显示技术的不断完善,人们对LED显示屏的认识将越来越深入,其应用领域将会越来越广。
一、系统的总体构成
本章简要介绍硬件电路的构成、硬件电路的工作流程、MCS-51系列产品的性能参数等。
1、硬件电路的构成
在介绍电路设计图前,先介绍一下系统的功能模块图:
本次设计将整个系统划分成三个功能模块:
Ø
控制控制模块:
程序存储及数据交换与运算;
存储器模块:
程序、字库等数据的存储;
显示模块:
用于输出字符等。
下面是本次设计的电路图:
2、硬件电路的工作流程:
系统通电后,复位80c51芯片,开始运行片内及片外的程序,用以复位几同步各芯片及锁存器、计数器/计时器。
然后系统开始正常工作:
80c51作为数据交换和预算的中心负责从数据存储器中读出字模数据,并将数据送到8255a,再由8255A将数据做16位输出到各个锁存器,由P1口控制的行刷新电路在定时器的作用下控制每行的刷新。
这样字符便在LED屏幕上显现出来了。
3、MCS-51微控制器的介绍
MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强。
一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品。
通过下页的MCS-51单片机的内部结构逻辑图,我们可以看出MCS-51的部分优势:
MCS-51具有比较大的寻址空间,地址线宽16条,即外部数据存储器和程序存储器的寻址范围是216=64kB,这作为单片机控制来说已是比较大的,这同时具备对I/O口的访问能力。
MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。
MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。
另外,MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的。
MCS-51系列单片机特性表
型号性能
8051
80C51
8751
8031
80C31
8052
8032
程序存储器
4KBROM
4KBEPROM
8KBROM
数据存储器
128B
256B
程序存储器扩展
64KB
数据存储器扩展
最高时钟频率
12MHZ
16位定时/计数器
2
3
并行I/O线
32
串行I/O线
同步方式或异步方式
中断线
5
6
本设计使用的是MCS-51系列中的80C51。
其特性将在下一章中详细介绍。
二、控制单元模块
本章主要介绍80c51芯片的相关参数及其端口功能,另外还将简单介绍对单片机I/O端口的扩展和8255A芯片。
1、80c51芯片的相关参数
、有MCS-51系列产品的共性可知,80C51单片机内部有以下一些功能部件:
一个8位CPU,用来运算、控制;
片内数据存储器RAM;
片内程序存储器ROM;
4个8位的并行I/O口;
2个16位定时/计数器;
中断结构;
一个可编程全双工通用异步接收发送器UART;
一个片内振荡器用于时钟的产生;
可寻址64KB外部程序存储器和外部数据存储器的总线扩展结构。
、80C51基本特性及引脚定义
80C51是8位(数据线是8位)单片机,片内有256BRAM及4KBROM。
中央处理器单元实现运算和控制功能。
内部数据存储器共256个单元,访问它们的地址是00H~FFH,其中用户使用前128个单元(00H~7FH),后128个单元被特殊功能寄存器占用。
内部的2个16位定时/计数器用作定时或计数。
并可用定时或计数的结果实现控制功能。
80C51有4个8位并行口(P0、P1、P2、P3),用以实现地址输出及数据输入/输出。
片内还有一个时钟振荡器,外部只需接入石英晶体即可振荡。
80C51采用40引脚双列直插式封装(DIP)方式。
主电源引脚VCC和VSS
VCC:
电源端。
工作电源和编程校验(+5V)。
VSS:
接地端。
时钟振荡电路引脚XTAL1和XTAL2
XTAL1和XTAL2分别用作晶体振荡器电路的反相器输入和输出端。
在使用内部振荡电路时,这两个端子用来外接石英晶体,振荡频率为晶振频率,振荡信号送至内部时钟电路产生时钟脉冲信号。
若采用外部振荡电路,则XTAL2用于输入外部振荡脉冲,该信号直接送至内部时钟电路,而XTAL1必须接地。
控制信号引脚RST/VPD、ALE/PROG、PSEN和EA/VPP
RST/VPD:
为复位信号输入端。
当RST端保持2个机器周期(24个时钟周期)以上的高电平时,使单片机完成了复位操作。
第二功能VPD为内部RAM的备用电源输入端。
主电源一旦发生断电,降到一定低电压值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使上电后能继续正常运行。
ALE/PROG:
ALE为地址锁存允许信号。
在访问外部存储器时,ALE用来锁存P0扩展地址低8位的地址信号;
在不访问外部存储器时,ALE也以时钟振荡频率的1/6的固定速率输出,因而它又可用作外部定时或其它需要。
但是,在遇到访问外部数据存储器时,会丢失一个ALE脉冲。
ALE能驱动8个LSTTL门输入。
第2功能PROG是内部ROM编程时的编程脉冲输入端。
PSEN:
外部程序存储器ROM的读选通信号。
当访问外部ROM时,PSEN产生负脉冲作为外部ROM的选通信号;
而在访问外部数据RAM或片内ROM时,不会产生有效的PSEN信号。
PSEN可驱动8个LSTTL门输入端。
EA/VPP:
访问外部程序存储器控制信号。
对80C51而言,它们的片内有4KB的程序存储器,当EA为高电平时,CPU访问片内程序存储器有两种情况:
第1种是,访问地址空间在0~4KB范围内,CPU访问片内程序存储器;
第2种是,访问的地址超出4KB时,CPU将自动执行外部程序存储器的程序,即访问外部ROM。
当EA接地时,只能访问外部ROM。
第2种功能VPP为编程电源输入。
4个8位I/O端口P0、P1、P2和P3
P0口(P0.0~P0.7)是一个8位漏极开路型的双向I/O口。
第2功能是在访问外部存储器时,分别提供低8位地址线和8位双向数据总线。
在对片内ROM进行编程和校验时,P0口用于数据的输入和输出。
P3口的各引脚
第2功能
P3.0
RXD(串行口输入)
P3.1
TXD(串行口输出)
P3.2
INT0(外部中断0输入)
P3.3
INT1(外部中断1输入)
P3.4
T0(定时/计数器的外部输入)
P3.5
T1(定时/计数器的外部输入)
P3.6
WR(片外数据存储器写选通控制输出)
P3.7
RD(片外数据存储器读选通控制输出)
P1口(P1.0~P1.7):
是一个内部带提升电阻的准双向I/O口。
在对片内ROM编程校验时,P1口用于接收低8位地址信号。
P2口(P2.0~P2.7):
是一个内部带提升电阻的8位准双向I/O口。
第2功能是在访问外部存储器时,输出高8位地址信号。
在对片内ROM进行编程和校验时,P2口用作接收高8位地址和控制信号。
P3口(P3.0~P3.7):
在系统中,这8个引脚都有各自的第2功能。
见表。
、80C51的存储器和寄存器
程序存储器用于存放编写好的程序或常数。
读取程序存储器中的常数表格用MOVC指令,访问外部扩展ROM,用MOVX指令。
程序存储器的寻址空间为64KB,其中有7个单元具有特殊功能(中断入口地址),见下表
中断入口地址
事件名称
0000H
系统复位
0003H
外部中断0
000BH
定时器0溢出中断
0013H
外部中断1
001BH
定时器1溢出中断
0023H
串行口中断
80C51被复位后,程序计数器PC的内容为0000H,因此系统必须从0000H单元开始取指令执行程序。
一般在该单元中存入一条跳转指令,而用户设计的程序从跳转后的地址开始存放。
数据存储器分为外部数据存储器和内部数据存储器。
访问内部数据存储器用MOV指令,访问外部数据存储器用MOVX指令。
80C51的内部数据存储器分成2块:
00H~7FH和80H~FFH。
后128B用作特殊功能寄存器(SFR)空间,21个特殊功能寄存器离散分布在80H~FFH的地址空间内。
2、80C51单片机I/O端口的扩展
通常情况下,采用80c51的最小应用系统最能发挥单片机体积小、成本低的优点。
MCS-51单片机共有四个8位并行I/O口,但这些I/O口并不能完全提供给用户使用。
只有在不使用外部扩展时,才允许这四个I/O口作为用户I/O口使用:
需外部扩展时,MCS-51单片机可提供给用户使用的I/O只有P1口和部分P3口线。
因此,在大部分的MCS-51单片机应用系统设计中都不可避免地要进行I/O口的扩展。
本次设计扩展的目的是:
使系统能并行输出16位数据至锁存器,以减少传输消耗的时间及减少锁存器的个数(主要鉴于硬件的资金消耗及系统的耗电量)。
3、8255A芯片
、8255A的基本性能
Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接
端口A:
包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。
端口B:
包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。
端口C:
包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可在方式字控制下分为两个4位的端口(C端口上和下),每个4位端口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。
、8255a工作方式:
方式0是一种基本输入或输出方式,它适用于无需握手信号的简单输入输出应用场合,端口A、B、C都可作为输入或输出数据使用,输出有锁存而输入无锁存。
方式1也称选通的输入/输出方式。
在这种方式下,无论是输入还是输出都通过应答关系实现,这时端口A或B用作数据口,端口C的一部分引脚用作握手信号线与中断请求线。
方式2也称选通的双向I/O方式,仅适用于端口A,这时A口的PA7-PA0作为双向的数据总线,端口C有5条引脚用作A的握手信号线和中断请求线,而B口和C口余下的3位仍可工作于方式0或1。
它可以认为是方式1输出和输入的组合但有以下不同:
(1)当CPU将数据写入A口时,尽管变为有效,但数据并不出现在PA7-PA0上,只有外设发出A信号时,数据才进入PA7-PA0。
(2)输出和输入引起的中断请求信号都通过同一引脚输出,CPU必须通过查询和IBF状态才能确定是输入引起的中断请求还是输出引起的中断请求。
(3)A和A信号信号不能同时有效,否则将出现数据传送“冲突”。
若端口A工作于方式1,则B可工作于方式0;
若端口B工作于方式1,则A可工作于方式0或余下的13位可工作于方式0;
若端口A和B同时工作于方式1,端口C余下的两位还可用于传送数据或控制信号。
I/O端口的扩展图如下:
三、存储器模块
本章介绍了对单片机存储器的扩展及字库的编辑、汉字的显示原理。
1、80c51单片机的扩展能力
根据80c51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64KB,地址为0000H~FFFFH。
因为80c51单片机对片外程序存储器和数据存储器的操作使用不同的指令和控制信号,所以允许两者的地址空间重叠,故片外可扩展的程序存储器与数据存储器分别为64KB。
为了配置外围设备而需要扩展的I/O口与片外数据存储器统一编址,即占据相同的地址空间。
因此,片外数据存储器连同I/O口一起总的扩展容量是64KB。
系统扩展的基本方法:
一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为三总线结构。
扩展连接的一般方法实际上是三总线对接。
要保证单片机和扩展芯片协调一致地工作,即要共同满足其工作时序。
地址总线:
P0-低8位、P2-高8位
数据总线:
P0
控制总线:
RD、WR、ALE、PSEN(读、写、地址锁存允许、外程序存储器读选通)
2、程序储存器扩展
、地址线的连接
外部程序存储器低8位地址线A0~A7与P0口的口线P0.0~P0.7对应相连;
外部程序存储器高8位地址线A8~A15与P2口的口线P2.0~P2.7对应相连。
、数据线的连接
外部程序存储器8位数据线D0~D7与P0口的口线P0.0~P0.7对应相连。
、控制线的连接
PSEN(片外程序存储器取指信号)和OE(程序存储器输出允许信号)相连;
ALE(地址锁存允许信号)和(地址锁存器锁存信号)相连;
CE(片内/片外程序存储器选择信号),当选用8031/8032时,EA应接地;
单片机的相关地址线经过地址译码和程序存储器的片选信号G相连。
如图
,为80c51与27256的连接图。
本系统选用EPROM27256作为外部程序存储器。
起容量大小为32K*8;
地址线15条;
OE端是输出使能端,与80c51的PSEN端相连,当PSEN有效时,把27256中的指令送上P0口线。
27256的编程电压端VPP接电源。
3、数据储存器扩展
外部数据存储器芯片与单片机可按如下方式连接:
、数据线的连接
RD(单片机片外数据读信号)和RD(数据存储器读信号)相连;
ALE(单片机地址锁存允许信号)和G(地址锁存器锁存信号)相连;
WR(单片机片外数据写信号)和WE(数据存储器写信号)相连;
单片机的相关地址线经过线译码或地址译码和数据存储器的片选信号相连。
采用16位地址线寻址外部数据区,这时可寻址空间为64KB,采用下面8位寻址指令来读、写此数据存储区:
MOVXA,@DPTRMOVX@DPTR,A
当外部RAM容量较大(大于256B)时,采用此寻址方法。
下图即为80c51与62256的连接图。
综合程序存储器与数据存储器,可以画出存储模块的原理图如下。
4、字模的制作与保存
本次设计设计的字模(32×
32)都是使用PCtoLCD2002软件来获取的;
如图所示,为本次取字的字模。
取字原理:
由于采用共阴极的LED显示模块,故在取字符时,取字符阴码,即点亮LED灯的信号为1。
取模顺序是从左到右,逐行取位,即第一个点作为最高位。
每取8个点作为一个字节。
取字的字体由软件写入时的字体决定,每个LED灯的亮灭都是由一个数位来标志的。
以下为用PCtoLCD2002取的“太师学院计算机系”的字模:
太(0)师
(1)学
(2)院(3)计(4)算(5)机(6)系(7)
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00},
{0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x10,0x00,0x03,0x00,0x38,0x1F,0xFF,0xFF,0xC0,0x00,0x03,0x40,0x00,0x00,0x03,0x40,0x00,0x00,0x02,0x40,0x00,0x00,0x06,0x20,0x00},
{0x00,0x06,0x20,0x00,0x00,0x06,0x10,0x00,0x00,0x0C,0x10,0x00,0x00,0x0C,0x18,0x00,0x00,0x18,0x0C,0x00,0x00,0x18,0x0C,0x00,0x00,0x34,0x06,0x00,0x00,0x33,0x03,0x00},
{0x00,0x61,0x83,0x80,0x00,0xC1,0xC1,0xC0,0x01,0x80,0xE0,0xF0,0x03,0x00,0x40,0x78,0x0C,0x00,0x00,0x3E,0x18,0x00,0x00,0x10,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"
太"
0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x40,0x00,0x3C,0x00,0x47,0xFF,0xC0,0x10,0x40,0x08,0x00,0x0C,0x40,0x08,0x00},
{0x08,0x40,0x08,0x00,0x08,0x40,0x08,0x00,0x08,0x46,0x08,0x18,0x08,0x47,0xFF,0xF8,0x08,0x46,0x08,0x10,0x08,0x46,0x08,0x10,0x08,0x46,0x08,0x10,0x08,0xC6,0x08,0x10},
{0x08,0xC6,0x08,0x10,0x08,0xC6,0x08,0x10,0x08,0xC6,0x08,0x10,0x08,0xC6,0x08,0x10,0x08,0x86,0x08,0x10,0x08,0x86,0x08,0x10,0x09,0x86,0x08,0x10,0x11,0x86,0x09,0xF0},
{0x01,0x06,0x08,0x70,0x03,0x06,0x08,0x20,0x02,0x00,0x08,0x00,0x04,0x00,0x0C,0x00,0x08,0x00,0x0C,0x00,0x10,0x00,0x0C,0x00,0x20,0x00,0x0C,0x00,0x00,0x00,0x00,0x00},/*"
师"
1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x01,0x00,0x01,0x06,0x01,0x80,0x01,0x83,0x03,0x80,0x00,0xC3,0x83,0x00,0x00,0xE1,0x86,0x00,0x00,0x61,0x84,0x00},
{0x00,0x61,0x88,0x00,0x00,0x40,0x08,0x08,0x07,0xFF,0xFF,0xFC,0x0C,0x00,0x00,0x1C,0x0C,0x00,0x00,0x30,0x1C,0x00,0x00,0x60,0x38,0x00,0x06,0x00,0x11,0xFF,0xFF,0x00},
{0x00,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x40,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x30,0x3F,0xFF,0xFF,0xF8,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00},
{0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x1F,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"
学"
2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,