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...