51单片机驱动1616LED点阵显示动画汉字汇编程序.docx

上传人:b****2 文档编号:13966321 上传时间:2023-06-19 格式:DOCX 页数:35 大小:30.25KB
下载 相关 举报
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第1页
第1页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第2页
第2页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第3页
第3页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第4页
第4页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第5页
第5页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第6页
第6页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第7页
第7页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第8页
第8页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第9页
第9页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第10页
第10页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第11页
第11页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第12页
第12页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第13页
第13页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第14页
第14页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第15页
第15页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第16页
第16页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第17页
第17页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第18页
第18页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第19页
第19页 / 共35页
51单片机驱动1616LED点阵显示动画汉字汇编程序.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

51单片机驱动1616LED点阵显示动画汉字汇编程序.docx

《51单片机驱动1616LED点阵显示动画汉字汇编程序.docx》由会员分享,可在线阅读,更多相关《51单片机驱动1616LED点阵显示动画汉字汇编程序.docx(35页珍藏版)》请在冰点文库上搜索。

51单片机驱动1616LED点阵显示动画汉字汇编程序.docx

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

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

这里提供一个完整的AT89S51单片机驱动驱动led点阵显示具有动画效果的汉字的汇编程序列子.

ORG0000H

ST:

MOVA,#0FFH;初始化

MOVP1,A

MOVP2,A

MOVP3,A

MOVP0,A

CLRA

MOVR0,#50H;显示缓存清0

MOVR1,#20H;控制清0的次数

ST0:

MOVR0,A

INCR0

DJNZR1,ST0

;正文显示

CHINESE:

MOVDPTR,#TAB1;查表指针指向TAB1

LCALLHZ

;结束动画

SCREE:

MOVDPTR,#TAB2;查表指针指向TAB2

ACALLDD

MOVDPTR,#TAB3;查表指针指向TAB3

ACALLDD

MOVDPTR,#TAB4;查表指针指向TAB4

ACALLDD

LJMPCHINESE

;显示8幅画面子程序,SCREE专用,用字模软件字要倒置(表必须深256字节)

DD:

MOVB,#00H

MOVR0,#08H;显示8幅画面

AJMPCC

CC0:

MOVA,B

ADDA,#20H;指向下一幅画面

MOVB,A

CC:

MOVR7,#08H;画面停留时间

MOVR3,B

MOV37H,R0

LCALLENTER

DIS00:

LCALLDISPLAY

DJNZR7,DIS00

MOVR0,37H

DJNZR0,CC0

RET

;汉字上移子程序,可显示8个汉字,(表必须深256字节)

HZ:

MOVR3,#00H;查表偏移量

MOVR5,#81H;查表128次

MOVBACK:

MOVR4,#10H;使显示完一个汉字

MOVBACK0:

MOVR7,#02H;一桢画面显示时间

MOVR0,#6DH;低8位R0指向显示缓存倒数第3个字节,以备与最后1个字节交换

MOVR1,#6CH;高8位R1指向显示缓存倒数第4个字节,以备与倒数第2个字节交换

MOVR2,#10H;存后移的次数

DJNZR5,MOVBACK1

RET;显示完该表,返回

MOVBACK1:

MOVA,R0;低8位被后移的存单元数据暂存入A

INCR0;后移两字节

INCR0

MOVR0,A;放入要移的低8位数据

MOVA,R0;R0指向下一个要后移的存单元

SUBBA,#04H

MOVR0,A

MOVA,R1;高8位被后移的存单元数据暂存入A

INCR1;后移两字节

INCR1

MOVR1,A;放入要移高8位的数据

MOVA,R1;R1指向下一个要后移的存单元

SUBBA,#04H

MOVR1,A;R1指向下一个要后移的存单元

DJNZR2,MOVBACK1;显示缓存数据依次后移

MOVA,R3;从表TAB1读入要移进50H,51H的数据

MOVCA,A+DPTR;先给50H读数据

MOV50H,A

MOVA,R3;指向下一字节

INCA

MOVR3,A

MOVCA,A+DPTR;再给51H读数据

