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

目标

程序启动后,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

诗情画意

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值