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
处。
- 将R7=250
- 设置标号D1
- 将R6=250
- R6-1执行250次
- R7-1,如果R7!=0,回到D1继续循环
- 共执行了250*250次
左移
MOV A,#001H
LOOP:
MOV P2,A
RL A
LCALL DELAY
AJMP LOOP