“MOV P1,#08H;取1B”怎么取1B?程序里涉及P1的指令都不怎么明白,要结合硬件连接图来理解么?谢谢
答案:3 悬赏:0 手机版
解决时间 2021-11-19 11:28
- 提问者网友:绫月
- 2021-11-18 17:29
“MOV P1,#08H;取1B”怎么取1B?程序里涉及P1的指令都不怎么明白,要结合硬件连接图来理解么?谢谢
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-11-18 18:14
程序中,指令和后面的文字说明,错位了一行。
看起来,就是文不对题。
修改一下,这些说明,看起来,就比较合理了:
ORG 1000H
MOV R0, #30H ; 指向显示缓冲区
MOV R2, #04 ; 显示字节数
MOV P1, #08H ; 初始显示位置(最高位)
SDLAY:
MOV A, @R0 ; 取1字节
MOV B, A ; 备份
ANL A, #0F0H ; 截取字节高位
ORL P1, A ; 装入P1.4—P1.7
INC P1 ; 准备显示右一位
MOV A, B ; 取备份
SWAP A ;
ANL A, #0F0H ; 截取字节低位
ORL P1, A ; 装入并显示
INC P1
INC R0 ; 准备显示下一字节
DJNZ R2, SDLAY ; 4字节未显示完则循环
RET ; 显示完成
END
但是,此程序,对 P1 的处理,是有错的。
正确的程序,还是要看电路图,才能编写。追问恩恩,我已经知道问题在哪里了得,但是还是要谢谢你呵呵~
看起来,就是文不对题。
修改一下,这些说明,看起来,就比较合理了:
ORG 1000H
MOV R0, #30H ; 指向显示缓冲区
MOV R2, #04 ; 显示字节数
MOV P1, #08H ; 初始显示位置(最高位)
SDLAY:
MOV A, @R0 ; 取1字节
MOV B, A ; 备份
ANL A, #0F0H ; 截取字节高位
ORL P1, A ; 装入P1.4—P1.7
INC P1 ; 准备显示右一位
MOV A, B ; 取备份
SWAP A ;
ANL A, #0F0H ; 截取字节低位
ORL P1, A ; 装入并显示
INC P1
INC R0 ; 准备显示下一字节
DJNZ R2, SDLAY ; 4字节未显示完则循环
RET ; 显示完成
END
但是,此程序,对 P1 的处理,是有错的。
正确的程序,还是要看电路图,才能编写。追问恩恩,我已经知道问题在哪里了得,但是还是要谢谢你呵呵~
全部回答
- 1楼网友:琴狂剑也妄
- 2021-11-18 19:10
MOV 30H,#0x01
- 2楼网友:长青诗
- 2021-11-18 19:03
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一... 10H即定时常数。 4•实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