1、第 1 页 共 21 页基于 80C51 控制的大屏幕显示(32256 点阵)系 别:计算机系专 业:计算机科学与技术姓 名: 指导教师:第 2 页 共 21 页基于 80C51 控制的大屏幕显示(32256 点阵)学生姓名: 指导老师 : 摘要 单片机主要应用于控制领域,用以实现各种测试和控制功能,因此单片机又常称为微型控制器。现在单片机的应用已经相当广泛,渗透到了社会生活的各个方面。LED 显示屏作为新一代的信息传播媒体,已经成为城市信息现代化建设的标志。本次设计的主题是基于单片机控制的 LED 大屏幕显示,是对单片机应用的又一实践。本文的设计理念是:硬件设计与软件设计独立进行,相互促进。
2、本文将分成以下的几个部分来阐述设计的过程: 硬件设计部分:首先对整个硬件系统做以说明,然后按照各部分硬件的功能将整个系统分成几个小部分,再对各小部分进行详细解释; 软件设计部分:主要说明系统软件的设计思想及内容; 后记及参考文献部分:本文采用或参考的书籍文献。关键字 80c51、单片机、大屏幕显示、字模、LED第 3 页 共 21 页目录选题背景 4一、系统的总体构成 51、硬件电路的构成 52、硬件电路的工作流程: 53、 MCS-51 微控制器的介绍 5二、控制单元模块 71、 80c51 芯片的相关参数 72、 80C51 单片机 I/O 端口的扩展 83、 8255A 芯片 9三、存储
3、器模块 111、 80c51 单片机的扩展能力 112、程序储存器扩展 113、数据储存器扩展 124、字模的制作与保存 13四、LED 显示模块 161、 LED 的结构及发光原理 162、 LED 光源的特点 16五、程序编辑及说明 171、程序及说明部分 172、程序如何写入单片机 18六、参考文献 19七 英文翻译 20八 后记 21第 4 页 共 21 页选题背景在日常的生活中,大家对计算机也许已经很熟悉了,那么单片机是什么呢?单片机因将计算机的主要部分集成在一个芯片上而出名。单片机结构包括中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器、I/O 口电路等。从它的结构上我
4、们可以看出,单片机虽只是一个小小的芯片,但它却具备计算机的属性,因此才称其为单片微型计算机,简称为单片机。单片机主要应用于控制领域,用以实现各种测试和控制功能,因此单片机又常称为微型控制器。现在单片机的应用已经相当广泛,包括下面几个方面:工业自动化、仪器仪表方面、家用电器方面、信息和通信产品方面、军事装备方面等,可谓渗透到了社会生活的各个方面。LED 电子显示屏是随着计算机及相关的微电子光电子技术的迅猛发展而形成的一种新型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,迅速成长为平板显示的主流
5、产品,在信息显示领域得到了广泛的应用。目前 LED 显示屏作为新一代的信息传播媒体,已经成为城市信息现代化建设的标志。LED 的应用方面有: 证券交易、金融信息显示;机场航班动态信息显示;港口、车站旅客引导信息显示;体育场馆信息显示;道路交通信息显示;调度指挥中心信息显示;邮政、电信、商场购物中心等服务领域的业务宣传及信息显示;广告媒体新产品。随着社会经济的不断进步,以及 LED 显示技术的不断完善,人们对LED 显示屏的认识将越来越深入,其应用领域将会越来越广。Led 大屏幕显示的应用第 5 页 共 21 页一、系统的总体构成本章简要介绍硬件电路的构成、硬件电路的工作流程、MCS-51 系列
6、产品的性能参数等。1、硬件电路的构成在介绍电路设计图前,先介绍一下系统的功能模块图:本次设计将整个系统划分成三个功能模块: 控制控制模块:程序存储及数据交换与运算; 存储器模块:程序、字库等数据的存储; 显示模块:用于输出字符等。下面是本次设计的电路图:2、硬件电路的工作流程:系统通电后,复位 80c51 芯片,开始运行片内及片外的程序,用以复位几同步各芯片及锁存器、计数器/计时器。然后系统开始正常工作:80c51 作为数据交换和预算的中心负责从数据存储器中读出字模数据,并将数据送到 8255a,再由 8255A 将数据做 16 位输出到各个锁存器,由 P1 口控制的行刷新电路在定时器的作用下
7、控制每行的刷新。这样字符便在 LED 屏幕上显现出来了。3、MCS-51 微控制器的介绍MCS-51 单片机是美国 INTE 公司于 1980 年推出的产品,与 MCS-48 单片机相比,它的结构更先进,功能更强。一直到现在,MCS-51 系列或其兼容的单片机仍是应用的主流产品。通过下页的 MCS-51 单片机的内部结构逻辑图,我们可以看出 MCS-51 的部分优势:第 6 页 共 21 页MCS-51 具有比较大的寻址空间,地址线宽 16 条,即外部数据存储器和程序存储器的寻址范围是216=64kB,这作为单片机控制来说已是比较大的,这同时具备对 I/O 口的访问能力。MCS-51 集成了几
8、乎完善的 8 位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。MCS-51 的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。另外,MCS-51 单片机的工作频率为 2-12MHz,当振荡频率为 12MHz 时,一个机器周期为 1us,这个速度应该说是比较快的。MCS51 系列单片机特性表型号性能 8051 80C51 8751 8031 80C31 8052 8032程序存储器 4KB ROM
9、 4KB ROM 4KB EPROM 8KB ROM数据存储器 128B 128B 128B 128B 128B 256B 256B程序存储器扩展 64KB 64KB 64KB 64KB 64KB 64KB 64KB数据存储器扩展 64KB 64KB 64KB 64KB 64KB 64KB 64KB最高时钟频率 12MHZ 12MHZ 12MHZ 12MHZ 12MHZ 12MHZ 12MHZ16 位定时计数器 2 2 2 2 2 3 3并行 I/O 线 32 32 32 32 32 32 32串行 I/O 线 同步方式或异步方式中断线 5 5 5 5 5 6 6本设计使用的是 MCS-51
10、系列中的 80C51。其特性将在下一章中详细介绍。第 7 页 共 21 页二、控制单元模块本章主要介绍 80c51 芯片的相关参数及其端口功能,另外还将简单介绍对单片机 I/O 端口的扩展和 8255A 芯片。1、80c51 芯片的相关参数I、有 MCS-51 系列产品的共性可知,80C51 单片机内部有以下一些功能部件:一个 8 位 CPU,用来运算、控制;片内数据存储器 RAM;片内程序存储器 ROM;4 个 8 位的并行 I/O 口;2 个 16 位定时/计数器;中断结构;一个可编程全双工通用异步接收发送器 UART;一个片内振荡器用于时钟的产生;可寻址 64KB 外部程序存储器和外部数
11、据存储器的总线扩展结构。II、80C51 基本特性及引脚定义80C51 是 8 位(数据线是 8 位)单片机,片内有 256B RAM 及 4KB ROM。中央处理器单元实现运算和控制功能。内部数据存储器共 256 个单元,访问它们的地址是00HFFH,其中用户使用前 128 个单元(00H7FH) ,后 128 个单元被特殊功能寄存器占用。内部的 2个 16 位定时/计数器用作定时或计数。并可用定时或计数的结果实现控制功能。 80C51 有 4 个 8 位并行口(P0、P1、P2、P3) ,用以实现地址输出及数据输入/输出。片内还有一个时钟振荡器,外部只需接入石英晶体即可振荡。 80C51
12、采用 40 引脚双列直插式封装( DIP)方式。主电源引脚 VCC 和 VSSVCC:电源端。工作电源和编程校验(+5V) 。VSS:接地端。时钟振荡电路引脚 XTAL1 和 XTAL2XTAL1 和 XTAL2 分别用作晶体振荡器电路的反相器输入和输出端。在使用内部振荡电路时,这两个端子用来外接石英晶体,振荡频率为晶振频率,振荡信号送至内部时钟电路产生时钟脉冲信号。若采用外部振荡电路,则 XTAL2 用于输入外部振荡脉冲,该信号直接送至内部时钟电路,而 XTAL1 必须接地。控制信号引脚 RST/VPD、ALE/PROG、PSEN 和 EA/VPPRST/VPD:为复位信号输入端。当 RST
13、 端保持 2 个机器周期(24 个时钟周期)以上的高电平时,使单片机完成了复位操作。第二功能 VPD 为内部 RAM 的备用电源输入端。主电源一旦发生断电,降到一定低电压值时,可通过 VPD 为单片机内部 RAM 提供电源,以保护片内 RAM 中的信息不丢失,使上电后能继续正常运行。ALE/PROG:ALE 为地址锁存允许信号。在访问外部存储器时,ALE 用来锁存 P0 扩展地址低 8 位的地址信号;在不访问外部存储器时,ALE 也以时钟振荡频率的 1/6 的固定速率输出,因而它又可用作外部定时或其它需要。但是,在遇到访问外部数据存储器时,会丢失一个 ALE 脉冲。ALE 能驱动 8 个LST
14、TL 门输入。第 2 功能 PROG 是内部 ROM 编程时的编程脉冲输入端。第 8 页 共 21 页PSEN:外部程序存储器 ROM 的读选通信号。当访问外部 ROM 时,PSEN 产生负脉冲作为外部 ROM的选通信号;而在访问外部数据 RAM 或片内 ROM 时,不会产生有效的 PSEN 信号。PSEN 可驱动 8 个LSTTL 门输入端。EA/VPP:访问外部程序存储器控制信号。对 80C51 而言,它们的片内有 4KB 的程序存储器,当EA 为高电平时,CPU 访问片内程序存储器有两种情况:第 1 种是,访问地址空间在 04KB 范围内,CPU 访问片内程序存储器;第 2 种是,访问的
15、地址超出 4KB 时, CPU 将自动执行外部程序存储器的程序,即访问外部 ROM。当 EA 接地时,只能访问外部 ROM。第 2 种功能 VPP 为编程电源输入。4 个 8 位 I/O 端口 P0、P1、P2 和 P3P0 口(P0.0P0.7)是一个 8 位漏极开路型的双向 I/O 口。第 2 功能是在访问外部存储器时,分别提供低 8 位地址线和 8 位双向数据总线。在对片内 ROM 进行编程和校验时, P0 口用于数据的输入和输出。P1 口(P1.0P1.7):是一个内部带提升电阻的准双向 I/O 口。在对片内 ROM 编程校验时,P1 口用于接收低 8 位地址信号。P2 口(P2.0P
16、2.7):是一个内部带提升电阻的 8 位准双向 I/O 口。第 2 功能是在访问外部存储器时,输出高 8 位地址信号。在对片内 ROM 进行编程和校验时,P2 口用作接收高 8 位地址和控制信号。P3 口(P3.0P3.7):是一个内部带提升电阻的 8 位准双向 I/O 口。在系统中,这 8 个引脚都有各自的第 2 功能。见表。III、80C51 的存储器和寄存器程序存储器程序存储器用于存放编写好的程序或常数。读取程序存储器中的常数表格用 MOVC 指令,访问外部扩展 ROM,用 MOVX 指令。程序存储器的寻址空间为 64KB,其中有 7 个单元具有特殊功能(中断入口地址) ,见下表80C5
17、1 被复位后,程序计数器 PC 的内容为 0000H,因此系统必须从 0000H 单元开始取指令执行程序。一般在该单元中存入一条跳转指令,而用户设计的程序从跳转后的地址开始存放。数据存储器数据存储器分为外部数据存储器和内部数据存储器。访问内部数据存储器用 MOV 指令,访问外部数据存储器用 MOVX 指令。80C51 的内部数据存储器分成 2 块:00H7FH 和 80HFFH。后 128B 用作特殊功能寄存器(SFR)空间,21 个特殊功能寄存器离散分布在 80HFFH 的地址空间内。2、80C51 单片机 I/O 端口的扩展通常情况下,采用 80c51 的最小应用系统最能发挥单片机体积小、
18、成本低的优点。MCS-51 单片机共有四个 8 位并行 I/O 口,但这些 I/O 口并不能完全提供给用户使用。只有在不使用外部扩展时,才允许这四个 I/O 口作为用户 I/O 口使用:需外部扩展时, MCS-51 单片机可提供给用户使用的 I/O 只有 P1 口和部分 P3 口线。因此,在大部分的 MCS-51 单片机应用系统设计中都不可避免地要进行 I/O 口的扩展。P3 口的各引脚 第 2 功能P3.0 RXD(串行口输入)P3.1 TXD(串行口输出)P3.2 INT0(外部中断 0 输入)P3.3 INT1(外部中断 1 输入)P3.4 T0(定时/计数器的外部输入)P3.5 T1(
19、定时/计数器的外部输入)P3.6 WR(片外数据存储器写选通控制输出)P3.7 RD(片外数据存储器读选通控制输出)中断入口地址 事件名称0000H 系统复位0003H 外部中断 0000BH 定时器 0 溢出中断0013H 外部中断 1001BH 定时器 1 溢出中断0023H 串行口中断第 9 页 共 21 页本次设计扩展的目的是:使系统能并行输出位数据至锁存器,以减少传输消耗的时间及减少锁存器的个数(主要鉴于硬件的资金消耗及系统的耗电量) 。3、8255A 芯片I、8255A 的基本性能Intel 8086/8088 系列的可编程外设接口电路(Programmable Periphera
20、l Interface)简称 PPI,型号为 8255(改进型为 8255A 及 8255A-5) ,具有 24 条输入 /输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V 电源的 40 脚双列直插式大规模集成电路。8255A 的通用性强,使用灵活,通过它 CPU 可直接与外设相连接端口 A:包括一个 8 位的数据输出锁存/缓冲器和一个 8 位的数据输入锁存器,可作为数据输入或输出端口, 并工作于三种方式中的任何一种。 端口 B:包括一个 8 位的数据输出锁存/缓冲器和一个 8 位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式 2。端口 C:包括一个 8 位的
21、数据输出锁存/缓冲器和一个 8 位的数据输入缓冲器, 可在方式字控制下分为两个 4 位的端口(C 端口上和下) ,每个 4 位端口都有 4 位的锁存器, 用来配合端口 A 与端口 B 锁存输出控制信号和输入状态信号,不能工作于方式 1 或 2。II、8255a 工作方式:方式 0 是一种基本输入或输出方式,它适用于无需握手信号的简单输入输出应用场合, 端口A、B、C 都可作为输入或输出数据使用,输出有锁存而输入无锁存。方式 1 也称选通的输入/输出方式。在这种方式下,无论是输入还是输出都通过应答关系实现,这时端口 A 或 B 用作数据口,端口 C 的一部分引脚用作握手信号线与中断请求线。方式
22、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 余下的两位还可用于传送数据或控制信号。第 10 页 共 21 页I/O 端口的扩展图如下: