5. 汇编程序
5.1. 基本的编程示例
例子中的8051单片机汇编程序。
的E - 1。计数器在0累加器从十六进制99
NAME CONTADOR_HEX
ORG 0
INICIO: MOV A,#0
REPETIR: INC A
CJNE A,#99,REPETIR
END

流程图的十六进制计数器。
E - 2中。计数器在0累加器从BCD码到99
NAME CONTADOR_BCD
ORG 0
INICIO: MOV A,#0
REPETIR: ADD A,#1
DA A
CJNE A,#99,REPETIR
END

流程图BCD码十进制计数器。
E-3。在蓄能器 1 位右手旋转。
名称 ROTACION_ACUMULADOR <br/> <br/> 0 组织结构图 < br / >< br / > 首页: #1 MOV A < br / > 重复: RR 到 < br / > 就业选配计划 重复 < br / > < br / > 结束
E-4。由 256 说明 DJNZ 程序延迟。
由程序的拖延时间 并没有一个固定的值,取决于循环 (使用的机器周期) 和微处理器 (CPU) 时钟速度的部分的说明.
对于此问题的示例,循环 DJNZ 指令,需要两个周期执行的机器上执行的。每个机器周期使用 12 小时周期。如果 CPU 频率是 12 MHz,用于执行 256 迭代所需的时间是 512 μ s (微秒)。

NAME RETARDO_1
ORG 0
INICIO: MOV R0,#0FFH
RET1: DJNZ R0,RET1
结束

流程图一按方案计时器。
é - 5。嵌套的软件延时三寄存器R0,R1和R2。
为了使软件随着时间的拖延大于第二个有跟循环嵌套。图中显示了寄存器R0,R1和R2的嵌套循环。在这个系统中,每个R1的递减的寄存器,寄存器R0是递减256倍,每R2的减少,R1已作出256次迭代,所以最终结果是2 ^ 24 = 16777216迭代。由此产生的时间大约33.554432秒,根据以往的情况为例,概述了研究。

确定时间必须更改位,代表最重要的值对应到R2。
浪费了CPU的时序延迟或软件的计算能力才有意义的微处理器已经服务只是一个过程。正常工作是使用定时任务定时器和中断,并给其他进程的CPU免费。
NAME RETARDO_2
ORG 0
RETARDO: MOV R2,#0FFH
RET3: MOV R1,#0FFH
RET2: MOV R0,#0FFH
RET1: DJNZ R0,RET1
DJNZ R1,RET2
DJNZ R2,RET3
END

流程图与三个记录软件定时器。