51单片机-汇编系列讲解-最强攻略
我的学记|刘航宇的博客

51单片机-汇编系列讲解-最强攻略

刘航宇
4年前发布 /正在检测是否收录...
温馨提示:
本文最后更新于2021年07月14日,已超过1319天没有更新,若内容或图片失效,请留言反馈。

视频讲解

或者哔哩哔哩观看
https://www.bilibili.com/video/BV1fv411G7VU/

例1 已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。下列程序执行后:

POP DPH
POP DPL
MOV DPTR,#3000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH ACC
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH ACC
RET
ORG 3000H
DB 10H,80H,30H,50H,30H,50H

解答:

POP DPH ; (42H)赋值给DPH,这个关系一直存在,知道程序结束。 SP= 41 H,
POP DPL ;(41H)赋值给DPL,SP=40H
MOV DPTR,#3000H ;DPTR=#3000H
RL A ;A=02H ;16进制左移一位,先化为二进制过程更明显。
MOV B,A ;B=02H
MOVC A,@A+DPTR ;查表得A=30H , 是从00H开始 查表的。
PUSH ACC ;将A 中的值赋值给,上一个空出位41H,(41H)=DPL 。 因为SP指针指向的栈 ,是有值的, 只有比他高的地址是空的。如指向(01H),那么(01H)中有值,(02H),(03H)….. 中没值。SP=41H,(41H)=#30H=DHL
MOV A,B ;A=02H
INC A ;A=03H
MOVC A,@A+DPTR ;查表A=50H
PUSH ACC ;将A 的值赋给再上一个空位,(42H)=50H=DPH 。
RET ;子程序结束!RET指令弹出断点位置即SP最近两字节数据SP=SP-2=40H,PC=5030(大端对齐)
ORG 3000H
DB 10H,80H,30H,50H,30H,50H

例2 P1.7=ACC.0×(B.0+P2.1)+(P3.2)非

MOV C, B.0
ORL C, P2.1
ANL C, ACC.0
ORL C, /P3.2
MOV P1.7, C
END

例3 一台主机与三台从机通信

例4 将片外数据存储器4004H、5005H、6006H单元的内容交换(16位交换)

POP DPH
POP DPL
mov dptr,#4004h
clr a
movx a,@dptr
push acc
mov dptr,#5005h
clr a
movx a,@dptr
mov b,a
pop acc
movx @dptr,a
mov dptr,#4004h
mov a,b
movx @dptr,a
mov dptr,#5005h
clr a
movx a,@dptr
push acc
mov dptr,#6006h
clr a
movx a,@dptr
mov b,a
pop acc
movx @dptr,a
mov dptr,#5005h
mov a,b
movx @dptr,a

例5 51单片机DAC0832各种波形程序

程序:

请勿标注电阻大小

图片[1] - 51单片机-汇编系列讲解-最强攻略 - 我的学记|刘航宇的博客

例6 如果考12MHZ单片机机器周期,切记不是1/12M,而是要先12分频,这个51单片机特点,频率是12M/12=1M,周期1/1M=1us

© 版权声明
THE END
喜欢就支持一下吧
点赞 14 分享 赞赏
评论 共47条
取消
  1. 头像
    嘿嘿
     · 
    回复

    厉害

  2. 头像
    娃哈哈
     · 
    回复

    厉害

  3. 头像
    gychen
     · 
    回复

    很棒,学习汇编对学习单片机用处大吗?

    1. 头像
      刘航宇 作者
       · 
      回复

      @gychen

      用处已经不大了,现在单片机编程主流是C语言

  4. 头像
    西西
     · 
    回复

    1

  5. 头像
    西西
     · 
    回复

    1

  6. 头像
    1
     · 
    回复

    1

  7. 头像
    星夏
     · 
    回复

    牛啊

  8. 头像
    学习
     · 
    回复

  9. 头像
    zz
     · 
    回复

    66

  10. 头像
    朱儿子
     · 
    回复

  11. 头像
    22
     · 
    回复

    牛蛙牛蛙

  12. 头像
    朱红斌
     · 
    回复

  13. 头像
    万欢
     · 
    回复

  14. 头像
    123
     · 
    回复

    6

  15. 头像
    丢丢
     · 
    回复