16 16点阵LED循环显示汉字汇编语言设计

合集下载

16x16led点阵滚动汉字显示设计

16x16led点阵滚动汉字显示设计
0x42,0x40,0x7E,0x4C,0x42,0x70,0x7E,0x40,
0x42,0x44,0x42,0x46,0x4A,0x3C,0x44,0x00,/*"能"*/
0x00,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,
0x08,0x10,0x0F,0xF0,0x00,0x00,0xFF,0xFE,
0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,
0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04,/*"大"*/
0x08,0x20,0x08,0x20,0x08,0x20,0x4B,0xFE,
0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,
if(k>112) k=0;
}
}
有什么问题可能联系版主,关注微博即可联系。本人新浪微博地址:/1858560312
0x4A,0x22,0x4A,0x22,0x4A,0x22,0x12,0x2E,
0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,/*"帅"*/
0x00,0x00,0x7F,0xFC,0x00,0x10,0x1F,0x90,
0x10,0x90,0x1F,0x90,0x10,0x90,0x00,0x04,
下图是电路图连接图下面是74hc1544线16线译码器引脚说明以及地址全能输入对应的输出表
下面给大家介绍下我制作的16*16led点阵设计,希望与各位电子爱好者共同讨论,共同进步。
下图是电路图连接图
下面是74HC1544线-16线译码器引脚说明,以及地址/全能输入对应的输出表。

16×16点阵汉字设计-左移-右移-翻页-上移-下移-多种方式

16×16点阵汉字设计-左移-右移-翻页-上移-下移-多种方式

一、设计依据16x16点阵需要32个驱动,分别为16个列驱动及16个行驱动。

每个行与每个列可以选中一个发光管,共有256个发光管,采用动态驱动方式。

每次显示一行后再显示下一行。

本设计是利用实验仪上的16×16 LED点阵显示器,编写显示英文、汉字字符程序并进行显示,最好能移动显示。

要求在本设计过程中,通过设计合适的硬件电路及对应的软件,实现上述的控制过程,同时写出合格的课程设计说明书。

二、要求及主要内容1.硬件电路设计(1)完成89C51应用系统设计(晶振电路,上电复位电路等)(2)利用单片机I/O口或以扩展锁存器的方式控制点阵显示。

掌握单片机与16×16点阵块之间接口电路的设计方法。

2.程序设计掌握单片机与16×16点阵块之间接口电路的设计方法及编程要求完成主程序的设计及对应的子程序设计。

3.选芯片, 元件按设计连线4.完成子程序调试5.完成总调试三、途径和方法综合运用单片机和电子电路相关知识,实现本次设计。

进行程序设计时先画流程图再进行程序设计。

子程序调试按以下步骤进行:(1)实验板与PC机联机。

(2)利用实验系统16×16点阵实验单元,以两种方式控制点阵显示。

要求编制程序实现汉字点阵循环显示。

点阵时钟摘要LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。

它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。

并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。

LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。

LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。

文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。

1616点阵汉字显示设计

1616点阵汉字显示设计

单片机原理及接口技术设计报告设计的重点和难点重点和难点一、单片机I/O口或以扩展锁存器的方式控制点阵显示。

单片机I/O口和扩展锁存器相结合的方式控制16×16点阵显示汉字。

I/O口分别提供字形代码(列码)、扫描信号(行码),凡字形代码位为“1”、行扫描信号为“1”点亮该点,否则熄灭;通过逐行扫描循环点亮字形或曲线。

二、单片机与16×16点阵块之间接口电路设计及编程。

16×16点阵块共阳的接法:把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起。

点阵显示汉字的编程需要查表指令,也就是MOVC A,@A+DPTR指令,DPTR作为基址寄存器时,其值为16位。

编写查表程序时,首先把字模的首址送入DPTR中,再将要查找的数据序号送入A中,然后就可以使用该指令进行查表操作,并将结果送累加器A中。

使点阵显示器显示“绥化学院”四个字。

三、LED点阵显示系统显示汉字的取模。

一个字需要拆分为2个部分。

一般我们把它拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。

首先显示的是左上角的第一列的上半部分,亮的点为“1”,不亮的点为“0”由上往下排列组成了8位二进制数,将其转换为16进制。

上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,仍设计成由上往下扫描。

然后单片机转向上半部第二列。

这一列完成后继续进行下半部分的扫描。

依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出32个16进制数就是汉字字模。

