关于16*16点阵移动的问题?这个设计是利用一片c51,一片74hc154,两片74hc595 ,4片8*8led的汉字显示屏,下面的程序能够实现右向左移动,但就是不知道如何实现从左向右展开和闭合、从上向下展开和闭

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 04:53:43

关于16*16点阵移动的问题?这个设计是利用一片c51,一片74hc154,两片74hc595 ,4片8*8led的汉字显示屏,下面的程序能够实现右向左移动,但就是不知道如何实现从左向右展开和闭合、从上向下展开和闭
关于16*16点阵移动的问题?
这个设计是利用一片c51,一片74hc154,两片74hc595 ,4片8*8led的汉字显示屏,下面的程序能够实现右向左移动,但就是不知道如何实现从左向右展开和闭合、从上向下展开和闭合,
ORG 0H
LJMP START
START:MOV 20H,#00H
MOV A,#0FFH
MOV P1,A
MOV P3,A
MOV SCON,#0
MOV R7,#20H
MOV DPTR,#TAB
LL1:MOV R6,#8;
MOV R2,#0
MOV 70H,DPH
MOV 71H,DPL
LOOP:CLR P1.6
LCALL Q2
MOV A,R2
MOV P1,A
SETB P1.6
SETB P1.3
INC R2
LCALL DELAY
INC DPTR
INC DPTR
DJNZ R6,LOOP
LL2:MOV R6,#8;
MOV R2,#0
LOOP2:CLR P1.6
LCALL Q2
MOV A,R2
MOV P1,A
SETB P1.6
INC R2
LCALL DELAY
INC DPTR
INC DPTR
DJNZ R6,LOOP2
MOV DPH,70H
MOV DPL,71H
DJNZ R7,LL1
MOV R7,#5
INC DPTR
INC DPTR
LJMP LL1
Q2:MOV A,#0
MOVC A,@A+DPTR;
MOV SBUF,A;
JNB TI,$
CLR TI
MOV A,#1
MOVC A,@A+DPTR;
MOV SBUF,A;
JNB TI,$
CLR TI
RET
DELAY:MOV R3,#1
DE1:MOV R4,#2
DE2:MOV R5,#250
DE3:DJNZ R5,DE3
DJNZ R4,DE2
DJNZ R3,DE1
RET
TAB:
DB 30H,08H,36H,1CH ;欢
DB 37H,38H,31H,0E0H
DB 3FH,0E0H,3CH,32H
DB 02H,06H,0EH,0CH
DB 0FCH,18H,0F3H,0F0H
DB 33H,0E0H,30H,30H
DB 3CH,18H,3CH,0CH
DB 00H,04H,00H,00H
DB 06H,02H,66H,06H ; 迎
DB 77H,0FCH,17H,0F8H
DB 00H,0CH,7FH,0E6H
DB 7FH,0E6H,0E0H,46H
DB 0C0H,06H,7FH,0F6H
DB 7FH,0F6H,60H,46H
DB 7FH,0E6H,7FH,0E6H
DB 00H,06H,00H,00H
电路图如下:

关于16*16点阵移动的问题?这个设计是利用一片c51,一片74hc154,两片74hc595 ,4片8*8led的汉字显示屏,下面的程序能够实现右向左移动,但就是不知道如何实现从左向右展开和闭合、从上向下展开和闭
;你这个代码本身有问题,在整个左移动循环结束后,dptr还会继续加,后面代码会飞掉
;给你的代码注释一下,
;加一个右到左,其他的你自己写
ORG 0H
LJMP START
START:

MOV 20H,#00H
MOV A,#0FFH
MOV P1,A
MOV P3,A
MOV SCON,#0
MOV R7,#20H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;改成右到左,修改这里
;MOV DPTR,#TAB
MOV DPTR, #TAB_END - 2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

LL1: ;LL1,LL2之间是发送左/右半的位也就是*16
MOV R6,#8;
MOV R2,#0
;如果要循环结束后,数据显示不乱码,或者跳飞
;在这里插入比较DPTR有没有超过的句子
MOV 70H,DPH
MOV 71H,DPL
LOOP:
CLR P1.6
LCALL Q2
MOV A,R2
MOV P1,A
SETB P1.6
SETB P1.3
INC R2
LCALL DELAY
;;;;;;;;;;;;;;;;;;;;;
;修改部分
;INC DPTR
;INC DPTR
DEC DPTR
DEC DPTR
;;;;;;;;;;;;;;;;;;;;

