电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

调试通过的灯闪程序

来源:-- 作者:-- 浏览:360

标签:

摘要: 先是让第一个灯闪的程序: start: SETB P0.0;(1)是让灯灭 LCALL DELAY;(2)是延时,调用延时子程序指令 CLR P0.0;(3)是让灯亮 LCALL DE

先是让第一个灯闪的程序:

start: SETB P0.0;(1)是让灯灭
       LCALL DELAY;(2)是延时,调用延时子程序指令
       CLR P0.0;(3)是让灯亮
       LCALL DELAY;(4)和第二条一模一样,也是调用延时子程序指令

 

       LJMP start;(5)跳转回去执行第一条指令
DELAY: MOV R7,#250;(6)让R7作为计数器,并装入一个常数
D1:    MOV R6,#250;(7)让R6作为计数器,并装入一个常数
D2:    DJNZ R6,D2;(8)让R6减1,并判断R6是否为0。若R6为0,向下执行指令。若R6不为0,跳转D2,继续让R6减1。
 DJNZ R7,D1;(9)让R7减1,并判断R7是否为0。若R7为0,向下执行指令。若R7不为0,跳转D1,使R6完成新一轮计数。
 RET;(10)返回指令。
 END;(11)程序结束

再是挨着闪的程序:

;------------------主程序------------------
START: CLR     P0.0;P0.0输出低电平,使LED1点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.0;P0.0输出高电平,使LED1熄灭
       CLR     P0.1;P0.1输出低电平,使LED2点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.1;P0.1输出高电平,使LED2熄灭
       CLR     P0.2;P0.2输出低电平,使LED3点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.2;P0.2输出高电平,使LED3熄灭
       CLR     P0.3;P0.3输出低电平,使LED4点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.3;P0.3输出高电平,使LED4熄灭
       CLR     P0.4;P0.4输出低电平,使LED5点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.4;P0.4输出高电平,使LED5熄灭
       CLR     P0.5;P0.5输出低电平,使LED6点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.5;P0.5输出高电平,使LED6熄灭
       CLR     P0.6;P0.6输出低电平,使LED7点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.6;P0.6输出高电平,使LED7熄灭
       CLR     P0.7;P0.7输出低电平,使LED8点亮
       ACALL   DELAY;调用延时子程序
       SETB    P0.7;P0.7输出高电平,使LED8熄灭
       ACALL   DELAY;调用延时子程序
       AJMP    START;八个灯一次亮了后返回开头再次循环
       ;------延时子程序-------
DELAY: MOV     R0,#255;R0装入255
D1:    MOV     R1,#255;R1装入255
       DJNZ    R1,$;使R1自减为零后执行下一句指令
       DJNZ    R0,D1;R0自减1,如果为零执行下一句指令,如果不为零,跳转D1
       RET;子程序返回
;==============================================================================;
 END;程序结束

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67