2.设计工作原理16×16点阵显示的工作原理要显示文字或图形,控制与组成这些文字或图形的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。

16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。

16×16点阵LED汉字动态显示

16×16点阵LED汉字动态显示
七段数码管码显示:
a f g e d c h b
实验说明:
a a a a a a a a
a
h b
bitsel(0) bitsel(7)
segment[7..0]
bitout[7..0]
16×16点阵LED汉字动态显示
4学时 学时 实验内容: 实验内容: 点阵LED动态显示自己的名字 用16×16点阵 × 点阵 动态显示自己的名字
第1行,第1列 行 列
16×16点阵显示 × 点阵显示
第1行,第16列 行 列
r0-r3
第16行,第1列 行 列
第16行,第16列 行 列
点阵LED显示器的每一行发光管的阳极接在一起作为 显示器的每一行发光管的阳极接在一起作为 点阵 数据线D,每一列发光管的阴极接在一起作为列线B, 数据线 ,每一列发光管的阴极接在一起作为列线 , 因此,要使某一点亮, 因此,要使某一点亮,就必须让该点所在的行线为高 电平,同时让该点所在的列线为低电平。 电平,同时让该点所在的列线为低电平。 实验板上点阵的各行可分别控制, 实验板上点阵的各行可分别控制, 用16个行控制信号 个行控制信号 来控制16行,使用4个列控制信号来控制 列,实验 来控制 行 使用 个列控制信号来控制16列 个列控制信号来控制 板上已经提供了一个4- 译码器 因此只使用4 译码器, 板上已经提供了一个 -16译码器,因此只使用 个信号即可控制点阵的16列 个信号即可控制点阵的 列。由于不是一个控制信号 控制一个点阵点, 控制一个点阵点,因此需要将需将欲显示的字一列一 列的显示。 列的显示。 若列控制信号r0-r3等于 “0000”,则经过 -16 例:若列控制信号 等于 ,则经过4- 译 码器后,点阵的第一列会等于‘0’。此时若同时16 码器后,点阵的第一列会等于‘ 。此时若同时 行中的某些行为‘ ,则对应的点阵会亮。 行中的某些行为‘1’,则对应的点阵会亮。

16x16点阵LED滚动显示汉字

16x16点阵LED滚动显示汉字

#include <iom8515v.h>#include <macros.h>/*RCS2--->PC0CCS1--->PC1CCS2--->PC2RCS1--->PC3'=1*/#define RCS1_1 PORTC |= BIT(PORTC3>#define RCS2_1 PORTC |= BIT(PORTC0>#define CCS1_1 PORTC |= BIT(PORTC1>#define CCS2_1 PORTC |= BIT(PORTC2>#define RCS1_0 PORTC &=~BIT(PORTC3>#define RCS2_0 PORTC &=~BIT(PORTC0>#define CCS1_0 PORTC &=~BIT(PORTC1>#define CCS2_0 PORTC &=~BIT(PORTC2>#define DOTLEDPORT PORTAunsigned int RollCount=0。

unsigned int SecondCount=0。

unsigned char SecondFlag=0。

const unsigned char DOTLEDBIT[]={0xfe ,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,}。

unsigned char ScanDOTLEDCount=0。

unsigned char DOTLEDBuffer[32]。

#pragma interrupt_handler timer1_ovf_isr:7void timer1_ovf_isr(void>{TCNT1H = 0xFE。

TCNT1L = 0x0C。

//点阵LED扫描过程if(ScanDOTLEDCount<8>{DOTLEDPORT=DOTLEDBIT[ScanDOTLEDCount%8]。

单片机原理与接口技术-基于51单片机的LED1616点阵的汉字显示设计

单片机原理与接口技术-基于51单片机的LED1616点阵的汉字显示设计

课题LED 16*16点阵的汉字显示专业:班级:姓名:学号:一、设计任务显示静止的汉字或者是滚动显示的汉字。

二、设计原理原理:点阵内部结构及外形如下,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;所用到的单片机为8255和273,对单片机的简单介绍:8255单片机有A,B,C三个端口,都是8位的输入/输出锁存器,默认状态下为输出状态,还有控制口其地址为8003H。

8255有读写使能端口WR 和RD接受由CPU发来的控制信号,来判断是读还是写。

还有复位信号RESET。

本次实验基本上用到这些引脚。

对于273单片机主要用到它的端口地址0A000H。

