LED点阵显示程序

合集下载

16×16点阵LED显示屏整个过程及C语言程序

16×16点阵LED显示屏整个过程及C语言程序

16×16点阵L‎E D显示屏‎整个过程及‎C语言程序‎7.1功能要求‎设计一个室‎内用16×16点阵L‎E D图文显‎示屏,要求在目测‎条件下LE‎D显示屏各‎点亮度均匀‎、充足,可显示图形‎和文字,显示图形或‎文字应稳定‎、清晰无串扰‎。

图形或文字‎显示有静止‎、移入移出等‎显示方式。

7.2方案论证‎从理论上说‎,不论显示图‎形还是文字‎,只要控制与‎组成这些图‎形或文字的‎各个点所在‎位置相对应‎的LED器‎件发光,就可以得到‎我们想要的‎显示结果,这种同时控‎制各个发光‎点亮灭的方‎法称为静态‎驱动显示方‎式。

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

这个数字很‎庞大,因为我们仅‎仅是16×16的点阵‎,在实际应用‎中的显示屏‎往往要大的‎多,这样在锁存‎器上花的成‎本将是一个‎很庞大的数‎字。

因此在实际‎应用中的显‎示屏几乎都‎不采用这种‎设计,而采用另一‎种称为动态‎扫描的显示‎方法。

动态扫描的‎意思简单地‎说就是逐行‎轮流点亮,这样扫描驱‎动电路就可‎以实现多行‎(比如16行‎)的同名列共‎用一套列驱‎动器。

具体就16‎×16的点阵‎来说,我们把所有‎同一行的发‎光管的阳极‎连在一起,把所有同一‎列的发光管‎的阴极连在‎一起(共阳的接法‎),先送出对应‎第一行发光‎管亮灭的数‎据并锁存,然后选通第‎一行使其燃‎亮一定的时‎间,然后熄灭;再送出第二‎行的数据并‎锁存,然后选通第‎二行使其燃‎亮相同的时‎间,然后熄灭;……第十六行之‎后又重新燃‎亮第一行,这样反复轮‎回。

当这样轮回‎的速度足够‎快(每秒24次‎以上),由于人眼的‎视觉暂留现‎象,我们就能看‎到显示屏上‎稳定的图形‎了。

单片机控制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 点阵显示器,可用于显示安全天数、时间、温度等参数。

本文程序的编写。

采用实时操作系统RTOS 完成。

现介绍如下。

一、硬件组成及工作原理
(1)CPU 控制板:原理见图1。

以ATmega16 为核心。

扩展一片4-16 译码器CD4514,驱动ULN2003 完成LED 的行扫描。

实时时钟由DS1302 及3.6V 充电电池组成。

掉电时时钟仍能工作。

J3 是ISP 程序下载接口,J4 是程序调试接口,J8 是外接调整按钮,不用遥控器也能手动调整参数。

J5 是一体化红外线接收头。

ATmega16 具有硬件的ISP 接口,可直接驱动串行移位芯片74HC595。

(2)LED 显示板:原理见图2,由16 块8x8LED 点阵拼合而成,可同时显示4 个汉字。

8 片74HC595 完成显示屏的列驱动。

两块电路板之间用40 芯的排线连接。

在CPU 的内部RAM 开辟一块显示缓存区.CPU 控制板读取flash 内部的汉字点阵编码,写入到显示缓存区。

然后读取显存中第一行数据,通过ISP 接口驱动74HC595,将串行数据转为并行,然后将接通对应的行,显示1ms 后,取下一行的数据,同样显示1ms,直到第16 行,完成一
次扫描。

再把显存中的数据整体左移一位,再扫描一遍。

如此把全部的汉字
依次移人显存并显示,便实现了汉字从右向左移,全部汉字移完后对时间、
温度和安全天数的寄存器刷新一次。

《嵌入式接口技术》实验报告4-LED点阵显示

《嵌入式接口技术》实验报告4-LED点阵显示
这个实验和实验二数码管的实验差不多,只是把接受数据的一段换成了led点阵,所以难度不是很大,复习一下实验二就能够做出来。
六、教师评语
签名:
日期:
日期:
成绩
PINSEL0=0x00000000;
IO0DIR=0x3f;
while(1)
{
screen();
}
return 0;
}
效果图:
五、分析与讨论
这个实验和实验二数码管的实验差不多,只是把接受数据的一段换成了led点阵,所以难度不是很大,复一下实验二就能够做出来。
这个实验和实验二数码管的实验差不多,只是把接受数据的一段换成了led点阵,所以难度不是很大,复习一下实验二就能够做出来。
Senddata_Row(ROW[j+1]);
Senddata_Line(LINE[j+1]);
Delay(50);
Senddata_Row(0xff);
Senddata_Line(0x00);
j=j+2;
Delay(1000);
}
}
int main (void)
{// add user source code
#define DS2 0x08
#define SH_CP1 0x02
#define ST_CP1 0x04
#define SH_CP2 0x10
#define ST_CP2 0x20
uint32 const ROW[]={0xc3,0xdb,0x87,0xb7,0x0f,0x6f,0x87,0xb7,0xc3,0xdb,0xe1,0xed,0xf0,0xf6,0xe1,0xed};
else
IO0SET=DS1;

LED点阵显示程序

LED点阵显示程序

实验二十五LED点阵显示实验一.实验要求利用实验系统提供的实验模块○27点阵显示,编程实现中英文字符的显示。

二.实验目的1.了解LED点阵显示的基本原理和实现方法。

2.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。

三.实验电路及连线点阵显示模块MD1216C-RG的(红色)行输入线接至内部LED的阴极端,列输入线接至内部LED的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该LED点亮)。

