单片机LED点阵显示图形和汉字

合集下载

单片机点阵汉字显示_

单片机点阵汉字显示_

淮安信息职业技术学院电子实训目录摘要 (1)引言 (1)1、背景介绍 (1)1.1 LED及LED显示屏 (1)2 、MCS-51系列单片机简介 (2)2.1 MCS-51系列单片机及其特点 (2)2.2 单片机的发展历史简介 (2)3、功能要求 (3)4、方案实现 (3)4.1 系统硬件电路的设计 (4)4.1.1单片机系统及外围电路 (4)4.1.2列驱动电路 (5)4.1.3行驱动器 (5)4.2.系统程序的设计 (6)4.2.1显示驱动程序 (6)4.2.2系统主程序 (7)5、性能分析与仿真调试 (7)5.1 性能分析 (7)5.2 仿真结果 (7)5.3 焊接后实物效果图 (9)6、总结 (10)参考文献 ................................................ 错误!未定义书签。

附录A 四个8*8点阵构成的16x16的点阵LED汉字显示屏的硬件原理图 (10)附录 B 程序清单 (14)淮安信息职业技术学院电子实训摘要本设计是基于MCS-51的16x16点阵LED电子显示屏的设计,16x16的点阵共有256个发光二极管,我们采用动态扫描的显示方法,更节省锁存器也就节省了成本。

扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。

具体就16x16的点阵来说,把所有同1行的发光管的阴极连在一起,把所有同1列的发光管的阳极连在一起(即我们采用共阴极的接法)。

采用扫描方式进行显示时,每一行和每一列都有一个行驱动器和列驱动器,各行的同名列和各列的同名行共用一个驱动器。

我们采用四个74HC595驱动集成块。

显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。

单片机的P2口低3位与行驱动器相连,高3位于列驱动器相连,P2.5(P2.0)为串行数据输入口,P2.6(P2.1)为移位时钟脉冲控制口,P2.7(P.2)为输出锁存器控制脉冲口。

单片机控制LED点阵显示屏

单片机控制LED点阵显示屏

单片机控制LED点阵显示屏一、简介单片机控制LED点阵显示屏是一种常见的电子显示器件,可以用于显示各种文字、图形等信息。

本文将介绍如何利用单片机来控制LED 点阵显示屏,实现信息的显示功能。

二、材料准备在开始搭建单片机控制LED点阵显示屏系统之前,我们需要准备以下材料:•单片机开发板:例如STC89C52•LED点阵显示屏:常见的有8×8、16×16等不同尺寸•连接线:用于连接单片机和LED点阵显示屏•电源:用于为单片机开发板和LED点阵显示屏供电三、搭建电路将单片机开发板和LED点阵显示屏通过连接线进行连接。

具体连接方法如下:•将单片机的IO口与LED点阵显示屏的对应引脚相连。

根据具体的LED点阵显示屏型号和单片机开发板的引脚分配情况,选择合适的IO口进行连接。

•将单片机的VCC引脚与LED点阵显示屏的VCC脚相连,将GND引脚与LED点阵显示屏的GND脚相连,确保电源供电正常。

四、编程控制编写单片机程序,实现对LED点阵显示屏的控制。

本文以STC89C52单片机为例,演示如何利用C语言编写简单的程序实现LED点阵显示屏的控制。

首先,需要使用单片机开发工具(如Keil、IAR等)创建一个新的工程。

在工程中添加必要的头文件,并定义相关的引脚和变量。

#include <reg52.h>sbit DIN = P1^0; // 数据引脚sbit CS = P1^1; // 片选引脚sbit CLK = P1^2; // 时钟引脚unsigned char code ledData[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};void delay(unsigned int time) {unsigned int i, j;for(i = time; i > 0; i--)for(j = 110; j > 0; j--); // 空循环延时}void sendData(unsigned char dat) {unsigned char i;for(i = 0; i < 8; i++) {CLK = 0; // 上升沿时钟信号DIN = dat & 0x80;dat <<= 1;CLK = 1;}}void display(unsigned char *data) {unsigned char i;CS = 0; // 片选信号有效for(i = 0; i < 8; i++) {sendData(data[i]);}CS = 1; // 片选信号无效}void mn() {while(1) {display(ledData);delay(2000);}}上述代码中,我们定义了三个引脚(DIN、CS、CLK)和一个缓存数组(ledData),分别用来控制LED点阵显示屏的数据引脚、片选引脚和时钟引脚。

基于单片机的LED点阵显示屏的设计

基于单片机的LED点阵显示屏的设计

基于单片机的LED点阵显示屏的设计LED点阵显示屏是一种常见的显示设备,它通过控制各个LED的亮灭来显示文字、图形或动画。