连线方式为:●8255CS 接Y0,273CS 接Y2,●WR 接XWR,RD 接XRD,●A0 接XA0,A1接XA1,●RESET接RST, D0...D7接XD0...XD7三、设计所用软件与硬件16*16点阵的设计用到的硬件是电脑一台,8255单片机一个,273单片机一个。

所用到的软件是字模提取软件和单片机。

字模提取软件主要的功能就是将所要显示的汉字代码提取出来。

四、设计程序和代码程序为:#include<reg51.h>#include<absacc.h>#define PA XBYTE[0X8000H]#define PB XBYTE[0X8001H]#define PC XBYTE[0X8002H] //对单片机8255和273的#define PD XBYTE[0X8003H] //定义#define PE XBYTE[0XA000H] unsigned char code taa[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0 xff,0xff,0xff};unsigned char code tab[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0x fb,0xfd,0xfe}; //定义0的时候亮1的时候灭tbb[]={0xF0,0x00,0x1F,0x10,0x88,0x30,0x92,0x09,0x54,0x04,0x24,0x2 2,0x10,0x60,0xFF,0x11,0x10,0x28,0x38,0x64,0x58,0x20,0x94,0x11,0x92,0x08,0x11,0x06,0x90, 0x01,0x10,0x00} //’好’字的代码int x,i,j,k;void delayms(x){for(i=x;i>0;i--)for(j=10;j>0;j--);// 表示延时系统}void main(){PD=0x80; //对端口的初始化while(1){for(k=0;k<16;k++){PA=tbb[2*k];PB=tab[k];PC=tbb[2*k+1];PE=taa[k];delayms(3); //主程序}}}五、设计的优缺点设计的优点:本次设计是制作的静态的汉字,所编写的程序与代码简单易懂,适合于初级学员的理解与学习,在提取汉字的代码时直接用到的字模提取软件,很方便的就能获得其代码。

51单片机驱动16×16LED点阵显示动画汉字总汇编程序

51单片机驱动16×16LED点阵显示动画汉字总汇编程序