发光点的分布如下图Fig1所示。

Fig1 MD1216C-RG分布如图Fig2所示,本实验模块使用74LS374来控制行输入线的电平值。

将74LS374的某输出置0,则对应的LED阴极端被置低。

如图Fig3所示,本实验模块使用74LS273来控制列输入线,并通过9013提供电流驱动。

将74LS273的某输出置1,则对应的LED阳极端被置高。

每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。

通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

Fig 2 LED模块及行扫描电路Fig 3 列扫描电路本实验模块使用1块MD1216C-RG(共阳极)组成16×16点阵,以满足汉字显示的要求。

为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKC1= CSLED ,CLKC2= CSLED+1,用于列控制的两片74LS273;CLKR1= CSLED+2,CLKR2= CSLED+3,用于行控制的两片74LS374。

实验接线按示例程序,LED 模块的CSLED 接F200H 。

四.实验说明使用高亮度LED 发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。

LED 显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、运动场馆及各种室内/外显示场合得到广泛的应用。

所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库(如ASC16、HZ16)中提取。

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点阵显示屏工作原理及驱动程序LED显示屏驱动程序几年前本人得到一块双色LED显示屏,因为没有控制器,所以对显示屏的工作原理进行了一番研究,利用手头上的元件,搭了一块电路板,编写了一段程序就放置一边了,这几天有时间,把原来的89C51汇编程序改了一下,改为AT89C2051和STC11F04E单片机能用的程序,放到博客上希望有兴趣的同行可以参考一下。

下面是显示效果图:下面是接口电路板图:下面是电路原理图:工作原理:这块显示屏是分为上下共32行LED点阵,水平有4块16*16点阵,所以能显示16*16点阵8个汉字。

工作原理是用74ls138做为行扫描,列用74ls595控制,当138扫描到某一行时,595决定哪一列该亮,就这样快速扫描,就形成了图像了。

参见下图:以单色单元板为例走线方式如下图:各信号走向如下:l JP1排针16脚信号A->74HC245的第2脚(信号放大)->74HC245的第18脚->74HC138的第1脚->JP2排针16脚l JP1排针15脚信号B->74HC245的第3脚(信号放大)->74HC245的第17脚->74HC138的第2脚->JP2排针15脚l JP1排针1脚信号OE->74HC245的第4脚(信号放大)->74HC245的第16脚->74HC04D的第1脚->74HC04D的2脚->①74HC138的第5脚->②74HC04D的3脚->74HC04D的4脚->JP2排针1脚l JP1排针11脚信号R->74HC245的第9脚(信号放大)->74HC245的第11脚->最左上角74HC595-1的第14脚->74HC595-1的9脚->74HC595-2的14脚->74HC595-2的9脚->最右下角74HC595-16的14脚->74HC595-16的9脚->JP2排针11脚我现在用的是双色板,JP1各端口含义如下:ABCD是显示屏电路板上的74LS138地址译码端,单片机寄存器R3控制行扫描,当R3从00000000到00010000增加时ABCD的变化给138译码,当R3=0FH 时正好扫描16行,当进位到10时扫描结束,OE是138的片选使能端,低电平有效。

LED点阵显示程序(带汉字移动)

LED点阵显示程序(带汉字移动)
{qing();}
}
}
/**********清屏幕*******************/
void qing (void)
{ unsigned char zz,xx=0x0ff;
for (zz=33;zz>0;zz--)
{out_rxd(&xx);}
else tempyid=yid-8;
temp=(BUFF2[s]>>tempyid)|(BUFF2[s+1]<<(8-tempyid));
SBUF=temp; //把BUFF中的字节从大到小移位相或后发送输出。
while(!TI);TI=0; //等待发送中断
}
yid=0;zimo=zimo+32; //后移一个字,
}
zimo=0;
}
/*************分屏显示的数据发送************/
void out_rxd(unsigned char *d) /*从串口发送数据*/
P1=0xff; P1=0; //锁存为高,74HC595锁存信号
P2=0; //清74LS138的使能端
}
/**********分屏显示***********/
void fen(void)
{ do{ xianshi(); }while(xx++<=5); //调用单屏显示
}
}
unsigned char code hanzi[]={/*自己的汉字编码请放在这里*/};
/*欢迎加入中国电子工程师在线 群号71880007*/
本文来自: 电子工程师之家�

