1 引言
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。
2 设计原理
2.1 MCS51
引脚说明
MCS单片机都采用40引脚的双列直插封装方式。图1为引脚排列图, 40条引脚说明如下:
(1)主电源引脚Vss和Vcc
① Vss接地
② Vcc正常操作时为+5伏电源
(2)外接晶振引脚XTAL1和XTAL2
① XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。
② XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。
4 软件设计
4.1 流程图

4.2 源程序
ORG 0000H ;中断入口程序;
LJMP START
ORG 0003H
RETI
ORG 000BH
RETI
ORG 0013H
RETI
ORG 001BH
RETI
CLEAR: RET; ; 初始化程序
;START:ACALL CLEAR ; 主 程 序
STAR1:MOV P3,#0FFH
JNB P3.2,FUN2
JNB P3.3,FUN3 ;关闭按纽
JNB P3.4,FUN0
JNB P3.5,FUN1
JNB F0,STAR1 ;曾经有键按下F0置1
RET;
FUN0:LCALL DL10MS ;消除抖动
JB P3.4,STAR1
WAITL0:JNB P3.4,WAITL0 ;等待键释放
SETB F0
FUN01:LCALL FUN00
LCALL STAR1
LJMP FUN01;
FUN1:LCALL DL10MS ;消除抖动
JB P3.5,STAR1
WAITL1:JNB P3.5,WAITL1 ;等待键释放
SETB F0
FUN10:LCALL FUN11
LCALL STAR1
LJMP FUN10;
FUN2:LCALL DL10MS ;消除抖动
JB P3.2,STAR1
WAITL2:JNB P3.2,WAITL2 ;等待键释放
SETB F0
FUN20:LCALL FUN22
LCALL STAR1
LJMP FUN20;
FUN3:LCALL DL10MS ;消除抖动
JB P3.3,STAR1
WAITL3:JNB P3.3,WAITL3 ;等待键释放
CLR F0
MOV P1,#0FFH ;关显示
LJMP STAR1;
FUN00:MOV A,#0FEH ;从P1.0到P1.7移动点亮
FUN000:MOV P0,A
LCALL DL05S
JNB ACC.7,OUT
RL A
AJMP FUN000
OUT: RET;
FUN11:MOV A,#0FEH ;从P1.0到P1.7依次点亮
FUN111:MOV P1,A
LCALL DL05S
JZ OUT
RL A
ANL A,P1
AJMP FUN111;
FUN22:MOV A,#0FEH ;间隔点亮
FUN222:MOV P1,A
LCALL DL01S
CPL A
RL A
MOV P1,A
LCALL DL01S
RET;
FUN33: MOV A,#01H ;逐点熄灭
FUN333: MOV P1,A
LCALL DL01S
JNZ OUT
RL A
ORL A,P1
AJMP FUN333
DL01S:MOV R2,#0FFH ; 延时程序
MOV R7,#02H
LOOP1: DJNZ R2,LOOP1
LOOP5:DJNZ R7,DL512
RET
DL10MS:MOV R3,#14H
LOOP2: LCALL DL512
DJNZ R3,LOOP2
RET
DL05S:MOV R4,#0AH
LOOP3: LCALL DL10MS
DJNZ R4,LOOP3
RET
DL30S:MOV R5,#03H
LOOP4:LCALL DL05S
DJNZ R5,LOOP4
RET
END
4.2一秒钟定时程序
MOV B,#0AH ;允许中断
MOV TMOD,#01H ;工作方式1
MOV TH0,#0B0H
MOV TL0,#3CH
SETB TR0 ;启动计数
SETB EA ;开中断
BU:JBC TF0,SHI
SJMP BU
SHI:MOV TH0,#3CH
MOV TL0,#0B0H
RET
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114955 人正在系统学习中 相关资源:c#编写的鸡兔同笼程序
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!