51单片机驱动16×16LED点阵显示动画汉字汇编程序这里提供一个完整的AT89S51单片机驱动驱动led点阵显示具有动画效果的汉字的汇编程序列子.ORG 0000HST: MOV A,#0FFH ;初始化MOV P1,AMOV P2,AMOV P3,AMOV P0,ACLR AMOV R0,#50H ;显示缓存清0MOV R1,#20H ;控制清0的次数ST0: MOV R0,AINC R0DJNZ R1,ST0;正文显示CHINESE: MOV DPTR,#TAB1 ;查表指针指向TAB1LCALL HZ;结束动画SCREE:MOV DPTR,#TAB2;查表指针指向TAB2ACALL DDMOV DPTR,#TAB3;查表指针指向TAB3ACALL DDMOV DPTR,#TAB4;查表指针指向TAB4ACALL DDLJMP CHINESE;显示8幅画面子程序,SCREE专用,用字模软件字要倒置(表必须深256字节)DD: MOV B,#00HMOV R0,#08H ;显示8幅画面AJMP CCCC0: MOV A,BADD A,#20H ;指向下一幅画面MOV B,ACC: MOV R7,#08H ;画面停留时间MOV R3,BMOV 37H,R0LCALL ENTERDIS00: LCALL DISPLAYDJNZ R7,DIS00MOV R0,37HDJNZ R0,CC0RET;汉字上移子程序,可显示8个汉字,(表必须深256字节)HZ: MOV R3,#00H ;查表偏移量MOV R5,#81H ;查表128次MOVBACK: MOV R4,#10H ;使显示完一个汉字MOVBACK0: MOV R7,#02H ;一桢画面显示时间MOV R0,#6DH ;低8位R0指向显示缓存倒数第3个字节,以备与最后1个字节交换MOV R1,#6CH ;高8位R1指向显示缓存倒数第4个字节,以备与倒数第2个字节交换MOV R2,#10H ;存后移的次数DJNZ R5,MOVBACK1RET ;显示完该表,返回MOVBACK1: MOV A,R0 ;低8位被后移的存单元数据暂存入AINC R0 ;后移两字节INC R0MOV R0,A ;放入要移的低8位数据MOV A,R0 ;R0指向下一个要后移的存单元SUBB A,#04HMOV A,R1 ;高8位被后移的存单元数据暂存入A INC R1 ;后移两字节INC R1MOV R1,A ;放入要移高8位的数据MOV A,R1 ;R1指向下一个要后移的存单元SUBB A,#04HMOV R1,A ;R1指向下一个要后移的存单元DJNZ R2,MOVBACK1 ;显示缓存数据依次后移MOV A,R3 ;从表TAB1读入要移进50H,51H的数据MOVC A,A+DPTR;先给50H读数据MOV 50H,AMOV A,R3 ;指向下一字节INC AMOV R3,AMOVC A,A+DPTR;再给51H读数据MOV 51H,AMOV A,R3 ;指向下一字节INC AMOV R3,AMOV 30H,R3 ;保护数据MOV 31H,R4MOV 32H,R5DISMOV: LCALL DISPLAY ;显示当前数据DJNZ R7,DISMOVMOV R3,30HMOV R4,31HMOV R5,32HDJNZ R4,MOVBACK0MOV 30H,R3 ;保护数据MOV R7,#24H ;显示当前数据延时DISMOV0: LCALL DISPLAYDJNZ R7,DISMOV0MOV R3,30HMOV R5,32HLJMP MOVBACK;放进一幅显示数据到显示缓存子程序,要先设好指针DPTR和R3,影响R1,R2,R3 ENTER: MOV R1,#50H ;从50H单元起把表存入MOV R2,#20H ;查表次数MOV A,R3CLLOOP_: MOVC A,A+DPTR ;查表MOV R1,A ;将表放进5X,6X单元INC R1 ;R1指向下一个地址空间MOV A,R3 ;查表指针后移INC AMOV R3,A ;将指针修改结果存入R3DJNZ R2,CLLOOP_;没查完转CLLOOP_RET;15MS,显示子程序,一桢32个字节,影响A,R0,R1,R3,R4,R5,R6;;.51hei./单片机网提供汉字取模工具,可显示任意汉字DISPLAY: MOV A,#0FFHMOV P0,AMOV P1,AMOV P2,AMOV P3,ASETB CMOV R6,#7FH ;赋扫描字初值,左移后初值为0FEHMOV R5,#00H ;列扫描低8位控制MOV R0,#50H ;行的高8(p1)位要显示的数据起始地址MOV R1,#10H ;扫描次数DISLOOP: MOV A,R0 ;从存读数据MOV P2,#0FFH ;装入数据时不显示任何东西MOV P3,#0FFHCPL A ;数据取反以适合显示MOV P1,A ;送入行的高8(p1)位要显示的数据INC R0 ;修改R0指向低8位要显示的数据MOV A,R0 ;读低8位要显示的数据CPL A ;数据取反以适合显示MOV P0,A ;送入行的低8(p0)位要显示的数据INC R0 ;R0指向下一个高8(p0)位要显示的数据LCALL NEXT ;调用列扫描程序LCALL DELAY1MS ;显示延时DJNZ R1,DISLOOP;一桢显示完返回MOV P3,#0FFH ;全灭RET;列扫描子程序DISLOOP专用NEXT: JNC NEXT1 ;C=0转扫描高8(p3)位行MOV A,R6 ;修改扫描字RL AMOV R6,AINC R5CJNE R5,#09H,NEXT0 ;R6=#0FEH时C=0 AJMP NEXT1BACK: RETNEXT0: MOV P2,R6 ;扫描低8(p2)位行AJMP BACKNEXT1: MOV P2,#0FFHMOV P3,R6 ;扫描高8(p3)位行MOV A,R6 ;修改扫描字RL AMOV R6,AAJMP BACK;延时1MS子程序DELAY1MS: MOV R3,#10D0: MOV R4,#50D1: DJNZ R4,D1DJNZ R3,D0RETTAB1:DB 01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,000H,000H DB 01FH,0F0H,011H,010H,01FH,0F0H,011H,010H,01FH,0F2H,001H,002H,001H,002H,000H,0FEH;電DB 000H,000H,03FH,0F0H,000H,020H,000H,040H,000H,080H,001H,000H,001H,000H,001H,004HDB 0FFH,0FEH,001H,000H,001H,000H,001H,000H,001H,000H,001H,000H,005H,000H,002H,000H;子DB 008H,000H,008H,0FCH,07EH,084H,008H,084H,0FFH,094H,041H,088H,022H,080H,014H,0FEH DB 07EH,0A4H,008H,0A4H,008H,098H,0FFH,098H,008H,0A4H,008H,0A6H,008H,0C4H,008H,080H;報DB 000H,000H,000H,010H,03FH,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,004H,07FH,0FEH,000H,000H,000H,000H,000H,000H;二DB 01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,002H,080H DB 004H,060H,01AH,01EH,0E1H,008H,01FH,0E0H,000H,040H,002H,080H,001H,000H,001H,000H;零DB 01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,002H,080H DB 004H,060H,01AH,01EH,0E1H,008H,01FH,0E0H,000H,040H,002H,080H,001H,000H,001H,000H;零DB 004H,000H,003H,000H,001H,080H,001H,000H,0FFH,0FEH,000H,000H,000H,000H,004H,080HDB 006H,040H,004H,020H,008H,010H,008H,018H,010H,00CH,020H,00CH,040H,008H,000H,000H;六DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H;(空) ;结束动画;-- 水纹-- ** 宋体, 12 **; 当前所选字体下一个汉字对应的点阵为: 宽度x高度=128x16, 调整后为: 128x16TAB2:DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,080HDB 001H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,080H,003H,0C0HDB 003H,0C0H,001H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,000H,001H,080H,002H,040H,004H,020H,008H,010HDB 008H,010H,004H,020H,002H,040H,001H,080H,000H,000H,000H,000H,000H,000H,000H,000HDB 000H,000H,001H,0C0H,006H,030H,008H,008H,008H,008H,010H,004H,020H,002H,020H,002HDB 020H,002H,010H,004H,008H,008H,008H,008H,006H,030H,001H,0C0H,000H,000H,000H,000HDB 003H,0C0H,00CH,030H,010H,008H,010H,008H,060H,006H,040H,002H,080H,001H,080H,001HDB 080H,001H,080H,001H,040H,002H,060H,006H,010H,008H,010H,008H,00CH,030H,003H,0C0HDB 000H,000H,038H,01CH,046H,062H,081H,081H,080H,001H,040H,002H,040H,002H,020H,004HDB 020H,004H,040H,002H,040H,002H,080H,001H,081H,081H,046H,062H,038H,01CH,000H,000HDB 0C0H,003H,0A0H,005H,058H,01EH,024H,024H,024H,024H,01EH,078H,005H,0A0H,002H,040HDB 002H,040H,005H,0A0H,01AH,078H,024H,024H,024H,024H,058H,01AH,0A0H,005H,0C0H,003HDB 000H,000H,0C0H,003H,0B0H,00DH,088H,011H,044H,022H,025H,0A4H,012H,048H,00DH,0B0HDB 00DH,0B0H,012H,048H,025H,0A4H,044H,022H,088H,011H,0B0H,00DH,0C0H,003H,000H,000H;--福-- ** 宋体, 12 **; 当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 16x16TAB3:DB 0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0A AHDB 055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H DB 0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,054H,02AH,0A8H,015H,050H,00AH DB 050H,00AH,0A8H,015H,054H,02AH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H DB 0AAH,055H,054H,02AH,0A8H,015H,050H,00AH,0A0H,005H,040H,002H,080H,001H,000H,000HDB 000H,000H,080H,001H,040H,002H,0A0H,005H,050H,00AH,0A8H,015H,054H,02AH,0AAH,055HDB 0A0H,005H,040H,002H,091H,0F9H,000H,000H,074H,0F0H,019H,008H,031H,008H,058H,0F0HDB 014H,000H,011H,0F8H,012H,044H,013H,0FCH,012H,044H,091H,0F9H,040H,002H,0A0H,005HDB 020H,000H,013H,0FEH,010H,000H,0FDH,0FCH,005H,004H,009H,004H,011H,0FCH,030H,000HDB 05BH,0FEH,096H,022H,012H,022H,013H,0FEH,012H,022H,012H,022H,013H,0FEH,012H,002HDB 000H,004H,07FH,0C8H,000H,008H,03FH,0BFH,020H,0A0H,020H,090H,03FH,088H,000H,00CHDB 07FH,0DAH,044H,069H,044H,048H,07FH,0C8H,044H,048H,044H,048H,07FH,0C8H,040H,048HDB 010H,040H,010H,080H,091H,000H,073H,0FFH,014H,080H,018H,040H,040H,0FFH,05EH,092HDB 052H,092H,052H,092H,052H,0FEH,052H,092H,052H,092H,05EH,092H,040H,0FFH,000H,000HDB 012H,002H,013H,0FEH,012H,022H,012H,022H,013H,0FEH,012H,022H,096H,022H,05BH,0FEHDB 030H,000H,011H,0FCH,009H,004H,005H,004H,0FDH,0FCH,010H,000H,013H,0FEH,020H,000HTAB4:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0H DB 0FEH,000H,0FEH,000H,0F0H,000H,0F0H,007H,0B0H,002H,0C8H,002H,048H,006H,030H,002H;STEP1 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0HDB 0FEH,000H,0FEH,000H,0F6H,000H,0F9H,007H,089H,002H,086H,001H,000H,005H,000H,002H;STEP2 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0HDB 0FEH,0C0H,0FFH,020H,0F1H,020H,0F0H,0C7H,080H,001H,080H,007H,000H,001H,000H,007H;STEP3 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0D8H,0FFH,0E4HDB 0FEH,024H,0FEH,018H,0F0H,000H,0F0H,001H,080H,001H,080H,007H,000H,005H,000H,005H;STEP4 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FBH,0FFH,0FCH,0FFH,0C4H,0FFH,0C3HDB 0FEH,000H,0FEH,000H,0F0H,000H,0F0H,007H,080H,001H,080H,007H,000H,004H,000H,007H;STEP5 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 000H,000H,0F4H,058H,084H,0D4H,085H,052H,0F5H,052H,085H,052H,086H,054H,0F4H,058HDB 000H,000H,022H,05EH,022H,050H,022H,050H,023H,0DEH,022H,050H,022H,050H,0FAH,05EHEND咕哝了很多天终于成功了,发出来供大家交流,没准儿还能对别人有些帮助,总之百利无一害……点阵大小是16*32的。

