自动控制网移动版

自动控制网 > 自动化 > 单片机 >

单片机汇编程序设计

1. 简单程序设计

简单程序又称顺序程序。这种程序的形式最简单,计算机执行程序的方式是“从头到尾”,逐条执行指令语句,直到程序结束,除非用特殊指令让它跳转,不然它会在PC控制下执行。这是程序的最基本形式,任何程序都离不开这种形式。

例1:编写1+2的程序

ORG   0000H

MOV  30H, #02

MOV  A, #01

ADD  A, 30H

END

2.  分支程序设计

在处理实际事务中,只用简单程序设计的方法是不够的。因为大部分程序总包含有判断、比较等情况,这就需要分支程序。分支程序是利用条件转移指令,使程序执行到某一指令后,根据条件(即上面运行的情况)是否满足,来改变程序执行的持续。下面举两个分支程序的例子。

例2:求单字节有符号二进制数的补码。

       ORG   0000H 

CMPT:JNB  ACC.7,  NCH   ; (A)>0,不需转换。 

CPL    A    

ADD   A, #1  

SETB  ACC.7      ; 保存符号。

NCH:RET

          END  

3.  循环程序设计

在程序设计中,有时会遇到多次重复处理的问题,这就需要下面讲的循环程序来完成。循环程序是强制CPU重复执行某一指令系列(程序段)的一种程序结构形式,凡是要重复执行的程序段都可以按循环结构设计。

循环程序一般由五部分组成:

(1)初始化部分:为循环程序做准备。如:设置循环次数计数器的初值,地址指针置初值,为循环变量赋初值等。

(2)处理部分:为反复执行的程序段,是循环程序的实体。

(3)修改部分:每执行一次循环体后,对指针作一次修改,使指针指向下一数据所在位置,为进入下一轮处理做准备。

(4)控制部分:根据循环次数计数器的状态或循环条件,检查循环是否能继续进行,若循环次数到或循环条件不满足,应控制退出循环,否则继续循环。

通常2、3、4部分又称为循环体。

(5)结束部分:分析及存放执行结果。

例如:设有50个外部RAM单元要清“0”,即为循环次数存放在R2寄存器中,其首址存放在DPTR中,设为2000H。                  

程序如下:

         ORG   0000H

         MOV   DPTR, #2000H                           

CLEAR: CLR   A

     MOV   R2, #32H      ; 置计数值。

LOOP:  MOVX  @DPTR, A

     INC    DPTR           ; 修改地址指针

     DJNZ   R2, LOOP     ; 控制循环

     END

    本文已影响
    最近关注
    0基础免费学PLC,扫描观看

    扫描上方二维码免费观看PLC视频课程