DJNZ R6,LOOP
LL2:
MOV R6,#8;
MOV R2,#0
LOOP2:
CLR P1.6
LCALL Q2
MOV A,R2
MOV P1,A
SETB P1.6
INC R2
LCALL DELAY
;;;;;;;;;;;;;;;;;;;;;;;;
;修改部分
;INC DPTR
;INC DPTR
DEC DPTR
DEC DPTR
;;;;;;;;;;;;;;;;;;;;;;;;;
DJNZ R6,LOOP2

MOV DPH,70H
MOV DPL,71H
DJNZ R7,LL1

MOV R7,#5
;;;;;;;;;;;;;;;;;;;;;;;;
;修改部分
;INC DPTR
;INC DPTR
DEC DPTR
DEC DPTR
;;;;;;;;;;;;;;;;;;;;;;;;;
LJMP LL1
Q2: ;发送一个字到595
MOV A,#0
MOVC A,@A+DPTR;
MOV SBUF,A;
JNB TI,$
CLR TI
MOV A,#1
MOVC A,@A+DPTR;
MOV SBUF,A;
JNB TI,$
CLR TI
RET
DELAY:
MOV R3,#1
DE1:
MOV R4,#2
DE2:
MOV R5,#250
DE3:
DJNZ R5,DE3
DJNZ R4,DE2
DJNZ R3,DE1
RET
TAB:
DB 30H,08H,36H,1CH ;欢
DB 37H,38H,31H,0E0H
DB 3FH,0E0H,3CH,32H
DB 02H,06H,0EH,0CH
DB 0FCH,18H,0F3H,0F0H
DB 33H,0E0H,30H,30H
DB 3CH,18H,3CH,0CH
DB 00H,04H,00H,00H
DB 06H,02H,66H,06H ; 迎
DB 77H,0FCH,17H,0F8H
DB 00H,0CH,7FH,0E6H
DB 7FH,0E6H,0E0H,46H
DB 0C0H,06H, 7FH,0F6H
DB 7FH,0F6H,60H,46H
DB 7FH,0E6H,7FH,0E6H
DB 00H,06H,00H,00H
;;;;;;;;;;;;;;;;;;;;;;;
;加入这个
TAB_END:
;;;;;;;;;;;;;;;;;;;;;;;;

关于16*16点阵移动的问题?这个设计是利用一片c51,一片74hc154,两片74hc595 ,4片8*8led的汉字显示屏,下面的程序能够实现右向左移动,但就是不知道如何实现从左向右展开和闭合、从上向下展开和闭 点阵电路图点阵是如何画的 点阵一有1个点,点阵二有2个点,点阵三有6个点,点阵四有8个点,点阵五有16个点,依次类推.点阵规律是( ).教我了,教你弄1QB!真的.谢谢 LED点阵汉字显示移动程序小弟有段LED点阵汉字显示程序,主程序基本没什么问题,但是汉字移动程序不知道怎么在主程序上修改编写,希望有朋友能够帮忙编写!下面的回答是我的程序,添加移动 汉字点阵码是一种用黑白两色点阵来表示汉字字形的编码.一个8*8点阵字模的存储容量为?A:1字节 B:8字节 C:16字节 D:64字节 怎样用4个8*8的LED点阵组成一个16*16的点阵呢?具体是怎样连接呢?望高手帮下忙. 存储1000个16×16点阵的汉字字形所需要的存储容量是( )KB. 一个汉字的16×16点阵字形码长度的字节数是?要计算过程. 采用16*16点阵,一个汉字的字型码占存储器的字节数是? 一个汉字的16*16点阵字形码长度的字节数是? 如何用8*8点阵组成16*64点阵 在16*16点阵的字库中,存储一个汉字的点阵需占用住要问一下什么是点阵字库不要发网站,就要答案就行了, 哪位朋友可以帮个忙~单片机课程设计4 4个16*16点阵LED电子显示屏的设计,有谁能用汇编语言实现.也可以用C语言. 1kb可存放16*16点阵汉字的个数 用8*8点阵组16*64点阵该怎么做?现有16块8x8点阵,想把它们组成16x64点阵,占用的I/O口越少越好,该怎么做?最好带电路图. 6×16LED点阵的内部结构及工作原理的问题?以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示.即国家标准汉字库中的每一个字均由256点阵来表示.我们可以把每一个点理解为一个像素, 如下图,有一个六边形点阵,他的中心是一个点,这个为第一层 存储1000个16×l6点阵的汉字字形所需要的存储容量是?怎么算的啊