单片机仿真指示灯开关控制器


目标

程序启动后, 8 只发光二极管先整体闪烁 3 次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行软件编程原理为:

  1. 8 只发光二极管整体闪烁 3 次亮灯:向 P2 口送入数值 0;灭灯:向 P2 口送人数值 0FFH ;闪烁 3 次:循环 3 次;闪烁快慢:由软件延时时间决定。
  2. 根据开关状态控制灯亮或灯灭开关控制灯:将 P3 口(即开关状态)内容送入 P2 口;无限持续:无条件循环。

所需芯片

  1. AT89C51
  2. CAP
  3. CAP-ELEC
  4. CRYSTAL
  5. LED-RED
  6. RES
  7. SWITCH

开始动手

流程图

流程图

仿真图

仿真图

源码

汇编

    ORG     0000H
    LJMP    START

    ORG     0030H
START:
    MOV     R5, #3
SUBROUTINE:
    MOV     P2, #0
    LCALL   DELAY
    MOV     P2, #0FFH
    LCALL   DELAY
    DJNZ    R5, SUBROUTINE
DLOOP:
    MOV     P2, P3
    LJMP    DLOOP

;延时子程序,延时100毫秒
DELAY:
    MOV     R0, #100
D1:
    MOV     R1, #50
D2:
    MOV     R2, #25
    DJNZ    R2, $
    DJNZ    R1, D2
    DJNZ    R0, D1
    RET
END

C语言代码比较简单,就不写了。

仿真结果

仿真gif

诗情画意

龟虽寿
曹操
神龟虽寿,犹有竟时。
腾蛇乘雾,终为土灰。
老骥伏枥,志在千里。
烈士暮年,壮心不已。
盈缩之期,不但在天;
养怡之福,可得永年。
幸甚至哉,歌以咏志。


文章作者: incipe
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 incipe !
评论
 上一篇
电脑网卡是否支持5Ghz频段 电脑网卡是否支持5Ghz频段
win + r 键入 netsh wlan show drivers 可查看网卡支持的无线电类型 1)802.11b、802.11g只支持2.4GHz2)802.11a、802.11ac支持5GHz3)802.11n 采用了多重输入/输
2020-05-15
下一篇 
单片机仿真指示灯数码管的中断控制 单片机仿真指示灯数码管的中断控制
目标在编程软件的配合下,要求实现如下功能: 程序启动后,D处于熄灯、LED1处于黑屏状态;单击K1,可使D亮灯状态反转一次;单击K2,可使LED1显示值加1,并按十六进制数显示,达到F后重新从1开始。 所需芯片 AT89C51 CAP
2020-05-14
  目录