英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
基于AT89C52单片机的LED显示控制系统设计
摘要——介绍了基于AT89C52单片机的软硬件显示设计过程。我们使用一个简单的外部电路来控制显示屏幕,其大小为32times;192。显示屏幕还可以通过动态扫描模式显示六个32times;32点阵汉字的大小,并且可分为可显示24个大小为16times;16的汉字两个小显示屏。我们可以通过修改代码来改变显示内容,字幕可以实现滚动功能,滚动速度可以根据需要进行调整,字幕也可以实现暂停功能。汉字码存储在外部数据存储器中,数据存储器的容量根据我们要显示的汉字的要求而扩展。该显示屏体积小,硬件少,电路结构简单。
索引词 - LED,汉字显示,AT89C52
一、介绍
LED显示屏已成为城市照明,现代化和信息社会的重要标志,不断改善和美化人们的生活环境[6]。在大型商场,火车站,码头,地铁站,各种管理窗口等都可以看到LED灯。 LED业务已成为快速发展的新兴产业,巨大的市场空间和广阔的前景[9]。文字,图片,动画和视频通过LED灯显示,内容可以改变。有些组件是模块化结构的显示设备,通常由显示模块,控制系统和电源系统组成。显示模块由LED组成的网格结构构成,负责发光显示; 屏幕可以通过控制系统显示文字,图片,视频等,控制系统可以控制相应区域LED的亮或暗。电力系统负责将输入电压和电流转换为屏幕所需的电压和电流。LED点阵显示器通过PC提取显示字符字体,并发送给单片机,然后显示在点阵屏幕上,主要用于显示室内外的人物角色。LED点阵显示器可分为图形显示器、图像显示和视频显示。与图像显示相比,无论是单色还是彩色显示,图形显示的特征在灰度上都没有差别。因此,图形显示也不能体现色彩的丰富性,而视频显示不仅能显示运动,清晰和全彩的图像,还能显示电视和电脑的信号。尽管三者之间有一些差异,但最基本的原则是相似的[6]。
单片机具有性价比优良,体积小,可靠性高,控制力强的特点,广泛应用于智能仪表,机电一体化,实时过程控制,机器人,家用电器,模糊控制,通信系统等。
本文详细描述了LED显示屏的设计原理,详细描述了硬件和软件结构的设计,最后对整体设计进行了仿真,并对结果进行了分析。
二、系统总体结构设计
根据控制系统的目标,功能,可靠性,成本,准确性和速度选择单片机(SCM)模型。根据该课题的实际情况,SCM模型的选择主要从以下两个方面考虑:一是单片机具有较强的抗干扰能力; 其次,供应链管理具有较高的成本效益。由于MCS-51在中国得到了广泛的应用,更多的信息也可以与更多的外围芯片兼容,特别是ATMEL公司在2003年推出了新一代微控制器,即89S系列,其高性能的典型产品 而低成本的微控制器是AT89C52。 AT89C52是一款低电压,高性能的CMOS 8位微控制器,该芯片包括可重复擦除的8 KB只读程序存储器(PEROM),256字节随机存取数据存储器(RAM),器件采用高密度非易失性存储器 技术来生产,与标准的MCS-51指令集和8052产品兼容,而芯片内置的通用8位中央处理(CPU),闪存单元,可应用于更复杂的控制应用[10]。
系统由AT89C52芯片,时钟电路,复位电路,列扫描驱动电路,行驱动电路和6个32times;32 LED点阵组成的电路实现,LED字符显示的整体结构如图所示0.1。 一个显示单元由点阵和两个74HC154组成。 线路数据信号分为两部分,分别由两个8255A给出,但8255A数据来自主控制器AT89C52的P0端口。 每个字符的列扫描信号由两个74HC154,74HC154 12个片段给出并分成六组。 74HC154的输入信号由AT89C52的P1.0〜P1.3给出。 外部数据存储器6264与AT89C52连接的P0口。
图1 LED字符显示的总体结构
三、系统硬件电路设计
- 单片机控制系统的电路设计
汉字大小为32times;32,但单片机有32个I / O口,不能满足设计要求,所以I / O口必须扩展,数据口扩展由两个8255A实现。 数据口扩展如图2所示,74HC373为地址锁存器,由P2.0〜P2提供6264的高八位地址信号,由其提供6264的低8位地址,低8位地址信号。 4,8255A的内部端口由A0和A1选择。74HC139是2-4解码器,其输入信号由单片机的P2.6和P2.7提供,并为外部I / O设备提供选通,因为系统有多个外部设备,请确保它们不能被门控,所以他们的地址是唯一的,不要重复。AT89C52的时钟电路由18,19脚的时钟端(XTALI和XTAL2)和12MHz的晶体X,电容器C1和C2组成,并采用片内振荡器模式。
复位电路使用一个简单的上电复位电路,主要由连接到AT89C52复位输入引脚的电阻R1,电容C3组成。
图1. 单片机控制系统电路
- 显示存储单元的电路设计
汉字的大小为32times;32,每个字符由(a),(b),(c)和(d)四部分组成,每部分由四个LED矩阵组成,大小为 8times;8,显示单元的电路分解图如图3所示。(a)〜(b)的线信号由两个8255A给出,1PA0~1PA7是8255A-1的PA和PB端口,2PA0〜2PA7和2PB0〜2PB7是8255A-2的PA和PB端口,右边的数字代表74HC154给出的列扫描信号。(a)〜(d)分别需要八个信号,因此,74HC154提供了16列的选通信号
(a)和(b)共享74HC154,(c)和(d)共享74HC154。显示一个字符需要两个提供列扫描信号的74HC154。当电路工作时,
(a)〜(d)通过扫描信号按照正确的顺序进行门控,每次只有一个门控,其他列被熄灭,显示的数据由两个8255A同时给出,人眼会看到一个稳定的字符,因为 人眼的持久性视觉。另外,由于汉字每个显示器需要128个字节的存储空间,而AT89C52单片机芯片只有256个字节的数据存储空间,远远小于设计要求,所以我们通过8Ktimes;8个扩展存储空间的外部数据存储器6264。
- (b)
(c) (d)
图3. 显示单元的电路分解图
- 排名数据单位电路的设计
Inte1 8255A是一款通用可编程并行输入/输出接口芯片。 其功能可以通过软件程序设定,具有很强的通用性。它可以直接通过CPU数据总线连接到外部设备,使用方便灵活。Inte18255A接口芯片有三个8位并行输入和输出端口,可以使用编程方法将三个端口设置为输入端口或输出端口。芯片工作有基本的输入和输出,选通输入/输出和双向输入/输出。 当数据通过CPU的数据总线传输时,可以选择无条件传输,查询传输或中断传输。在Inte1 8255A芯片三端口期间,端口C不仅可以用作数据端口,还可以用作控制端口。当端口C作为数据端口时,不仅可以作为8位数据端口使用,也可以分别作为两个4位数据端口使用,并且可以对端口C的每一位进行操作,可以设置特定 位输入或输出,为位控制提供了便利条件。
图4. 线路数据单元电路
在显示单元电路的设计中,线数据由两个8255A给出,如图4所示。该设计使用动态显示装置来显示汉字,可以通过行或列扫描来控制,系统采用列扫描的方式来控制屏幕,具体的列扫描电路如图5所示。列扫描电路由12个74HC154组成。两个74HC154提供32个频闪来显示字符。 74HC154的输入信号是由AT89C52提供的P1.0〜P1.3控制屏,但设计中使用了12片74HC154,它们按顺序工作,另一片74HC154的输入为P1。 由AT89C52提供的4〜P1.7控制画面。
图5.列扫描单元电路
图6.串行通信接口电路
- 串行通信接口电路
PC和SCM通过串行通信接口连接。为了实现MCU与PC之间的串行通信功能,将单片机的串行接口电平转换为标准的RS-232C电平[11]。 PC的RS-232C端口的输出电压为plusmn;12V。 MCU和PC考虑到短距离通信,而单片机主要负责接收命令和数据,所以PC直接与单片机连接,这是最简单的连接方式。来自PC的TXD侧的信号通过通信电路转换成电流信号,光耦合器的红外发光二极管在出现信号时具有电流,由二极管发射的光信号投射到光电晶体管上并转换到电信号,然后输入到微控制器RXD端,实现光电转换,电气完全隔离,避免了输出端产生的反馈和干扰。如图6所示。
- 软件设计
整个软件设计主要由显示程序和通讯程序组成。 通过动态扫描实现屏幕上显示的汉字,传输控制和显示功能的字符等数据。 与PC通信的实时通信部件通过SCM串行中断接收数据信息,实现了与PC的实时数据信息传输。
主计算机软件由Visual Basic实现。 在标准串行通信中,作为电力通信控制的MSCOMM由VB提供,它可以设置发送和接收数据的串行通信,并设置串行通信端口状态,消息格式和协议,通过PC的RS直接发送数据 -232 / RS-485串行端口。 为了实现PC与单片机的可靠通信,并确保双方具有相同的数据格式和波特率[11],本设计采用RS-232通信,一种10位数据格式,9600bit / s波特率。
- 汉字点阵显示原理及子码
以中国时代的UCDOS新罗马字体为例,每个单词由16times;16点阵组成。 也就是说,国家标准汉字库的每一个字都用256格表示。 我们可以将每个点理解为一个像素,并将每个单词的形状理解为一个图像。 实际上,这个字符显示屏不仅可以显示汉字,还可以显示256像素范围内的任何图形。 由于微控制器的总线是8位的,并且一个字需要分成两部分,如图7所示。
为了理解汉字的点阵组成规律,首先通过列扫描方法获得字符编码。 汉字分为上下两部分,上部由8times;16格构成,下部由8times;16格构成。 上方左上角的第一列首先用列扫描方式显示,即0列的P00〜P07端口,方向为P00〜P07,显示汉字为“大”,P05打开, 另一个关闭。 也就是说,二进制是00000100,并将其转换为十六进制为04h。 上半部分的第一列结束后,继续扫描第一列的下半部分,从图7可以看出,该列并非全部,即二进制为00000000,十六进制为00h。 根据这种方法,第二列第三列依次扫描到第十六列。 可以绘制字符“大”的扫描码。
04H, 00H, 04H, 02H, 04H, 02H, 04H, 04H
04H, 08H, 04H, 30H, 05H, 0C0H, 0FEH, 00H
05H, 80H, 04H, 60H, 04H, 10H, 04H, 08H
04H, 04H, 0CH, 06H, 04H, 04H ,00H, 00H
从这个原理可以看出,无论是什么字体或图像显示,我们都可以使用这种方法分析扫描码并出现在屏幕上。
虽然上面的方法可以让我们弄清楚字符点阵过程的代码,但是依靠手动方法来进行字符代码是一件非常复杂的事情。 为此,使用Font软件查找字符代码,打开软件后输入要显示的内容,可以根据需要选择字体和大小,可以按行或按列选择模式。 按下模数按钮,可以自动生成十六进制数据字符代码,我们需要将数据复制到程序中。
表I.
8255和6264地址分配表
Peripheral devices |
A15-A0 |
The number of chip locations |
Address coding |
8255A-1 |
0011 1111 1111 11xx |
4 |
3FFCH~3FFFH |
8255A-2 |
0111 1111 1111 11xx |
4 |
7FFCH~7FFFH |
6264 |
1010 0000 0000 0000~ 1011 1111 1111 1111 |
8 |
0A000H~0BFFF H |
- 地址分配端口和数据存储器
在这种设计中,我们习惯于8255A,6264等外部设备,其门控不一样,所以选通是受控的,这涉及到地址分配问题。 在系统中,8255A的地址码为3FFCH〜3FFFH和7FFCH〜7FFFH,地址码6264为0A000H〜0BFFFH。 另外,存储器6264分为四个区域,每个区域大小为2K,对应的地址码为0A000H〜0A7FFH,0A800H〜0AFFFH,0B000H〜0B7FFH,0B800H〜0BFFFH。 表1和表2分别显示了8255A和6264的地址分配情况。
表二。
6264内部分区表
Zoning categories |
A15~A0 |
Partit 剩余内容已隐藏,支付完成后下载完整资料 资料编号:[462994],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。