关于16*16点阵移动的问题?

这个设计是利用一片c51,一片74hc154,两片74hc595,4片8*8led的汉字显示屏,下面的程序能够实现右向左移动,但就是不知道如何实现从左向右展开和闭合、从上... 这个设计是利用一片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
电路图如下:
展开
 我来答
百度网友0ad5d59
2009-03-09
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
;你这个代码本身有问题,在整个左移动循环结束后,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:
;;;;;;;;;;;;;;;;;;;;;;;;
漠映分327
2009-03-05
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
看不懂,祝你成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万秋白SY
2009-03-05
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
看不懂!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式