LED16×16点阵汉字显示设计(VHDL版)

LED16×16点阵汉字显示设计(VHDL版)

毕业设计(论文)开题报告设计(论文)题基于FPGA的LED 16×16点阵汉字显示设计目一、选题的背景和意义:LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。

它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。

受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国 LED显示屏应用逐步增多。

目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。

而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。

因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。

并且采用编写灵活的VHDL语言编写主程序。

本设计可以方便的应用到各类广告宣传中。

二、课题研究的主要内容:1. 实现16×16点阵的汉字显示;2. 实现有限汉字显示;4. 实现汉字的滚动显示;5. 完成方案论证。

三、主要研究(设计)方法论述:通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。

通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。

在EDA试验箱上进行调试。

四、设计(论文)进度安排:时间(迄止日期)工作内容2010.5.17-5.23理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周)2010.5.24-5.30完成调研与资料收集、整理(第2周)2010.5.31-6.6设计方案及原理框图确定(第3周)2010.6.7-7.4电路资料收集,单元电路设计(第4、5、6、7周)2010.7.5-7.18电路仿真与改进、完善(第8、9周)2010.19-8.1资料整理(第10、11周)2010..8.2-8.8书写毕业设计报告(第12周)2010.8.9-8.16(第13周)修改毕业设计报告并整理装订五、指导教师意见:指导教师签名:年月日六、系部意见:系主任签名:年月日目录摘要ABSTRACT第一章前言 (1)1.1本设计的研究背景和研究目的 (1)1.2LED点阵显示特点 (2)1.3FPGA设计的特点 (2)第二章系统设计 (4)2.1设计任务与要求 (4)2.1.1设计任务 (4)2.1.2设计要求 (4)2.2设计原理 (4)2.2.1总体设计方案 (4)2.2.2方案的比较 (5)2.3扫描控制模块 (6)2.3.1 LED的显示原理 (6)2.3.2汉字的存储 (7)2.4汉字显示 (7)2.4.1列循环扫描 (8)2.4.2字符样式设计 (10)2.4.3字母循环扫描及期间的延时环节 (14)2.5整个完整的程序 (15)第三章系统调试与仿真 (22)3.1开发环境介绍 (22)3.2调试与仿真 (22)3.2.1 创建工程 (22)3.2.2 编译前设置 (23)3.2.3 全程编译 (25)3.2.4时序仿真 (26)第四章结束语 (29)答谢辞 (29)参考文献 (29)摘要主要研究基于VHDL的 Led点阵汉字滚动显示。

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

