16x16点阵显示预习报告Word格式.docx

上传人:b****5 文档编号:20427386 上传时间:2023-01-22 格式:DOCX 页数:14 大小:348KB
下载 相关 举报
16x16点阵显示预习报告Word格式.docx_第1页
第1页 / 共14页
16x16点阵显示预习报告Word格式.docx_第2页
第2页 / 共14页
16x16点阵显示预习报告Word格式.docx_第3页
第3页 / 共14页
16x16点阵显示预习报告Word格式.docx_第4页
第4页 / 共14页
16x16点阵显示预习报告Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

16x16点阵显示预习报告Word格式.docx

《16x16点阵显示预习报告Word格式.docx》由会员分享,可在线阅读,更多相关《16x16点阵显示预习报告Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

16x16点阵显示预习报告Word格式.docx

通常将它接Vcc。

•SCK(11脚):

上升沿时将串行数据移入移位寄存器。

•RCK(12脚):

上升沿时移位寄存器的数据锁存入数据寄存器。

•-G(13脚):

高电平时禁止输出(高阻态)。

实验内容:

在16×

16LED点阵上分别用静态方式和滚屏方式显示自己的姓(行扫描)。

两个实验部分的电原理图是相同的,如下所示:

 

静态方式:

流程图:

程序代码:

L_DAT_HBITP1.0

L_DAT_LBITP1.1

L_STRBITP1.2

L_CLKBITP1.3

L_OEBITP1.4

ROWHEQU40H;

字模信号(顺向取模,高位在前),即列信号

ROWLEQU41H

SELHEQU42H;

行扫描信号

SELLEQU43H

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOVR1,#01H;

配合字模信号

MOVR2,#01H;

高字节在后,故从01开始

MOVR3,#10H;

循环16次

LOAD:

MOVDPTR,#SEL_DATA;

存储行扫描信号

MOVA,R1

MOVCA,@A+DPTR

MOVSELH,A;

存储高字节SELH=00H

DECR1;

R1-1,指向低字节

MOVSELL,A;

存储低字节SELL=80H

INCR1

INCR1

INCR1;

指向下一个高字节

MOVDPTR,#ROW_DATA;

存储字模数据,过程同上

MOVA,R2

MOVROWH,A;

ROWH=0FFH

DECR2

MOVCA,@A+DPTR

MOVROWL,A;

ROWL=0FEH

INCR2

LCALLLATCH;

运行锁存自程序

LCALLDELAY;

延时

DJNZR3,LOAD;

重复执行16次,显示所有行

LJMPMAIN;

静态显示

LATCH:

CLRL_OE;

允许输出

CLRL_STR;

为上升沿将移位寄存器数据锁存入数据寄存器做准备

MOVR4,SELH

MOVR5,ROWH;

高位行扫描型号和字模信号

MOVR6,#08H;

高低位分开读,每次读8位,先右移高八位

LATCH1:

CLRL_CLK;

为上升沿读入移位寄存器做准备

MOVA,R4

RRCA;

移出最高位

MOVR4,A;

保存剩余的还没有移出的位

MOVL_DAT_H,C;

由P1.0输出准备进入移位寄存器行信号

MOVA,R5

RRCA

MOVR5,A

MOVL_DAT_L,C;

由P1.1输出准备进入移位寄存器

SETBL_CLK;

CLK上升沿,P1.0和P1.1数据进入移位寄存器列信号

DJNZR6,LATCH1

MOVR4,SELL

MOVR5,ROWL

MOVR6,#08H

LATCH2:

;

同上

CLRL_CLK

MOVR4,A

MOVL_DAT_H,C

MOVL_DAT_L,C

SETBL_CLK

DJNZR6,LATCH2

;

SETBL_STR;

STR上升沿移位寄存器数据所存入数据寄存器

;

显示

RET

DELAY:

延迟程序

MOVR6,#02H

LOOP1:

MOVR7,#0F8H;

估算:

1us*2*(1+2*248+2)=998us≈1ms

LOOP2:

DJNZR7,LOOP2

DJNZR6,LOOP1

SEL_DATA:

;

16行选择信号,每次仅使一行为高电平(有效)

DB80H,00H

DB40H,00H

DB20H,00H

DB10H,00H

DB08H,00H

DB04H,00H

DB02H,00H

DB01H,00H

DB00H,80H

DB00H,40H

DB00H,20H

DB00H,10H

DB00H,08H

DB00H,04H

DB00H,02H

DB00H,01H

ROW_DATA:

;

16列字模输入信号

DB0FEH,0FFH,06H,0F7H,0F6H,0F7H,0F6H,0EFH,0F6H,0DFH,86H,0BFH,0BEH,0FFH,0B8H,01H

DB0BEH,0BFH,86H,0DFH,0F6H,0DFH,0F6H,0EFH,0F6H,0F7H,0F6H,0BBH,0AEH,7DH,0DEH,0FFH;

"

张"

0

;

end

字模效果:

滚屏方式:

程序代码:

L_DAT_HBITP1.0

L_DAT_LBITP1.1

L_STRBITP1.2

L_CLKBITP1.3

L_OEBITP1.4

ROWHEQU40H

ROWLEQU41H

SELHEQU42H

SELLEQU43H

WAITEQU44H;

负责控制滚动速度

ORG0000H

LJMPMAIN

ORG0100H

MOVR0,#01H;

每次重新滚动时初始化

NEXT:

MOVWAIT,#0AH;

滚动速度设置,数字越大滚动越慢

ROLL:

MOVA,R0;

变换显示的第一行以完成滚动

MOVR1,#01H;

行扫描信号不变

MOVR2,A

MOVR3,#10H

MOVDPTR,#SEL_DATA;

MOVA,R1

MOVCA,@A+DPTR

MOVSELH,A;

LOADHIGHBYTE

DECR1;

OFSELECTSIGNAL

MOVSELL,A;

LOADLOWBYTE

INCR1;

INCR1

MOVDPTR,#ROW_DATA

MOVA,R2

MOVROWH,A

DECR2

MOVROWL,A

INCR2

LCALLLATCH

LCALLDELAY

DJNZR3,LOAD

以上与第一部分相同

DJNZWAIT,ROLL;

循环以延时

INCR0

INCR0;

R0指向下一行,以实现滚动

CJNER0,#61H,NEXT;

所有字符显示完毕后开始新的一轮

以下与第一部分相同

CLRL_OE

CLRL_STR

MOVR4,SELH

MOVR5,ROWH

CLRL_CLK

RRCA

SETBL_CLK

SETBL_STR

MOVR7,#0F8H

SELECTROW

DB80H,00H

DB40H,00H

DB20H,00H

DB10H,00H

DB08H,00H

DB04H,00H

DB02H,00H

DB01H,00H

DB00H,80H

DB00H,40H

DB00H,20H

DB00H,10H

DB00H,08H

DB00H,04H

DB00H,02H

DB00H,01H

DB0FEH,0FFH,06H,0F7H,0F6H,0F7H,0F6H,0EFH,0F6H,0DFH,86H,0BFH,0BEH,0FFH,0B8H,01H;

DB0FFH,0BFH,0FFH,0DFH,87H,0EFH,0B6H,1FH,0B7H,0DDH,0B7H,0CBH,0B4H,47H,0B7H,4FH;

DB0B7H,57H,0B7H,57H,86H,0D7H,0B6H,0DBH,0FDH,0DBH,0FBH,0DDH,0FFH,5FH,0FFH,0BFH;

咏"

END

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

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1