MOV51H,A

MOVA,R3;指向下一字节

INCA

MOVR3,A

MOV30H,R3;保护数据

MOV31H,R4

MOV32H,R5

DISMOV:

LCALLDISPLAY;显示当前数据

DJNZR7,DISMOV

MOVR3,30H

MOVR4,31H

MOVR5,32H

DJNZR4,MOVBACK0

MOV30H,R3;保护数据

MOV32H,R5

MOVR7,#24H;显示当前数据延时

DISMOV0:

LCALLDISPLAY

DJNZR7,DISMOV0

MOVR3,30H

MOVR5,32H

LJMPMOVBACK

;放进一幅显示数据到显示缓存子程序,要先设好指针DPTR和R3,影响R1,R2,R3

ENTER:

MOVR1,#50H;从50H单元起把表存入

MOVR2,#20H;查表次数

MOVA,R3

CLLOOP_:

MOVCA,A+DPTR;查表

MOVR1,A;将表放进5X,6X单元

INCR1;R1指向下一个地址空间

MOVA,R3;查表指针后移

INCA

MOVR3,A;将指针修改结果存入R3

DJNZR2,CLLOOP_;没查完转CLLOOP_

RET

;15MS,显示子程序,一桢32个字节,影响A,R0,R1,R3,R4,R5,R6;

;.51hei./单片机网提供汉字取模工具,可显示任意汉字

DISPLAY:

MOVA,#0FFH

MOVP0,A

MOVP1,A

MOVP2,A

MOVP3,A

SETBC

MOVR6,#7FH;赋扫描字初值,左移后初值为0FEH

MOVR5,#00H;列扫描低8位控制

MOVR0,#50H;行的高8(p1)位要显示的数据起始地址

MOVR1,#10H;扫描次数

DISLOOP:

MOVA,R0;从存读数据

MOVP2,#0FFH;装入数据时不显示任何东西

MOVP3,#0FFH

CPLA;数据取反以适合显示

MOVP1,A;送入行的高8(p1)位要显示的数据

INCR0;修改R0指向低8位要显示的数据

MOVA,R0;读低8位要显示的数据

CPLA;数据取反以适合显示

MOVP0,A;送入行的低8(p0)位要显示的数据

INCR0;R0指向下一个高8(p0)位要显示的数据

LCALLNEXT;调用列扫描程序

LCALLDELAY1MS;显示延时

DJNZR1,DISLOOP;一桢显示完返回

MOVP3,#0FFH;全灭

RET

;列扫描子程序DISLOOP专用

NEXT:

JNCNEXT1;C=0转扫描高8(p3)位行

MOVA,R6;修改扫描字

RLA

MOVR6,A

INCR5

CJNER5,#09H,NEXT0;R6=#0FEH时C=0

AJMPNEXT1

BACK:

RET

NEXT0:

MOVP2,R6;扫描低8(p2)位行

AJMPBACK

NEXT1:

MOVP2,#0FFH

MOVP3,R6;扫描高8(p3)位行

MOVA,R6;修改扫描字

RLA

MOVR6,A

AJMPBACK

;延时1MS子程序

DELAY1MS:

MOVR3,#10

D0:

MOVR4,#50

D1:

DJNZR4,D1

DJNZR3,D0

RET

TAB1:

DB01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,000H,000H

DB01FH,0F0H,011H,010H,01FH,0F0H,011H,010H,01FH,0F2H,001H,002H,001H,002H,000H,0FEH;電

DB000H,000H,03FH,0F0H,000H,020H,000H,040H,000H,080H,001H,000H,001H,000H,001H,004H

DB0FFH,0FEH,001H,000H,001H,000H,001H,000H,001H,000H,001H,000H,005H,000H,002H,000H;子

DB008H,000H,008H,0FCH,07EH,084H,008H,084H,0FFH,094H,041H,088H,022H,080H,014H,0FEH

DB07EH,0A4H,008H,0A4H,008H,098H,0FFH,098H,008H,0A4H,008H,0A6H,008H,0C4H,008H,080H;報