LED 点阵显示设计(单片机课程设计)

LED 点阵显示设计(单片机课程设计)

LED 点阵显示设计利用LED 点阵(16*16 个发光二极管)交替显示自己名字的每个汉字。

一、预备知识:目前, LED 电子显示屏广泛应用于各种公共场所, 如南通大学新校区图书馆底楼LED 大屏幕、新校区学生食堂各种显示菜价的LED 电子屏等, 在车站、码头、机场、商场、医院、宾馆、银行、证券市场等更是随处可见LED 电子显示屏的身影。

实验箱上由4 块8*8 LED 点阵模块组成1 个16*16 的LED 点阵, 每个LED 发光管其实就是1 个像素点, 而通常汉字显示时所需像素点就是16*16。

汉字显示需要“字模生成软件”生成显示的点阵数据, 通常“字模生成软件”支持使用指定字体、指定取点模式及字节排列模式, 支持字体加粗、斜体、删除线、下划线等设置等。

“字模生成软件”的具体使用见课程设计讲解视频。

二、设计目的1.了解、掌握LED 点阵显示的控制原理, 为后续的LCD 显示控制打下基础;2.熟悉、掌握串行输入并行输出移位寄存器的使用;3.掌握单片机串行接口扩展原理和编程方法。

三、设计内容1.设计LED 点阵模块显示控制电路的原理图;2.设计程序流程图;3、编程调试, 在LED 点阵模块上交替显示自己名字的每个汉字, 交替间隔时间控制在0.5~1 秒之间。

四、参考接线LED 点阵模块显示控制所用导线较多, 可参见LED 点阵模块原理说明及实验箱电路原理图。

五、设计步骤程序:ORG 0000HLJMP MAINMAIN:MOV SP,#6FHMOV B,#80HMOV R0,#0MOV R3,#100MAIN_LOOP:MOV DPTR,#LED_TABMOV R1,#8MOV R2,#8MAIN_LOOP_H:MOV A,BMOV P2,ARR AMOV B,ALCALL FASONGLCALL FASONGLCALL DELAYDJNZ R1,MAIN_LOOP_H MOV P2,#00HMAIN_LOOP_L:MOV A,BMOV P1,ARR AMOV B,ALCALL FASONGLCALL FASONGLCALL DELAYDJNZ R2,MAIN_LOOP_L MOV P1,#00HDJNZ R3,MAIN_LOOP MOV R3,#100MAIN_LOOP1:MOV R1,#8MOV R2,#8MOV DPTR,#LED_TAB1 MAIN_LOOP_H1:MOV A,BMOV P2,ARR AMOV B,ALCALL FASONGLCALL FASONGLCALL DELAYDJNZ R1,MAIN_LOOP_H1 MOV P2,#00HMAIN_LOOP_L1:MOV A,BMOV P1,ARR AMOV B,ALCALL FASONGLCALL FASONGLCALL DELAYDJNZ R2,MAIN_LOOP_L1DJNZ R3,MAIN_LOOP1MOV R3,#100MAIN_LOOP2:MOV R1,#8MOV R2,#8MOV DPTR,#LED_TAB2MAIN_LOOP_H2:MOV A,BMOV P2,ARR AMOV B,ALCALL FASONGLCALL FASONGLCALL DELAYDJNZ R1,MAIN_LOOP_H2 MOV P2,#00HMAIN_LOOP_L2:MOV A,BMOV P1,ARR AMOV B,ALCALL FASONGLCALL FASONGLCALL DELAYDJNZ R2,MAIN_LOOP_L2MOV P1,#00HDJNZ R3,MAIN_LOOP2 LJMP MAINFASONG:MOV A,@R0MOVC A,@A+DPTRCLR TIMOV SBUF,AJNB TI,$CLR TIINC DPTRRETDELAY:MOV R7,#4DL Y_LOOP:DJNZ R6,$DJNZ R7,DL Y_LOOP RETDELAY2:MOV R7,#250DL Y_LOOP2:MOV R6,#250DJNZ R6,$DJNZ R7,DL Y_LOOP2 RETLED_TAB:DB …….LED_TAB1:DB …….LED_TAB2: DB……..END原理图:。

LED点阵显示仿真----由浅入深之8X8,16X16,24X24LED点阵流动显示

LED点阵显示仿真----由浅入深之8X8,16X16,24X24LED点阵流动显示

一直以来,对LED点阵显示很感兴趣,特别是流动点阵显示。

论坛里有不少例子,效果都不是很满意。

于是,自己动手。

先试作了8X8点阵。

8X8的点太少,只适合数字显示,从0 ~9流动,效果还不错。

有了8X8的经验,对流动显示的原理已经了解,又试了16X16的,觉得也不难。

但16X16的点仍嫌少了,又做了个24X24的,汉字漂亮。

动画可能效果差些,软件运行显示效果好多了。

8X8初学点阵仿真,常点不亮LED 。

首先,可能是点阵的极性没有正确的接线。