在这篇文章中,我们将介绍基于单片机的LED 点阵显示屏的设计。

一、设计目标设计一个基于单片机的LED点阵显示屏,使其能够显示各种文字、图形和动画。

同时,要求显示屏的显示效果清晰、稳定,能够满足日常使用的需求。

二、设计方案1.硬件设计(1)点阵屏:选择合适的点阵屏作为显示屏的输出设备。

点阵屏的种类有很多,常见的有8x8、16x16和32x32等不同尺寸的点阵屏。

根据实际需求选择合适的尺寸。

(2)单片机:选择一块适合的单片机作为控制器。

单片机的选择需要考虑其计算能力、扩展性和易用性等因素。

(3)扩展模块:根据需要,可以选择添加一些额外的扩展模块,如按键模块、声音模块等,以增加显示屏的功能。

(4)电源模块:为显示屏提供稳定的电源,以保证其正常工作。

2.软件设计(1)驱动程序:编写驱动程序,通过单片机控制各个LED的亮灭。

根据点阵屏的不同类型,编写相应的驱动程序。

(2)显示程序:编写显示程序,将要显示的文字、图形或动画转换成相应的点阵数据,然后通过驱动程序显示在点阵屏上。

(3)用户界面:设计一个用户界面,使用户能够方便地输入要显示的文字、选择图形或动画等,然后通过单片机控制显示屏显示出来。

三、实施步骤1.硬件部分(1)按照设计方案选择合适的点阵屏、单片机和扩展模块,并连接它们。

(2)根据点阵屏的引脚定义,设计相应的电路板,并进行制作。

(3)将单片机和扩展模块焊接到电路板上,并连接好相应的引脚。

(4)连接电源模块,为整个系统提供电源。

2.软件部分(1)根据点阵屏的类型,编写相应的驱动程序。

(2)编写显示程序,将要显示的文字、图形或动画转换成点阵数据。

(3)设计用户界面,编写相应的程序,将用户输入的内容转换成可显示的数据。

(4)将驱动程序、显示程序和用户界面程序上传到单片机。

四、测试与调试完成硬件和软件的设计后,进行测试与调试。

基于单片机的LED点阵汉字显示

基于单片机的LED点阵汉字显示

理工大学《单片机应用与仿真训练》设计报告题目:LED点阵显示屏设计姓名:吴 2宋发旺 8专业班级:电信08-3班指导老师:高如新、珊所在学院:电气工程与自动化学院2011年11月26 日摘要此次设计是基于AT89S52的16×16 LED点阵显示,要求分时切换显示“理工学电气学院”。

此次设计应用Proteus设计硬件电路原理图并进行仿真调试,实现了在计算机中完成电路原理图设计、电路分析与仿真及系统测试。

由于Proteus元件库中没有AT89S52,本次仿真用AT89C51单片机作为主控制器,来实现对16×16 LED点阵汉字的分时切换显示。

软件采用C51,由Keil uVision3来编写。

此次设计所需硬件有:AT89S52单片机一个、3线-8线译码器74HC138芯片一片、数据传送器74HC574芯片四片、MATRIX-8X8-RED芯片四片、按键五个以及晶振等。

此次设计利用四片MATRIX-8X8-RED芯片构成16×16 LED点阵,一片3线-8线译码器74HC138芯片同时作为四片MATRIX-8X8-RED芯片的行扫描,四片数据传送器74HC574芯片分别作为四片MATRIX-8X8-RED芯片的列扫描,来驱动四片MATRIX-8X8-RED芯片分时切换显示“理工学电气学院”。

此次设计有五个按键,一个复位按键,四个功能键,分别为暂停、下一个、上一个和黑屏。

目录1 概述 (1)1.1 LED电子显示屏 (1)1.2 Proteus (2)1.3 AT89S52 (2)2 系统总体方案及硬件设计 (5)2.1 系统总体方案及功能 (5)2.2 硬件设计 (5)3 软件设计 (8)3.1 设计方案 (8)3.2 程序流程图 (9)4 Proteus软件仿真 (10)4.1 仿真步骤 (10)4.2 仿真结果 (10)5课程设计体会 (10)参考文献 (12)附1:源程序代码 (14)附2:系统原理图 (19)1 概述1.1 LED电子显示屏近年来,LED显示屏由于具有亮度高,寿命长,功耗小,性能稳定,驱动简单以及可视距离远等优点,已经成为新一代的信息传播媒体工具。

基于C51单片机的8×8 LED点阵屏汉字显示资料

基于C51单片机的8×8 LED点阵屏汉字显示资料