DB000H,000H,000H,010H,03FH,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,004H,07FH,0FEH,000H,000H,000H,000H,000H,000H;二

DB01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,002H,080H

DB004H,060H,01AH,01EH,0E1H,008H,01FH,0E0H,000H,040H,002H,080H,001H,000H,001H,000H;零

DB01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,002H,080H

DB004H,060H,01AH,01EH,0E1H,008H,01FH,0E0H,000H,040H,002H,080H,001H,000H,001H,000H;零

DB004H,000H,003H,000H,001H,080H,001H,000H,0FFH,0FEH,000H,000H,000H,000H,004H,080H

DB006H,040H,004H,020H,008H,010H,008H,018H,010H,00CH,020H,00CH,040H,008H,000H,000H;六

DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H;(空)

;结束动画

;--水纹--**宋体,12**

;当前所选字体下一个汉字对应的点阵为:

宽度x高度=128x16,调整后为:

128x16

TAB2:

DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,080H

DB001H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,080H,003H,0C0H

DB003H,0C0H,001H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,000H,001H,080H,002H,040H,004H,020H,008H,010H

DB008H,010H,004H,020H,002H,040H,001H,080H,000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,001H,0C0H,006H,030H,008H,008H,008H,008H,010H,004H,020H,002H,020H,002H

DB020H,002H,010H,004H,008H,008H,008H,008H,006H,030H,001H,0C0H,000H,000H,000H,000H

DB003H,0C0H,00CH,030H,010H,008H,010H,008H,060H,006H,040H,002H,080H,001H,080H,001H

DB080H,001H,080H,001H,040H,002H,060H,006H,010H,008H,010H,008H,00CH,030H,003H,0C0H

DB000H,000H,038H,01CH,046H,062H,081H,081H,080H,001H,040H,002H,040H,002H,020H,004H

DB020H,004H,040H,002H,040H,002H,080H,001H,081H,081H,046H,062H,038H,01CH,000H,000H

DB0C0H,003H,0A0H,005H,058H,01EH,024H,024H,024H,024H,01EH,078H,005H,0A0H,002H,040H

DB002H,040H,005H,0A0H,01AH,078H,024H,024H,024H,024H,058H,01AH,0A0H,005H,0C0H,003H

DB000H,000H,0C0H,003H,0B0H,00DH,088H,011H,044H,022H,025H,0A4H,012H,048H,00DH,0B0H

DB00DH,0B0H,012H,048H,025H,0A4H,044H,022H,088H,011H,0B0H,00DH,0C0H,003H,000H,000H

;--福--**宋体,12**

;当前所选字体下一个汉字对应的点阵为:

宽度x高度=16x16,调整后为:

16x16

TAB3:

DB0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH

DB055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H

DB0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,054H,02AH,0A8H,015H,050H,00AH

DB050H,00AH,0A8H,015H,054H,02AH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H

DB0AAH,055H,054H,02AH,0A8H,015H,050H,00AH,0A0H,005H,040H,002H,080H,001H,000H,000H

DB000H,000H,080H,001H,040H,002H,0A0H,005H,050H,00AH,0A8H,015H,054H,02AH,0AAH,055H

DB0A0H,005H,040H,002H,091H,0F9H,000H,000H,074H,0F0H,019H,008H,031H,008H,058H,0F0H

DB014H,000H,011H,0F8H,012H,044H,013H,0FCH,012H,044H,091H,0F9H,040H,002H,0A0H,005H

DB020H,000H,013H,0FEH,010H,000H,0FDH,0FCH,005H,004H,009H,004H,011H,0FCH,030H,000H

DB05BH,0FEH,096H,022H,012H,022H,013H,0FEH,012H,022H,012H,022H,013H,0FEH,012H,002H

DB000H,004H,07FH,0C8H,000H,008H,03FH,0BFH,020H,0A0H,020H,090H,03FH,088H,000H,00CH

DB07FH,0DAH,044H,069H,044H,048H,07FH,0C8H,044H,048H,044H,048H,07FH,0C8H,040H,048H

