51汇编学习

51汇编学习

参考

  • 汇编教程http://www.51hei.com/mcuteach/252.html
  • 汇编指令集查询http://www.51hei.com/mcu/2972.html http://wenku.baidu.com/link?url=6ts7NuJosrL9wM2NoBWnlqrrZPqR_9JZwGzhy-GyyuVDVF15d_kRbYU2lgfcNI1FfvxcOg7tF4DLcoFXXSfu4RwHlyFPBqvr1UFmdKEo6TC

基础指令

  • 操作引脚
    一起操作:
MOV P1,#0FFH
MOV P1,#000H
#0**H 中间填上你需要的数字,H代表HEX

单独操作:

SETB P1.0
CLR P1.0
  • MOV
MOV R7,#250
将250装进R7

循环

LOOP: SETB P1.0
AJMP LOOP

延时函数

DELAY:   
    MOV R7,#250   
    D1:   
        MOV R6,#250     
        D2:   
            DJNZ R6,D2     
        DJNZ R7,D1          
RET               

分析:DJNZ R6,D2为将R6每次-1,然后判断是否为0,如果不等于0的话,跳转到D2处。

  1. 将R7=250
  2. 设置标号D1
  3. 将R6=250
  4. R6-1执行250次
  5. R7-1,如果R7!=0,回到D1继续循环
  6. 共执行了250*250次

左移

MOV A,#001H

LOOP: 
    MOV P2,A
    RL  A
    LCALL DELAY      
AJMP LOOP  

你可能感兴趣的:(51汇编学习)