下面的简单方法可判断点阵的逻辑引脚。

运行proteus,在编辑区里放上一个8X8LED,如MA TRIX-8x8-GREEN。

在某些引脚上接上电源和地,试试能不能点亮。

8X8默认是上下引脚,按习惯接法,上面接电源,下面接地,不亮(图左)。

用左下角垂直翻转工具,垂直翻转,再接上电源和地,就可以点亮了(下图)。

如果是做左移显示,可再左旋90°。

如图:这里可看到,左边引脚是行控制,右边引脚是列控制。

然后就可以画线路图了,点阵就保持上面那个方向。

由于点阵引线较多,特别是以后做24X24点阵,所以布线方式不用连线,而用终端加上网络标号,这样可以使画面简洁明了。

连续标号的快捷画法,我以前有帖子介绍过。

这里还是再啰嗦一下。

proteus有一个很好用的PA T(Property Assignment Tool),即属性分配工具。

可以用来做快捷标注,当然还可以用作其它操作。

再连上其它接线,一个线路图很快就可以作好。

下面,就可以写程序的源文件了。

点击菜单\Source,下拉菜单第一条Add/Remove Source Files,按键New,在跳出的对话框里写上新文件名,如8X8.asm,打开。

提示这个文件不存在,要创建吗?是。

然后点Code Gereration tool小箭头,选ASM51 ,点OK。

然后,菜单\Source,看到多了个8X8.asm,点击,出现proteus自带的汇编编辑器,就可以在里面写代码了。

1664点阵LED电子显示屏的设计与实现

1664点阵LED电子显示屏的设计与实现

信息科学16*64点阵LED电子显示屏的设计与实现引言LED是指发光二极管,在某些半导体的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。

PN结加反向电压,少数载流子难以注入,故不发光。

这种利用注入式电致发光原理制作的二极管叫发光二极管,简称LED。

由于电子显示屏制作简单,安装方便,被广泛应用于各种公共场合,如公交汽车的报站器、广告屏以及公告牌等等。

介绍的LED点阵电子显示屏,其功能有固定汉字、字母、数字的显示;平行左移、右移;固定信息的循环显示;显示屏的亮度连续可调;时间的显示和上位机对显示内容可修改的功能。

1 16*64点阵LED显示屏的硬件组合(1)MCU的选择:由于软件对空间的需求和硬件的简化,本系统MCU采用的是AT89S52,它具有8KB的ROM,128字节的RAM,不需再外扩存储器了。

(2)行以及列驱动电路:因为要驱动16行选,所以采用四六译码器74LS154,它只需占用AT89S52的四个I/O口,起到了节省I/O口资源的目的。

它是输出低电平有效,所以用它驱动共阳集LED(行是高电平有效)行时需在每个输出口接三极管8550。

列选就采用TPIC6B595芯片,因为它可以直接连到列上驱动列选,起到简化硬件设计的作用。

TPIC6B595内含8位串入、串/并出移位寄存器和8位三态输出锁存器。

寄存器和锁存器分别有各自的时钟输入(CLK和ST),都是上升沿有效。

当CLK从低到高电平跳变时,串行输入数据(SDA)移入寄存器;当ST从低到高电平跳变时,寄存器的数据置入锁存器。

清除端(CLR)的低电平只对寄存器复位,而对锁存器无影响。

当输出允许控制(EN)为高电平时,并行输出(Q0~Q7)为高阻态,而串行输出不受影响。

本系统要求驱动64列,所以采用8片级联的TPIC6B595作为列驱动电路。

(3)时间芯片:为了实现时间的显示,采用时间芯片DS1302;该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单;与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES复位2 I/O数据线3 SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW;该芯片可接备用电源,当主电源的电压低于备用电源时,芯片自动使用备用电源供电,既使程序不能执行时也保证了时间的准确性,满足了系统的要求。

51单片机16X32LED点阵程序

51单片机16X32LED点阵程序

