本文档详细介绍了基于C51单片机的节日彩灯控制系统的设计过程。包括硬件电路图、软件编程及系统调试等环节,旨在通过实际案例教授学生如何运用单片机技术实现智能化照明效果。
C51单片机节日彩灯的程序设计采用汇编语言编写,要求用单片机控制8只小彩灯(发光二极管),使这些灯光按照特定模式亮灭。
具体操作如下:
- 第一秒,D1和D3点亮,其余熄灭;
- 第二秒,D2和D4点亮,其余熄灭;
- 第三秒,D5和D7点亮,其余熄灭;
- 第五秒,D1、D3、D5、D7同时亮起, 其余关闭;
- 第六秒, D2、D4、D6 以及 D8 同时点亮, 其他全部关闭;
- 第七秒所有灯全亮;
- 第八秒所有灯熄灭。
此模式将重复循环。
程序设计如下:
```assembly
ORG 0000H
LED: MOV P1,#0FAH ; 熄灭D2、D4、D6和D8,点亮其他四个发光二极管(假设低电平为亮)
CALL DELAY1S ; 延迟一秒
MOV P1,#0F5H ; 点亮 D2 和 D4, 其余熄灭
CALL DELAY1S
MOV P1,#0AH ; 熄灭D3和D7,点亮其他四个发光二极管
CALL DELAY1S
MOV P1,#0AAH ; 同时点亮 D1、D3、D5 和 D7
CALL DELAY1S
MOV P1,#55H ; 亮起所有偶数位置的灯 (即 D2, D4, D6, D8)
CALL DELAY1S
MOV P1,#00H ; 所有发光二极管熄灭
CALL DELAY1S
MOV P1,#0FFH ; 同时点亮所有的发光二级管(低电平亮)
CALL DELAY1S
LJMP LED ; 无限循环,回到LED指令
DELAY1S:
MOV R3,#200 ; 延迟子程序
D2:
MOV R4,#100
D1:
MOV R5,#25
DJNZ R5,$
DJNZ R4,D1
DJNZ R3,D2
RET ;
END
```
电路图和元器件清单如下:
- 电阻:220Ω,共9个;
- 电阻:10K, 共一个;
- 点解电容: 10μF, 共一;
- 瓷片电容: 30pF, 共两个;
- 发光二极管 (LED): Φ3MM,共8个;
- 晶振:12MHz,一个;
- 单片机芯片:AT89S51,一块;
- 万能电路板:尺寸为15*17cm, 共一;
- 紧锁座 (IC插座) :DIP40脚封装的,共一只;
- 常开触点开关: 一个。