DB010H,040H,010H,080H,091H,000H,073H,0FFH,014H,080H,018H,040H,040H,0FFH,05EH,092H

DB052H,092H,052H,092H,052H,0FEH,052H,092H,052H,092H,05EH,092H,040H,0FFH,000H,000H

DB012H,002H,013H,0FEH,012H,022H,012H,022H,013H,0FEH,012H,022H,096H,022H,05BH,0FEH

DB030H,000H,011H,0FCH,009H,004H,005H,004H,0FDH,0FCH,010H,000H,013H,0FEH,020H,000H

TAB4:

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0H

DB0FEH,000H,0FEH,000H,0F0H,000H,0F0H,007H,0B0H,002H,0C8H,002H,048H,006H,030H,002H;STEP1

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0H

DB0FEH,000H,0FEH,000H,0F6H,000H,0F9H,007H,089H,002H,086H,001H,000H,005H,000H,002H;STEP2

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0H

DB0FEH,0C0H,0FFH,020H,0F1H,020H,0F0H,0C7H,080H,001H,080H,007H,000H,001H,000H,007H;STEP3

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0FFH,0F8H,0FFH,0D8H,0FFH,0E4H

DB0FEH,024H,0FEH,018H,0F0H,000H,0F0H,001H,080H,001H,080H,007H,000H,005H,000H,005H;STEP4

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FBH,0FFH,0FCH,0FFH,0C4H,0FFH,0C3H

DB0FEH,000H,0FEH,000H,0F0H,000H,0F0H,007H,080H,001H,080H,007H,000H,004H,000H,007H;STEP5

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

DB000H,000H,0F4H,058H,084H,0D4H,085H,052H,0F5H,052H,085H,052H,086H,054H,0F4H,058H

DB000H,000H,022H,05EH,022H,050H,022H,050H,023H,0DEH,022H,050H,022H,050H,0FAH,05EH

END

 

咕哝了很多天终于成功了,发出来供大家交流,没准儿还能对别人有些帮助,总之百利无一害……点阵大小是16*32的。

#include

#define BLKN 2            //列锁存器

sbit G=P1^7;              //P1.7为显示允许控制信号端口

sbit RRCLK=P1^6;           //P1.6为输出锁存器时钟信号端

sbit SCLR=P1^5;           //P1.5为移为寄存器清零端

void delay(unsigned int);  //延时函数

unsigned char data dispram[32];  //显示缓存

unsigned char data huancun[32];

void main(void)

{   unsigned char code Cmp[][32]={

{0x08,0x04,0x08,0x04,0x08,0x04,0xBF,0x7F,0x08,0x04,0x28,0x04,0x98,0x3F,0x8C,0x10,

0x0B,0x11,0x08,0x09,0x08,0x06,0x08,0x06,0x08,0x09,0x88,0x70,0x6A,0x20,0x04,0x00},//我

   {0xF8,0x1F,0x80,0x00,0xFE,0x7F,0x82,0x20,0xB8,0x0E,0x80,0x00,0xB8,0x0E,0x40,0x01,

0x20,0x06,0x58,0x78,0x87,0x10,0xF8,0x07,0x00,0x02,0x40,0x01,0x80,0x00,0x80,0x00},//爱

   {0x00,0x00,0xFE,0x1F,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x04,0xFC,0x0F,

0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x24,0xFF,0x7F,0x00,0x00,0x00,0x00},//单

   {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xFE,0x7F,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//片

   {0x80,0x00,0x9F,0x7E,0x84,0x08,0x84,0x08,0x84,0x08,0xA4,0x08,0xBF,0x7E,0xA4,0x08,

0x94,0x08,0x84,0x08,0x84,0x08,0x5C,0x08,0x43,0x08,0x20,0x7F,0x10,0x00,0x08,0x00},//片

   {0x80,0x00,0x80,0x00,0x80,0x00,0xFC,0x1F,0x84,0x10,0x84,0x10,0xFC,0x1F,0x84,0x10,

0x84,0x10,0x84,0x10,0xFC,0x1F,0x84,0x10,0x80,0x40,0x80,0x40,0x00,0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2