单片机课程设计报告—8×8 LED点阵屏显示“大”字第一章设计内容及要求 (3)第二章总体设计 (3)2.1 系统框图.........................................................3、4 2.2 设计步骤 (4)第三章各部分电路设计 (4)3. 1 复位电路………………………………………………4 、5 3.2时钟电路……………………………………………5、 63.3显示电路.........................................................6、7 3. 4大字取模 (7)3.5 LED 引脚连接方式..........................................8、9 3.6总体电路 (9)第四章程序设计 (9)4.1软件流图......................................................9、10 4.2大字的模 (10)4.2主程序......................................................10、11 4.3 C51单片机开发工具:keil 4 Proteus使用方法...11、16 第五章仿真结果 (16)第六章总结与体会................................................17、18 第七章参考文献 (18)附录程序清单……………………………………………19、20基于C51单片机的8×8 LED点阵屏汉字显示一设计要求1、设计一个8*8点阵LED电子显示屏2、要求在目测条件下LED显示屏各点亮度均匀、充足,可静态显示一个大字。

二总体方案设计2.1系统框图根据设计要求与设计方案,硬件电路的设计框图如图1所示。

硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。

51单片机控制LED显示汉字

51单片机控制LED显示汉字

用51单片机控制led显示汉字,电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。

如没有排阻,也可用8个普通的4.7k 1/8w电阻。

为提供负载能力,接16个2n5551的NPN三极管驱动。

列方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制。

同样,驱动部分则是16个2N5401的三极管完成的。

电路的供电为一片LM7805三端稳压器,耗电电流为100ma左右。

采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象,更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来,列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉。

然后找一个电脑硬盘的数据线,截取所需的长度,分别将行,列线引出至电路的相关管脚即可。

原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管,实际上发光管为256只,三极管行列方向各16只,一共32只。

焊接过程认真仔细一天时间即可完成全部制作。

将程序编译后烧写入89c51, 插入40pin Ic座,即可看到屏幕轮流显示:“倚天一出宝刀屠龙”。

当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字。

程序清单:ORG 00HLOOP: MOV A,#0FFH ;开机初始化,清除画面MOV P0,A ;清除P0口ANL P2,#00 ;清除P2口MOV R2,#200D100MS: MOV R3,#250 ;延时100毫秒DJNZ R3,$DJNZ R2,D100MSMOV 20H,#00H ;取码指针的初值l100: MOV R1,#100 ;每个字的停留时间L16: MOV R6,#16 ;每个字16个码MOV R4,#00H ;扫描指针清零MOV R0,20H ;取码指针存入R0L3: MOV A,R4 ;扫描指针存入AMOV P1,A ;扫描输出INC R4 ;扫描指针加1,扫描下一个MOV A,R0 ;取码指针存入AMOV DPTR,#TABLE ;取数据表的上半部分的代码MOVC A,@A+DPTRMOV P0,A ;输出到P0INC R0 ;取码指针加1,取下一个码。

3.3 单片机控制LED点阵显示器显示

3.3 单片机控制LED点阵显示器显示

