单片机汇编语言8乘8点阵从上到下显示修改成从左到右显示 50

单片机汇编语言8乘8点阵从上到下显示修改成从左到右显示;用8255的PA、PC口做LED8*8点阵显示实验A8255_PAXDATA0FF00H;8255的A0、A1接总... 单片机汇编语言8乘8点阵从上到下显示修改成从左到右显示;用8255的PA、PC口做LED8*8点阵显示实验
A8255_PAXDATA0FF00H;8255的A0、A1接总线的A0、A1
A8255_PBXDATA0FF01H
A8255_PCXDATA0FF02H
A8255_CTLXDATA0FF03H
ROWXDATAA8255_PA;列线
LINEXDATAA8255_PC;行线
ORG0000H
AJMPSTART
ORG0100H
START:MOVSP,#60H
CALLINIT_IO
CALLTEST_LED;调用测试子程序,测试LED是否全亮
CALLCLEAR
;滚动显示多个字符
CHS_SHOW:MOVR7,#12H;显示13H个字符
MOVDPTR,#CHAR_TAB
CHS_1:MOVR1,#8;移动16次
CHS_2:ACALLDISP_CH;显示一桢
INCDPTR
DJNZR1,CHS_2
DJNZR7,CHS_1
SJMPCHS_SHOW
;显示一个16*16点阵字子程序,字型码放在DPTR指出的地址,显示时间为20*R7MS
DISP_CH:PUSH07H
MOVR7,#10H;08H
DISP_CH_1:ACALLDISP1
DJNZR7,DISP_CH_1
POP07H
RET
;显示一个8*8点阵字子程序,字型码放在显示缓冲区XBUFF
DISP1:PUSHDPL
PUSHDPH
MOVR6,#8;计数器,8列依次被扫描
MOVR2,#7FH;FEH;列输出值
REPEAT:MOVP2,#HIGH(LINE)
MOVR0,#LOW(LINE)
MOVA,R2
MOVX@R0,A;列输出
CLRA
MOVCA,@A+DPTR
INCDPTR
ACALLADJUST;调整A,将A中二进制数旋转180度
MOVR0,#LOW(ROW)
MOVX@R0,A;左边行输出
ACALLDL10ms
ACALLCLEAR
SETBC;循环移位R2,行线扫描输出0
MOVA,R2
RRCA;RLCA
MOVR2,A
DJNZR6,REPEAT
POPDPH
POPDPL
RET
;8155和8255初始化
INIT_IO:MOVDPTR,#A8255_CTL;8255控制字地址
MOVA,#80H;设置8255的PA、PB、PC口为输出口
MOVX@DPTR,A;写控制字
RET
CLEAR:MOVA,#0FFH
MOVP2,#HIGH(LINE)
MOVR0,#LOW(LINE)
MOVX@R0,A
CLRA
MOVR0,#LOW(ROW)
MOVX@R0,A
RET
;调整A中取到的字型码的一个字节,将最高位调整位最低位,最低位调整为最高位
ADJUST:MOVR5,#8;循环移位8次实现
ADJUST1:RLCA
XCHA,B
RRCA
XCHA,B
DJNZR5,ADJUST1
MOVA,B
RET
;测试LED子程序,点亮LED并延时1S
TEST_LED:MOVDPTR,#LINE
CLRA
MOVX@DPTR,A
MOVDPTR,#ROW
MOVA,#0FFH
MOVR0,#LOW(ROW)
MOVX@R0,A;左边行输出
ACALLDL10ms
ACALLCLEAR
SETBC;循环移位R2,行线扫描输出0
MOVA,R2
RRCA;RLCA
MOVR2,A
DJNZR6,REPEAT
POPDPH
POPDPL
RET
;8155和8255初始化
INIT_IO:MOVDPTR,#A8255_CTL;8255控制字地址
MOVA,#80H;设置8255的P
展开
 我来答
无畏无知者

2018-07-15 · TA获得超过4.5万个赞
知道大有可为答主
回答量:2.1万
采纳率:86%
帮助的人:5150万
展开全部

对于点阵显示来说,是从上到下显示还是从左到右显示,还得看待显示的字符的点阵数据是如何排列的;

1)如采用从左到右从上到下的排列结构形式,那么显示方式就如

则列(PA口)输出8位数据,而行(PC口)则仅输出与要显示行对应的位数据;

2)如采用从上到下从左到右的排列结构形式,那么显示方式就如

则行(PC口)输出8位数据,而列(PA口)则仅输出与要显示行对应的位数据;

如果字符的点阵数据是第一种结构的,想要采用第二种显示形式,就需要先把字符的点阵数据进行数据格式的转换。

总是爱问知识人
2018-07-14 · TA获得超过289个赞
知道小有建树答主
回答量:287
采纳率:58%
帮助的人:37万
展开全部
为什么要用汇编语言写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式