目标
程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行软件编程原理为:
8只发光二极管整体闪烁3次亮灯:向P2口送入数值0;灭灯:向P2口送人数值0FFH;闪烁3次:循环3次;闪烁快慢:由软件延时时间决定。根据开关状态控制灯亮或灯灭开关控制灯:将P3口(即开关状态)内容送入P2口;无限持续:无条件循环。
所需芯片
AT89C51CAPCAP-ELECCRYSTALLED-REDRESSWITCH开始动手
流程图
仿真图
源码
汇编
ORG0000HLJMP STARTORG0030HSTART:MOVR5, #3SUBROUTINE:MOVP2, #0LCALL DELAYMOVP2, #0FFHLCALL DELAYDJNZ R5, SUBROUTINEDLOOP:MOVP2, P3LJMP DLOOP;延时子程序,延时100毫秒DELAY:MOVR0, #100D1:MOVR1, #50D2:MOVR2, #25DJNZ R2, $DJNZ R1, D2DJNZ R0, D1RETEND
C语言代码比较简单,就不写了。
仿真结果
诗情画意
龟虽寿曹操神龟虽寿,犹有竟时。腾蛇乘雾,终为土灰。老骥伏枥,志在千里。烈士暮年,壮心不已。盈缩之期,不但在天;养怡之福,可得永年。幸甚至哉,歌以咏志。