单片机汇编语言,求大神解答,单片机汇编语言,求大神帮忙看下程序什么意思

2020-12-10 07:01:07 字数 3874 阅读 9457

1楼:

单片机没有负数,做完运算后正负由c来表示.

单片机汇编语言,求大神帮忙看下程序什么意思

2楼:匿名用户

程序很简单,就是让p1口全高电平一小段时间(执行delay延时子程序所需时间)后,再让p1口全低电平持续20倍的时间,不断重复上述过程。

*** 0000h

start: mov p1,#0ffh ;让p1口全高电平

acall delay ;一小段时间(调用一次delay延时子程序)

mov r2,#14h ;20倍

mov p1,#00h ;再让p1口全低电平

lop: acall delay ;持续20倍的时间(直到r2为零即执行20次delay延时子程序)

djnz r2,lop

sjmp start ;不断重复上述过程

sta delay: mov tmod,#01h ;设置定时器0模式为1模式即16位定时器

mov tl0,#0b0h ;定时器0装入初值15536(即3cb0h)

mov th0,#3ch

setb tr0 ;启动定时器0

loop: jbc tf0,next ;等待定时器0计满溢出(即计数65536-15536=50000次)则清溢出标志并重装初值15536后返回

sjmp loop

retnext: mov tl0,#0b0h;重装初值15536后

mov th0,#3ch

ret ;返回end

3楼:匿名用户

*** 0000h 程序从0000开始存放start: mov p1,#0ffh 向p1端口输出ffacall delay 调用延迟函数,这个延迟函数动过定时器实现的mov r2,#14h 将14传给r2寄存器mov p1,#00h 向p1端口输出00lop: acall delay 延迟一段时间djnz r2,lop 判断r2寄存器是不是不等于0,是的话跳转到lop上

sjmp start 否则直接跳转到start处sta delay: mov tmod,#01h 延迟函数的实现,配置定时器寄存器

mov tl0,#0b0h 配置定时时长mov th0,#3ch

setb tr0 开启定时器

loop: jbc tf0,next 判断定时器是否溢出sjmp loop 不断判断

retnext: mov tl0,#0b0h 重新设置定时器mov th0,#3ch

ret函数返回end

4楼:

p1=ff 1倍的时间

p1=00 20倍的时间 、、14h=20

求单片机汇编语言大神

5楼:匿名用户

内部ram 99h单元copy的内容传送到r6 mov r6,99h

从ram 1234h 地址读取bai值至片du内 ram 55h地址mov dptr,#1234h

movx a,@dptr

mov 55h,a

数据的左移(右移…)等操作zhi

daorr a 循环右移

rl a 循环左移

rrc a 带进位右移

rlc a 带进位左移

6楼:

1、baimov r0,#99h

mov a,@

r0mov r6,a

2、dumov dptr,#1234hmovx a,@dptr

mov 55h,a

3、左zhi

移,dao

专rl和

属rlc

右移,rr和rrc

7楼:匿名用户

哎,这要是在大二我还会,都好几年没用汇编了。

80c51单片机 汇编语言写程序 求大神解答 财富值不够会重金酬谢

8楼:做而论道

楼主的电路,标号,比较模糊。

看不来,和单片机是怎么连接的?

参考下面的:

http://blog.163.***/a**_c/blog/static/24820311320114218330235/

51单片机的4×4键盘识别

准备学51单片机的汇编语言,求大神帮我分析下这段程序各个指令是什么

9楼:匿名用户

程序注释已经很详细了,这里说说功能吧。程序功能很简单,就是当两个键同时按下时,接通电磁铁3毫秒,然后等待键释放,如此循环。

212223单片机汇编语言,书大神

10楼:匿名用户

21没有拍下来

22:(r0)=7fh,(7eh)=00h,(7fh)=41h

23:(a)=8bh,(cy)=0

51单片机源c程序转为汇编语言,求大神,所有的15分都给你们了!!! 15

11楼:匿名用户

你好!居然有怎么多分给!你的c语言程序呢

12楼:做而论道

还不如重新编写一个。

13楼:匿名用户

你要先给出c语言源程序哦

14楼:讲水

逆向成汇编吗? **给我 我有空试试

15楼:匿名用户

邮箱justko@foxmail.***

c51单片机汇编语言程序高手求救!

16楼:做而论道

;mov r0, #0

mov r1, #0

mov r2, #8

lop:

rlc a

jc lll ;为1转移inc r0 ;0的个数加一sjmp next

lll:

inc r1 ;1的个数加一next:

djnz r2, lopend

51单片机汇编语言的理解,坐等,求高手!!

17楼:匿名用户

mov 30h,#250这条指令,是3字节、2周期指令,机器码是:75 30 fa

先取指,再执行。

在第一个机器周期取到指令的前两个字节** 75 30,在第二个机器周期的前半周期取到指令的第三个字节** fa(250),第二个机器周期的后半周期执行该指令的操作,即将立即数250传送到30h单元。

按上述过程可以得知:是先取立即数 250(取指时得到了),再寻址到 30h,将立即数放进去。

18楼:做而论道

mov 30h,#250这条指令,其机器码是三个字节:75 30 fa。

执行时间是两个机器周期。

按照 pc 的顺序,是先寻址 30h,再取立即数 250。

其实,这个知识,知道、不知道,都是无所谓的。

19楼:匿名用户

可以这么理解:#250立即数是在指令中的,不用寻址了,读出指令就有立即数了,而寻址是要寻找那内部ram的30h单元地址了,肯定要先寻址,找到30h单元后再送立即数啦。

20楼:生活如歌

#250这个立即数随指令一起读出来,然后送到30h单元。

求大神详细解释每一句汇编语言的意思"l1push"cx

1楼 匿名用户 l1 push cx cx的值压入堆栈保存,它的数值表示总共画多少行 mov cx 300 cx 300,意思是循环300次,在屏幕上每行画出300个点 l2 mov ah 0ch ah 0ch,int10h的0c号功能是写一个像素点 mov al 12 al 12 ,表示颜色 in...