LED16X16点阵显示课程设计报告学院信息工程学院专业通信工程班级0801学生姓名指导老师二0一0年十二月一、设计目的本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。

二、设计内容利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。

要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。

三、硬件电路设计整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。

该电路可静态显示1个16*16位的汉字,也可循环显示。

1、8255Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。

可由程序来改变其功能,通用性强、使用灵活。

通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。

其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。

可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。

2、138译码器译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。

发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。

3、373锁存器74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。

当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。

工作原理:74LS373的输出端O0—O7可直接与总线相连。

当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。

当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。

当锁存允许端LE为高电平时,O随数据D而变。

当LE为低电平时,O被锁存在已建立的数据电平。

4、LED动态显示原理LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。

静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。

点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。

将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。

最典型的例子就是电影放映机。

在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。

以8×8点阵模块为例,说明一下其使用方法及控制过程。

图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。

相邻两行线间绝缘。

同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。

在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。

则行线和列线的交叉点处的LED就会有电流流过而发光。

比如,Y7为1,X0为0,则右下角的LED点亮。

再如Y0为1,X0到X7均为0,则最上面一行8个LED 全点亮。

现描述一下用动态扫描显示的方式,显示字符“B”的过程。

其过程如图3.1图3.1用动态扫描显示字符“B”的过程Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。