5.4.2 控制16×16 LED点阵显示屏的案例
//汉字“术”的16×16点阵的列码 0x7F,0xFF,0x7F,0xFB,0x7F,0xF7,0x7F,0xFF,0x00,0x8 0,0x7F,0xFF,0x3F,0xFE,0x5F,0xFD, 0x5F,0xFB,0x6F,0xF7,0x77,0xE7,0x7B,0x8F,0x7C,0x DF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF, }; void main() {
5.4.2 控制16×16 LED点阵显示屏的案例
单片机控制16×16点阵显示屏显示字符案例。 【例5-8】如图5-14,利用单片机及 74LS154(4-16 译码器)、74LS07、16×16 LED点阵显示屏来实现字符显 示,编写程序,循环显示字符“电子技术”。 图中16×16 LED点阵显示屏16行行线R0~R15电平, 由 P1 口 低 4 位 经 4-16 译 码 器 74HC154 的 16 条 译 码 输 出 线 L0~L15经驱动后的输出来控制。16列列线C0~C15的电平 由P0口和P2口控制。剩下问题是如何确定显示字符的点阵 编码,以及控制好每一屏逐行显示的扫描速度(刷新频 率)。
uchar i,j,n; while(1) {
for( j=0;j<4;j++) //共显示4个汉字 {
5.4.2 控制16×16 LED点阵显示屏的案例
for(n=0;n<40;n++)
//每个汉字整屏扫描40次
{
for(i=0;i<16;i++) {
//逐行扫描16行
out1=i%16;
//输出行码,
LED点阵显示器分为图文显示器和视频显示器,有单色 显示,还有彩色显示。下面仅介绍单片机如何来控制单色 LED点阵显示器的显示。

单片机LED点阵汉字显示应用设计方案

单片机LED点阵汉字显示应用设计方案

单片机LED点阵汉字显示应用设计方案1.1 引言近几年,LED显示屏的发展非常迅速,大街小巷到处充斥的LED的广告流动字幕。

这与它本身所具有的优点分不开的。

这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。

LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。

LED显示屏采用了低电压扫描驱动,具有耗电省、使用寿命长、成本低、亮度高、视角大、可视距离远、防水、规格品种多等优点,可以满足各种不同应用场景的需求,发展前景非常广阔,被公认为最具增长潜力也是发展最快的的LED应用市场。

随着北京奥运会、上海世博会、广州亚运会等重大赛会的举办,体育场馆、车站、机场、医院、银行、商业场所、公共广场、居民社区的大面积应用,LED显示屏的市场应用空间不断扩大。

LED显示最早的设计方案为点阵模块方案,由室内伪彩点阵屏发展而来。

它的优势是原材料成本较低,且生产加工工艺简单,质量稳定。

缺点是色彩一致性差,马赛克现象较严重,显示效果较差。

1.2 LED显示屏的特点组合型led点阵显示器以发光二极体为图素,它用高亮度led芯片进行阵列组合后,再透过环氧树脂和塑模封装而成。

具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。

点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。

led点阵有4×4、14×8、5×7、5×8、8×8、16×16、24×24、40×40等多种;根据图素的数目分为等,双原色、三原色等,根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文基于单片机(AT89C51)讲述了16×16 LED汉字点阵显示的基本原理、硬件组成与设计、程序编译与下载等基本环节和相关技术。

2 硬件电路组成及工作原理本产品拟采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16 LED点阵5部分组成,如图1所示。

其中,AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。

他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。

时钟电路由AT89C51的18,19脚的时钟端(XTALl及XTAL2)以及12 MHz晶振X1、电容C2,C3组成,采用片内振荡方式。

复位电路采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。

LED点阵显示屏采用16×16共256个象素的点阵,通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布,如图2所示。

我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。

但是若将LED点阵的行列端口全部直接接入89S51单片机,则需要使用32条IO口,这样会造成IO资源的耗尽,系统也再无扩充的余地。

因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74HC154来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO 资源,为单片机系统扩充使用功能提供了条件。

考虑到P0口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。

汉字扫描显示的基本过程是这样的:通电后由于电阻R1,电容C1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C2,C3,X1以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LCD发光,并利用人眼的视觉暂留特性合成整个汉字的显示。

3 汉字的点阵显示原理及字库代码获取方法
我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。

即国标汉字库中的每一个字均由256点阵来表示。

我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。

事实上这个汉字屏不仅可以显示汉字,也可以显示在256象素范围内的任何图形。

如查用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,如图3所示。

为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。

汉字可拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。

本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00~P07口,方向为P00到P07,显示汉字“大”时,P05点亮,由上往下排列,为:P0.0灭,P0.1灭,P0.2灭P0.3灭,P0.4灭,P0.5亮,P0.6灭,P0.7灭。

即二进制00000100,转换为十六进制为04h。

上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3可以看到,这一列全部为不亮,即为00000000,十六进制则为00h。

依照这个方法转向第二列、第三列,…,直至第十六列的扫描,一共扫描32个8位,可以得出汉字“大”的扫描代码为:
由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。

上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。

为此,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图4所示。

可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。

为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×64=1 024 Hz,周期小于1 ms即可。

行扫描和列扫描方法的扫描频率必须大于16×8=128 Hz,周期小于7.8 ms即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。

4 元器件选择
本设计所需元器件如表1所示。

5 PCB设计与元件装配
本作品采用通用的Protel 99SE板级EDA软件完成PCB图的设计,详细设计过程略。

考虑到本设计用到的元件数量不多,我们基本采用单面布线策略,只使用了少量的顶层跨接导线,以便于业余设计制作。

已设计好的PCB图见图5所示。

本电路对元件参数没有苛刻要求,只要元器件选择正确,无损坏,电路板制作工艺良好,把所有电子元件正确焊接装配后即可进入程序下载和调试工作阶段。

制作与调试时,在
AT89C2051的位置应安装20脚的IC座,以便使单片机可以从电路板中拿下去烧写程序。

6 程序设计、烧录与调试
软件程序主要由开始、初始化、主程序、字库组成。

其中主程序和子程序的流程图如图6和图7所示。

下面的程序能够用来实现“为中华之崛起而学习”等汉字的显示。

程序清单如下:
在完成编写程序的编译和仿真之后,准备一台可以烧写AT89C51的编程器并与电脑主机硬件连接后即可对AT89C51芯片进行程序烧录下载,然后,将烧录好程序的AT89C51单片机装入到40脚的IC座上,通电即可调试和运行,由于本例电路对元件参数的要求不是很高,只要元件较好,参数基本符合要求,焊接装配后即可正常工作。

7。

相关文档
最新文档