51单片机16X32LED点阵程序#include<REG52.H>#include "intrins.h"#define uchar unsigned char#define uint unsigned int#define light 3 //定义亮度/*****************************接口定义******************************* */sbit SHCP=P1^6;//595的移位信号sbit STCP=P1^5;//是595的锁存信号 /*如果用的是普通单片机没有P4.1口请改为其他口*/sbit SDA_R=P3^6;//红数据sbit SDA_G=P1^4;//绿数据sbit OE=P1^7;//输出使能sbit IA=P1^0;//行控制线A /*如果用的是普通单片机没有P4.0口请改为其他口*/sbit IB=P1^1;//行控制线Bsbit IC=P1^2;//行控制线Csbit ID=P1^3;//行控制线Dsbit Speek=P2^3;//蜂鸣器/******************************************************************** /#define scan0 {IA=0;IB=0;IC=0;ID=0;}#define scan1 {IA=1;IB=0;IC=0;ID=0;}#define scan2 {IA=0;IB=1;IC=0;ID=0;}#define scan3 {IA=1;IB=1;IC=0;ID=0;}#define scan4 {IA=0;IB=0;IC=1;ID=0;}#define scan5 {IA=1;IB=0;IC=1;ID=0;}#define scan6 {IA=0;IB=1;IC=1;ID=0;}#define scan7 {IA=1;IB=1;IC=1;ID=0;}#define scan8 {IA=0;IB=0;IC=0;ID=1;}#define scan9 {IA=1;IB=0;IC=0;ID=1;}#define scan10 {IA=0;IB=1;IC=0;ID=1;}#define scan11 {IA=1;IB=1;IC=0;ID=1;}#define scan12 {IA=0;IB=0;IC=1;ID=1;}#define scan13 {IA=1;IB=0;IC=1;ID=1;}#define scan14 {IA=0;IB=1;IC=1;ID=1;}#define scan15 {IA=1;IB=1;IC=1;ID=1;}uchar Move,Speed,line; //(移位速度行 ) 定义uint zimuo; //字模计数器uint uiAllData;uchar BUFF[10]; //缓存void DelayMs(void); // 延时void in_data(); // 调整移动数据void rxd_data(); // 发送移动数据const uchar code hanzi[];/******************************************************/ /*****不影响其他端口的扫描*************************/ void scan(unsigned char Value){switch(Value){case 0: scan0;break;case 1: scan1;break;case 2: scan2;break;case 3: scan3;break;case 4: scan4;break;case 5: scan5;break;case 6: scan6;break;case 7: scan7;break;case 8: scan8;break;case 9: scan9;break;case 10:scan10;break;case 11:scan11;break;case 12:scan12;break;case 13:scan13;break;case 14:scan14;break;case 15:scan15;break;default:break;}}/**************************延时***********************/ /*void Delay1ms(unsigned int tima){unsigned int a,b;for(a = tima; a > 0; a--)for(b = 110; b > 0; b--);}*//********************************************/ void Delay_15us(unsigned int time){do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}while(--time);}/*主函数*/void main(){Move=0;zimuo=0;while(1){//利用sizeof()语句运算字幕有效数据的总数;while(zimuo<uiAllData)//2048)//定义显示字幕数据的长度 2048/32=64 即显示完64个16*16大小的字符后重新循环{for(Move = 0;Move<16;Move++)//数据移位。

16×64LED点阵显示屏的设计(附完整proteus仿真图和源程序)

16×64LED点阵显示屏的设计(附完整proteus仿真图和源程序)
MSC51 单片机部分管脚说明如下: P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当
P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作 输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉 的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将
《单片机原理及应用》课程设计
摘要
LED 电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面 积的显示屏幕,在信息显示领域得到了广泛的应用,实现显示屏的技术也有很多 种。本文介绍了基于单片机 80C51 为控制器的 16×64LED 点阵显示屏系统的设计。 整机以美国 ATMEL 公司生产的 40 脚单片机 AT89C51 为核心,介绍了以它为控制 系统的 LED 点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动 器 74LS154 和八个列驱动器 74HC595 来驱动显示屏显示。该电子显示屏可以显示 各种文字或单色图像,全屏能显示 4 个汉字,采用 16 块 8×8 点阵 LED 显示模块 来组成一个 16×64 点阵显示模式。显示采用动态显示,使得图形或文字能够实 现静止、移入移出等多种显示方式。本文介绍了利用 Proteus7.10 软件进行原 理图的绘制,利用汉字转换软件将汉字转换为将要发送给单片机的点阵数据,在 keil 软件当中采用 C 语言编程,与 proteus 进行联调,并通过仿真软件 Proteus7.10 最终实现自己设想的效果,总体上系统的设计简单、显示清晰、成 本较低。

24X24LED点阵显示程序

24X24LED点阵显示程序

74HC595仅仅使用3个I/O口就能点亮点阵屏,因此大大减少了I/O口的使用。

例如24×24点阵的连接如下所示(行扫描使用3线-8线译码器74HC138),此图为原理示意图,实际中行扫描需要增加驱动。