下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

首先,从Proteus7.5的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。

此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。

然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。

并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。

连接好的16×16点阵如图3.2所示。

成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。

组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如图3.3所示。

图3.3可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。

然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.4所示。

看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。

需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。

然后,我们将其保存,以便以后使用。

图3.45、整个系统的仿真电路图四、字模生成文字的字模是一组数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各位信息来记载英文或汉字的形状[1。

在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有——内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的内码)。

如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。

在硬件系统内,英文的字模信息一般固化在ROM 里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。

而在DOS下,中文的字模信息一般记录在汉字库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。

在通过软件实现的技术中,目前有许多字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。

在通过硬件实现字模提取的技术中,有在系统中增加硬汉字库的方法,主控器发送的汉字是其机内码,用两个字节来表示一个汉字。

根据机内码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。

因为带有硬汉字库,进行动态文字显示时,通用智能显示单元仅接受汉字的机内码即可,这样数据通讯量大大减少。

因此,“动态文字显示速度快”。

五、程序设计1、程序设计总体思路用简短的汇编程序设计,实现LED点阵显示内容,并使显示的内容在屏幕上从左到右的滚动显示。

系统采用模块化结构,包括主程序、显示子程序和循环扫描显示子程序。

用8088、74LS373、74LS138、7407芯片和1个16×16LED点阵显示器构成一个完整的16位点阵LED显示系统。

2、程序流程图程序主要由开始、初始化、主程序、子程序、字库组成(源程序详见附录)。

其中主程序和子程序的流程图为:循环扫描显示子程序流程图字库为:DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB01H,00H,00H,80H,00H,60H,0FFH,0F8H,00H,07H,00H,00H,00H,04H,79H,24H;信DB49H,24H,49H,25H,49H,26H,49H,24H,49H,24H,79H,24H,00H,04H,00H,00HDB40H,00H,30H,00H,00H,00H,03H,0FCH,39H,54H,41H,54H,41H,56H,45H,55H;息DB59H,54H,41H,54H,41H,54H,73H,0FCH,00H,00H,08H,00H,30H,00H,00H,00HDB20H,00H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,3FH,0FCH;工DB20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,00H,00H,00HDB08H,24H,06H,24H,01H,0A4H,0FFH,0FEH,01H,23H,06H,22H,40H,00H,49H,3EH;程DB49H,22H,49H,22H,7FH,22H,49H,22H,49H,22H,49H,3EH,41H,00H,00H,00HDB04H,40H,04H,30H,04H,11H,04H,96H,04H,90H,44H,90H,84H,91H,7EH,96H;学DB06H,90H,05H,90H,04H,98H,04H,14H,04H,13H,04H,50H,04H,30H,00H,00HDB00H,00H,0FFH,0FEH,04H,22H,08H,5AH,07H,86H,80H,10H,41H,0CH,31H,24H;院DB0FH,24H,01H,25H,01H,26H,3FH,24H,41H,24H,41H,14H,71H,0CH,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H1、DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H2、六、系统功能测试3、实物测试4、通过分析程序,了解LED点阵汉字循环循环左移的显示方法,自建字库,很成功的完成了实物测试,达到了预期的要求。

相关文档
最新文档