51测试网 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 论坛

51测试网(深圳学林电子有限公司)从0开始来学单片机...入门教程

前言:单片机是一门实践性非常强的学科,为此我们突破传统思路,全面围绕单片机试验,从简单的流水灯开始, 逐步的带领大家从这些简单的几行或者10几行的程序,来熟悉和理解单片机的指令......未经允许禁止转载!如需转载,请著名出处,并保留网站联接!

子程序的嵌套

;知识要点:熟悉子程序的嵌套

;r0送20,开始为0,然后每次加1,到20后停止:注意闪烁是取反2次

;所以取反20次为闪烁10次

     ORG 0000H

        LJMP MAIN

        ORG 030H

MAIN:   MOV R0,#0;最开始为0

        MOV a,#0ffH;;a送ff,全部不亮

       loop: cpl a ;  取反a(变为00h,全部亮)

          mov p1,a;输出到p1

          acall del;调用延时以便观察

          cjne r0,#20,loop;如果海没有到20则继续

         sjmp $;否则原地等待结束

DEL:    MOV R7,#01FH;延时子程序

DEL1:   MOV R6,#0fFH

DEL2:   MOV R5,#08H

DEL3:   DJNZ R5,DEL3

        DJNZ R6,DEL2

        DJNZ R7,DEL1

           inc r0;;每调用一次子程序r0加1

        RET

        END 

程序在倚天版运行的状态p1口灯全亮

程序在倚天版运行的状态闪烁10次后停止