根据此上图用汇编编写的静态显示程序如下:ORG 0000HLJMP STARORG 0BHLJMP INTT0STAR: MOV 20H,#00HMOV A,#0FFHMOV R7,#0MOV P1,AMOV P2,AMOV P3,AMOV P0,ACLR P1.6MOV TMOD,#01HMOV TH0,#0FEHMOV TL0,#18HMOV SCON,#0MOV IE,#82HMOV SP,#70HMOV R0,#0MAIN: LCALL DIS1MOV DPTR ,#TABLCALL MOVDISPLJMP MAINMOVDISP:MOV B,#00HDISLOOP:MOV R3,#07HDISMOV: JNB 02H,AAADEC DPHCLR 02AAA: MOV R2,#0MOV R1,BSETB TR0WAITMOV:JBC 00H,DISMOV1AJMP W AITMOVDISMOV1:DJNZ R3,DISMOVJNB 02H,BBBDEC DPHCLR 02BBB: INC BMOV A,BCJNE A,#0,CC1INC DPHINC R7CC0: INC BMOV A,BCJNE A,#0,CCCINC DPHINC R7CC1: INC BMOV A,BCJNE A,#0,CCCINC DPHINC R7CCC: MOV A,R1 MOVOUT:CJNE R7,#3,DISLOOP MOV A,BCJNE A,#24,DISLOOPMOV R7,#0RETDIS1: MOV R3,#0AHCLR P1.3CLR P1.4CLR P1.5DIS11: MOV R2,#0MOV DPTR,#TABMOV R1,#0HSETB TR0WAIT11:JBC 01H,DIS11AJMP W AIT11DIS111:DJNZ R3,DIS11RETINTT0: INC R0PUSH ACCMOV TH0,#0FEHMOV TL0,#18HJBC 00H,GOENDMOV A,R1MOVC A,@A+DPTRMOV SBUF,AWAIT: JBC TI,GOAJMP W AITGO: INC R1CJNE R1,#0,AAINC DPHSETB 02HAA: MOV A,R1MOVC A,@A+DPTR MOV SBUF,AWAIT1: JBC TI,GO1AJMP W AIT1GO1: INC R1CJNE R1,#0,BBINC DPHSETB 02HBB: MOV A,R1MOVC A,@A+DPTR MOV SBUF,AWAIT2: JBC TI,GO2AJMP W AIT2GO2:CLR P1.3CLR P1.4CLRP1.5NOPSETBP1.6NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPCLRP1.6MOV A,R2ANL A,#7HANL P1,#0F8HORL P1,AP122: INC R2CJNE R2,#8,PAN1LJMP PAN1APAN1: JC PAN1ACJNE R2,#10H,PAN2LJMP PAN1BPAN2: JC PAN1BCJNE R2,#018H,PAN3LJMP PAN1CPAN3: JC PAN1CAJMP PANTPAN1A: SETB P1.3AJMP PANTPAN1B: SETB P1.4AJMP PANTPAN1C: SETB P1.5PANT: INC R1CJNE R1,#0,CCINC DPHSETB 02HCC: MOV A,R2GO3: CJNE R2,#24,GO4SETB 00HGO4: POP ACCRETIGOEND: CLR TR0SETB 01HPOP ACCRETIORG 0A00HTAB:;-- 逐行顺向--DB000H,000H,000H,003H,0C0H,000H,004H,030H,000H,004H,010H,000H,008H,03FH,0FCH,008 H;DB004H,041H,083H,008H,042H,083H,008H,03FH,001H,0F0H,001H,001H,080H,002H,000H,0C0 H;DB004H,000H,060H,008H,00CH,018H,030H,008H,004H,040H,01CH,002H,040H,026H,002H,040 H;DB 043H,002H,021H,080H,0C4H,03EH,000H,03CH;"欠",0DB081H,046H,082H,0E2H,078H,082H,01CH,000H,082H,000H,000H,082H,000H,000H,082H,000 H;END。

51单片机8*8点阵LED显示原理及程序

51单片机8*8点阵LED显示原理及程序

51单片机8*8点阵LED显示原理及程序更多发布时间:2008年8月16日在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

1.程序设计内容8X8点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。

一根横柱:对应的行置0,而列则采用扫描的方法来实现。

2.硬件电路3.汇编源程序ORG 00HSTART: NOPMOV R3,#3LOP2: MOV R4,#8MOV R2,#0LOP1: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTR MOV P3,AINC R2LCALL DELAY DJNZ R4,LOP1 DJNZ R3,LOP2MOV R3,#3LOP4: MOV R4,#8 MOV R2,#7LOP3: MOV P1,#0FFH MOV DPTR,#TABA MOV A,R2MOVC A,@A+DPTR MOV P3,ADEC R2LCALL DELAY DJNZ R4,LOP3 DJNZ R3,LOP4MOV R3,#3LOP6: MOV R4,#8 MOV R2,#0LOP5: MOV P3,#00H MOV DPTR,#TABB MOV A,R2MOVC A,@A+DPTR MOV P1,AINC R2LCALL DELAY DJNZ R4,LOP5 DJNZ R3,LOP6 MOV R3,#3LOP8: MOV R4,#8 MOV R2,#7LOP7: MOV P3,#00H MOV DPTR,#TABB MOV A,R2MOVC A,@A+DPTR MOV P1,ADEC R2LCALL DELAYDJNZ R4,LOP7DJNZ R3,LOP8LJMP STARTDELAY: MOV R5,#10D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH TABB: DB 01H,02H,04H,08H,10H,20H,40H,80HEND4.C51语言源程序#include <AT89X52.H>unsigned CHAR code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned CHAR code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};void DELAY(void){unsigned CHAR i,j;for(i=10;i>0;i--)for(j=248;j>0;j--);}void DELAY1(void){unsigned CHAR i,j,k;for(k=10;k>0;k--)for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){unsigned CHAR i,j;while(1){for(j=0;j<3;j++)//FROM left to right 3 time {for(i=0;i<8;i++){P3=taba[i];P1=0xff;DELAY1();}}for(j=0;j<3;j++)//FROM right to left 3 time{for(i=0;i<8;i++){P3=taba[7-i];P1=0xff;DELAY1();}}for(j=0;j<3;j++)//FROM top to bottom 3 time {for(i=0;i<8;i++){P3=0x00;P1=tabb[7-i];DELAY1();}}for(j=0;j<3;j++)//FROM bottom to top 3 time {for(i=0;i<8;i++){P3=0x00;P1=tabb[i];DELAY1();}}}}。

16×16LED点阵屏原理图及驱动程序

16×16LED点阵屏原理图及驱动程序
/*uchar two_onebyteR(uchar h1,uchar h2)
{
uchar temp,tempcol;
if(col<8) tempcol=col;
else tempcol=col-8;
temp=(h1>>tempcol)|(h2<<(8-tempcol)); //右移显示
temp=255-temp;
}
/**************************************************************************
右移显示数据生成模块:
***************************************************************************/
void delay(uint p){
uint i,j;
for(i=0;i<p;i++){
for(j=0;j<5;j++)
{;}}
}
/**************************************************************************************
void loadoneline_L(void)
{
char s; //此处不要用uchar定义s
for(s=0;s<2;s++) //s值为屏数加1(16*16为一屏)
{
BUFF[2*s]=HZ[word+32*s+2*disrow];
BUFF[2*s+1]=HZ[word+1+32*s+2*disrow]; //左移显示

16215;16点阵led显示屏整个过程及c语言程序 (1)

16215;16点阵led显示屏整个过程及c语言程序 (1)

16×16点阵LED显示屏整个过程及C语言程序7.1功能要求设计一个室内用16×16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。

图形或文字显示有静止、移入移出等显示方式。

7.2方案论证从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。

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

这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。

因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。

具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。

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

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

显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。

8 8X8LED点阵显示程序

8 8X8LED点阵显示程序

8×8程序:ORG 0000HLJMP STARTORG 0080HSTART:;P2口接行线,P3口接列线NOPMOV R3,#3 ;产生从右到左的竖柱。

并显示3次LOP2:MOV R4,#8 ;竖柱从右到左需要经过8次循环MOV R2,#0;从第0列开始扫描LOP1:MOV P2,#0FFH ;行线置0FFH,每根行线都置高电平1 MOV DPTR,#TABAMOV A,R2 ;从第0列开始,逐列扫描MOVC A,@A+DPTR ;查表得列线值MOV P3,A ;送列线值INC R2 ;扫描下一列LCALL DELAYDJNZ R4,LOP1 ;从右到左是否扫描完成DJNZ R3,LOP2 ;总共显示3次MOV R3,#3 ;产生从左到右的竖柱。

并显示3次LOP4:MOV R4,#8MOV R2,#7LOP3:MOV P2,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,ADEC R2LCALL DELAYDJNZ R4,LOP3DJNZ R3,LOP4MOV R3,#3 ;产生从上到下的横柱。

并显示3次LOP6:MOV R4,#8MOV R2,#0LOP5:MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,@A+DPTRMOV P2,AINC R2LCALL DELAYDJNZ R4,LOP5DJNZ R3,LOP6MOV R3,#3 ;产生从下到上的横柱。

并显示3次LOP8:MOV R4,#8MOV R2,#7LOP7:MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,@A+DPTRMOV P2,ADEC R2LCALL DELAYDJNZ R4,LOP7DJNZ R3,LOP8LCALL STARTDELAY: ;延时子程序MOV R5,#20D2:MOV R6,#20D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH ;行置1,列采用逐行扫描TABB:DB 01H,02H,04H,08H,10H,20H,40H,80H;列置0,行采用逐行扫描ENDORG 0000HLJMP STARTORG 0080HSTART:;P2口接行线,P3口接列线LOP2:MOV R4,#8 ;竖柱从右到左需要经过8次循环MOV R2,#0 ;从第0列开始扫描LOP1:MOV DPTR,#TABAMOV A,R2 ;从第0列开始,逐列扫描MOVC A,@A+DPTR ;查表得列线值MOV P3,ACPL AMOV P2,A ;送列线值INC R2 ;扫描下一列LCALL DELAYDJNZ R4,LOP1 ;从右到左是否扫描完成LOP4:MOV R4,#8MOV R2,#7LOP3:MOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,ACPL AMOV P2,ADEC R2LCALL DELAYDJNZ R4,LOP3SJMP STARTDELAY: ;延时子程序MOV R5,#30D2:MOV R6,#20D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA:DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H ;列置1,行采用逐行扫描END。

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

实验二十五LED点阵显示实验
一.实验要求
利用实验系统提供的实验模块○27点阵显示,编程实现中英文字符的显示。

二.实验目的
1.了解LED点阵显示的基本原理和实现方法。

2.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。

三.实验电路及连线
点阵显示模块MD1216C-RG的(红色)行输入线接至内部LED的阴极端,列输入线接至内部LED的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该LED点亮)。

发光点的分布如下图Fig1所示。

Fig1 MD1216C-RG分布
如图Fig2所示,本实验模块使用74LS374来控制行输入线的电平值。

将74LS374的某输出置0,则对应的LED阴极端被置低。

如图Fig3所示,本实验模块使用74LS273来控制列输入线,并通过9013提供电流驱动。

将74LS273的某输出置1,则对应的LED阳极端被置高。

每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。

通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

Fig 2 LED模块及行扫描电路
Fig 3 列扫描电路
本实验模块使用1块MD1216C-RG(共阳极)组成16×16点阵,以满足汉字显示的要
求。

为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKC1= CSLED ,CLKC2= CSLED+1,用于列控制的两片74LS273;CLKR1= CSLED+2,CLKR2= CSLED+3,用于行控制的两片74LS374。

实验接线
按示例程序,LED 模块的CSLED 接F200H 。

四.实验说明
使用高亮度LED 发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。

LED 显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、运动场馆及各种室内/外显示场合得到广泛的应用。

所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库(如ASC16、HZ16)中提取。

后者需要正确掌握字库的编码方法和字符定位的计算。

实验盘片中“字符转换”子目录下提供的ZIMO221.exe,可方便的将字符或汉字字模提取出来。

取字模的方式有很多种,具体可参看ZIMO221.exe 程序里的“参数设置”。

五.实验程序框图
提供LED_A51、LED_HZ51两个示例程序。

分别演示Asc16字符和Hz16字符的简单点阵显示。

用户应留心其中列扫描的实现及码表的处理。

CSLED EQU 0F200H
CSC1 EQU CSLED
;列1~8 273 CSC2 EQU CSLED+1H
;列9~16 273 CSR1 EQU CSLED+2H
;行1~8 374 CSR2 EQU CSLED+3H ;行9~`6 374 开始
清除显示
设置字符码表
起始地址
LED 行扫描;
列顺序输出码表
延时以控制显示效果 循环 处理
ORG 0000H
SJMP MAIN
ORG 0040H
MAIN:
MOV SP,#60H
INIT:
MOV A,#00H ;关闭LED列显示
MOV DPTR,#CSC1
MOVX @DPTR,A
MOV DPTR,#CSC2
MOVX @DPTR,A
MOV A,#0FFH ;关闭LED行显示
MOV DPTR,#CSR1
MOVX @DPTR,A
MOV DPTR,#CSR2
MOVX @DPTR,A
D: MOV R5,#00H
MOV R4,#01H ;设定列扫描初始值,从第一列开始
DISP:
MOV A,R5
MOV DPTR,#ASCK ;此处设定所要显示的字符
MOVC A,@A+DPTR
CPL A ;代码取反,决定显示的阴阳
MOV DPTR,#CSR1
MOVX @DPTR,A
MOV DPTR,#CSC1
MOV A,R4
MOVX @DPTR,A
RL A
MOV R4,A
INC R5
LCALL DELAY
MOV A,#00H ;清上次显示值
MOVX @DPTR,A ;关闭行、列
MOV DPTR,#CSR1
MOV A,#0FFH
MOVX @DPTR,A
CJNE R5,#8H,DISP ;判是否显示到第八列
MOV R5,#08H
MOV R4,#01H
DISP2:
MOV A,R5
MOV DPTR,#ASCK
MOVC A,@A+DPTR
CPL A
MOV DPTR,#CSR2
MOVX @DPTR,A
MOV DPTR,#CSC1
MOV A,R4
MOVX @DPTR,A
RL A
MOV R4,A
INC R5
LCALL DELAY
MOV A,#00H ;清上次显示值
MOVX @DPTR,A ;关闭行、列
MOV A,#0FFH
MOV DPTR,#CSR2
MOVX @DPTR,A
CJNE R5,#10H,DISP2 ;判是否扫描到第十六列
SJMP D
;******** 延时子程序,协调字符显示速度*************
DELAY: MOV R7,#50H
DL1: MOV R6,#50H
DL2: DJNZ R6,DL2
DJNZ R7,DL1
RET
;******** 字符点阵字库***************
; 请注意编码的排列次序和实际显示点阵分布的关系
;运行ZIMO.EXE程序,在参数设置里选择“纵向取模”,16*16点阵,宋体、小四号(12) ;取模方式为A51格式。

;*****************************************************
ASCA:DB 00H,00H,03H,1CH,07H,00H,00H,00H,04H,3CH,0C4H,40H,40H,0E4H,1CH,04H ASCE:DB 10H,1FH,11H,11H,17H,10H,08H,00H,04H,0FCH,04H,04H,0C4H,04H,18H,00H
ASCD:DB 10H,1FH,10H,10H,10H,08H,07H,00H,04H,0FCH,04H,04H,04H,08H,0F0H,00H
ASCK:DB 10H,1FH,11H,03H,14H,18H,10H,00H,04H,0FCH,04H,80H,64H,1CH,04H,00H ;****************************************************
END。

相关文档
最新文档