基于89c51单片机控制的LED音乐彩灯控制器的设计

基于89c51单片机控制的LED音乐彩灯控制器的设计
基于89c51单片机控制的LED音乐彩灯控制器的设计

基于89c51单片机控制的LED音乐彩灯控制器的设计

随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,便宜的造价以及简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建础物已经成为一种时尚。但目前市场上各种各样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性……

本方案提出一种基于8951单片机的彩灯控制方案,实现对LED 彩灯的控制。本方案以8951单片机作为主控核心,在主控模块上设有3个按键和8个LED显示灯,根据需要可以编写若干种亮灯模式,利用其部定时器T0实现一个基本单位时间为1ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。与普通LED彩灯相比,具有体积小、价格低、功耗低等优点。

2系统功能

LED彩灯用软件控制硬件的方式来控制彩灯闪烁,即彩灯控制器和管LED模块。彩灯采用8951提供+5V电压工作,经过电源变换,输出直流工作电压,一方面为管LED模块提供+5V工作电源,另一方面为主控模块单片机系统彩灯控制器提供5V工作电源。整个系统工作由软件程序控制运行,根据需要用户可以在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。

上电后系统经过初始化,查询是否有功能切换键按下:有,则进入设定模式状态;无,则进入默认工作状态。在设定模式状态下,可以根据个人爱好及不同场合的需要来指定调用哪种模式,并且可以改变每种模式的时间T1、频率F1参数,在工作状态下,LED彩灯控制器按照程序设定好的若干亮灯花样模式程序顺序调用往下走,开始工作,依次8个等亮完为一个亮灯周期,然后再回主循环继续工作,同样如果想进入其它设定模式状态,只需按下功能切换键即可。整个3种亮灯模式时间可以看作一个大周期T,对于每一个模式编写一个独立工作子程序,其中设定了从左到右点亮LED,从右到左点亮LED,还有自己定义的LED 点亮方式。

因此在LED彩灯上电工作后,可以方便地通过主控模块上的显示器指定LED彩灯当前工作模块,工作时间Ti,频率Fi等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,可以通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti,以便符合实际需要。此外如果对某一种模式感兴趣需要仔细观看该种亮灯模式,可以让程序循环。

硬件设计

LED彩灯系统包括,即LED彩灯控制器(8951主控模块),LED彩灯在8951外部接一个震荡时钟频率。用8951的控制器,具有按键、显示等功能,并利用8951的P0口的8个输出端上面焊有8个LED彩灯,使用彩灯在软件的控制下工作。

主控模块电路设计

主控模块电路如图1所示。主控模块主要设计器件有89C51,8个LED显示器,3个开关按键,1个稳压器(5V电压),1个外部晶振振荡器信号输出驱动,4个电阻。通过软件设计,使单片机P0口作为三色LED驱动信号输出口及移位时钟CLOCK信号,8951的P0为LED的输出口。

软件设计

LED彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主程序和中断服务子程序。上电后在按键控制灯的闪烁方式,通过软件来控制循环,以一个单位实际1ms的T0定时为中断服务子程序。在这个1ms的T0定时基础上,可以根据需要来确定各种模式工作时间Ti,以及确定在各种亮灯点亮和熄灭各种状态LED灯等。整个系

统软件由程序、各种模式子程序、1ms中断服务子程序、调用循环程序组成。利用T0定时器作为定时基本单位,根据模式需要计算好各控制信号的发生时刻,根据移位触发的翻转时刻步调一致,使LED彩灯按照设计的模式工作。

除了T0定时中断之外,程序的大部分时间是在处理按键的查询和LED显示的延时。3个按键分别为:K1按键,从左到右点亮LED,K2按键,从右到左点亮LED,用户自己定义方式点亮LED。在每次的T0定时中断服务子程序里,需要对各种时间寄存器和模式寄存器进行加1或者清0,为主程序查询作准备,同时查询是否已中断1ms,若1ms到了,则对按键一次,是否有按下并进行相应子程序处理。

主程序除了调用各种子模式子程序,调用LED显示子程序和延时子程序之外,还一直保持查询是否有功能切键按下以及是否有模式改变按键按下,一旦有功能切换键和模式改变键按下,就会进入相应的按键处理。程序流程如图2所示亮灯模式,只要控制好各色灯触发和熄灭时刻就可以组合础各种亮灯效果。

2.1原理框图

扬声器

功率放大电路LM386

电源电路

彩灯驱动显示电路

复位电路

时钟电路

2.2电路原理图

2.3工作原理

根据设计要求可以把电路组成部分分为音乐控制部分,整个系统有3个或以上的控制开关。控制彩灯闪烁快慢的时钟信号CLK-IN,音乐控制按钮,清零端CLRDENG等。利用单片机89C51产生乐曲音符,再把音谱翻译成计算机音乐语言,由单片机进行信息处理,再经过信号放大,由喇叭放出乐曲。由于音符和节拍都由计算机产生,所以发言音符和节拍准确。

单片机奏乐的原理:

通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再来源延迟常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该频率方波的持续时间。当延迟时间到时,再查下一个的定时常数和延迟常数,依次下去,就可以自动演奏乐曲。

工作程序流程图如下:

开始

T0初始化,A清零,开中断,中断计数20H单元,清零

查首地址送DPTR

查表取常数

是结束符00H?

延时100ms

N

是休止符FFH?

Y

Y

恢复初始条件A清零

延时1s后再循环

N

音阶常数送6

取节拍常数送R7

启动T0计数

P2.0取反按R6延时

节拍时间是否到?

N

停止T0计数,中断计数,20H单元清零,DPTR加1

Y

2.4音乐彩灯控制程序代码

音乐播放源程序:(采用定时器T0,定时器方式1)ORG 000H

LJMP START

ORG 000BH

AJMP CONT

ORG 0100H

STATR:MOV SP,#50H

MOV TH0,#0DBH

MOV TL0,#0FFH

MOV TMOD,#01H

MOV IE,#82H

MUSIC0:MOV DPTR,#DAT ;表首地址送DPTR

MOV 20H,#00H ;中断计数单元清零MUSIC1: CLR A

MOVC A,@A+DPTR ;查表取音阶常数

JZ END0 ;是结束符?

CJNE A,#0FFH,MUSIC5 ;是休止符?

LJMP MUSIC3 ;产生100MS停顿MUSIC5: NOP

MOV R6,A ;音阶常数送R6

INC DPTR ;DPTR+1

MOV A,#0

MOVC A,@A+DPTR ;取节拍常数送R7

MOV R7,A

SETB TR0 ;启动定时器T0 MUSIC2;NOP

CPL P1.0 ;输出电平取反

MOV A,R6

MOV R3,A ;音阶常数送R3

LCALL DEL20

MOV A,R7 ;节拍常数送A

CJNE A,20H,MUSIC ;节拍时间到否?

MOV 20H,#00H ;为下一个音阶常数做准备

INC DPTR

LJMP MUSIC1

MUSIC3: NOP :休止100MS

CLT TR0

MOV R2,#14H ;R2=20

MUSIC4:NOP

MOV R3,#250 ;R3=250

LCALL DEL20

DJNZ R2,MUSIC4

INC DPTR ;为取下一个音阶常数准备

LJMP MUSIC1

END0: MOV R2,#200 ;歌曲结束,延时1秒后继续MUSIC6:MOV R3,#250

LCALL DEL20

DJNZ R2,MUSIC6

LJMP MUSIC0

DEL: MOV R4,#05H

DEL4: NOP

DJNZ R4,DEL4

DJNZ R3,DEL

RET

CONT: INC 20H ;计数单元容加1

MOV TH0,#0DBH ;重新送100MS定时初值

MOV TL0,#0FFH

RETI

DAT: DB 18H,30H,1CH,10H,20H,40H,1CH,10H; <八月桂花遍地开>的谱表DB 18H,10H,20H,10H,1CH,10H,18H,40H

DB 1CH,20H,20H,20H,1CH,20H,18H,20H

DB 20H,80H,0FFH,20H,30H,1CH,10H,18H

DB 20H,15H,20H,1CH,20H,20H,20H,26H

DB 40H,20H,20H,2BH,20H,26H,20H,20H

DB 20H,30H,80H,0FFH,20H,20H,1CH,10H

DB 18H,10H,20H,20H,26H,20H,2BH,20H

DB 30H,20H,2BH,40H,20H,20H,1CH,10H

DB 18H,10H,20H,20H,26H,20H,2BH,20H

DB 30H,20H,2BH,40H,20H,30H,1CH,10H

DB 18H,20H,15H,20H,1CH,20H,20H,20H

DB 26H,40H,20H,20H,2BH,20H,26H,20H

DB 20H,20H,30H,80H,20H,30H,1CH,10H

DB 20H,10H,1CH,10H,20H,20H,26H,20H

DB 2BH,20H,30H,20H,2BH,40H,20H,15H

DB 1FH,05H,20H,10H,1CH,10H,20H,20H

DB 26H,20H,2BH,20H,30H,20H,2BH,40H

DB 20H,30H,1CH,10H,18H,20H,15H,20H

DB 1CH,20H,20H,20H,26H,40H,20H,20H

DB 2BH,20H,26H,20H,20H,20H,30H,30H

DB 20H,30H,1CH,10H,18H,40H,1CH,20H DB 20H,20H,26H,40H,13H,60H,18H,20H

DB 15H,40H,13H,40H,18H,80H,00H

END

时钟控制部分源程序:

ORG 00H

JMP START

ORG 0BH

JMP TIM0

START:MOV 28H,#00

MOV 2AH,#12H

MOV 2BH,#00

MOV 2CH,#00

MOV TMOD,#00000001BH

MOV TH0,#> (65536-4000)

MOV TL0,#< (65536-4000)

MOV IE,#10000010BH

MOV R4,#250

SETB TR0

LOOP: JB P0.0,N2

CALL DELAY

MOV A, 2CH

ADD A,#01H

DA A

MOV 2CH,A

CJNE A,#60H,N1

MOV 2CH,#00H

N1: JNB P0.0,$

CALL DELAY

N2: JB P0.1,N4

CALL DELAY

MOV A,2BH

ADD A,#01H

DA A

MOV 2BH,A

CJNE A,#60H,N3

MOV 2BH,#00H

N3: JNB P0.1,$

CALL DELAY

N4: JB P0.2,LOOP

CALL DELAY

MOV A,2AH

ADD A,#01H

DA A

MOV 2AH,A

CJNE A,#24H,N5

MOV 2AH,#00

N5: JNB P0.2, $

CALL DELAY

JMP LOOP

TIM0: MOV TH0,#> (65536-4000) MOV TL0,#< (65536-4000)

PUSH A

PUSH PSW

DJNZ R4,X2

MOV R4,#250

CALL CLOCK

CALL DISP

X2: CALL SCAN

POP PSW

POP A

RETI

SCAN: MOV R0,#28H

INC @R0

CJNE @R0,#6,X3

MOV @R0,#0

X3 : MOV A,@R0

ADD A,#20H

MOV R1, A

MOV A,@R0

SWAP A

ORL A,@R1

MOV P1,A

RET

CLOCK: MOV A,2CH

ADD A,#1

DA A

MOV 2CH,A

CJNE A,#60H,X4

MOV 2CH,#00

MOV A,2BH

ADD A,#1

DA A

MOV 2BH, A

CJNE A,#60H,X4

MOV 2BH,#00

MOV A, 2AH

ADD A,#1

DA A

MOV 2AH,A

CJNE A,#24H,X4

MOV 2AH,#00

X4: RET

DISP: MOV R1,#20H

MOV A,2CH

MOV B,#10H

DIV AB

MOV @R1,B

INC R1

MOV @R1,A

INC R1

MOV A,2BH

MOV B,#10H

DIV AB

MOV @R1,B

INC R1

MOV @R1,A

INC R1

MOV A,2AH

MOV B,#10H

DIV AB

MOV @R1,B

INC R1

MOV @R1,A

RET

DELAY: MOV R6,#10

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET END

2.5硬件系统设计

单片机选择AT89C51,由于AT89C51是一个低电压,高性能CMOS8位单片机,含4k bytes的可反复擦拭的制度程序存储器(PEROM)和128bytes的随机存储数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,置功能强大的微型计算机AT89C51提供了高性价比的解决方案。其部有足够本系统对存储器的要求,不用外扩。

输出控制:此部分的放大电路简单容易实现。本设计中采用了一个小功率PNP型管

9012,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择1K和5.5K。扬声器一端接+5V电压,一端接晶体管的发射极。由P3.0输出预设的方波,加到晶体管进行放大,再输出到扬声器,很好的实现了频率、声音的转换。电路如下:

2.6方案优缺点

优点:采用单片机编程来实现控制音乐彩灯,制作过程简单,工作量小,控制功能强大,且单片机以其体积小、价格低、编程灵活等特点在这一领域独领风骚。

缺点:设计时编程技术难度高,烧录芯片时条件欠缺,单片机应用时不方便。

双单片机控制流水灯(精)

案例8 双单片机通信控制流水灯 用串行工作方式进行单片机之间的通信,电路图如下图所示。两个89S51单片机通过串行口进行通信,设置U1使用的晶振频率是11.0592MHz,U2使用的晶振频率是22.1184MHz,U1的RXD接U2的TXD,U1的TXD接U2的RXD,U2接8个发光二极管,要求由U1向U2发送数据,使8个发光二极管按从左到右逐一点亮的流水灯效果。 MCS-51单片机之间的串行异步通信 1.串行口的编程串行口需初始化后,才能完成数据的输入、输出。其初始化过程如下: (1)按选定串行口的工作方式设定SCON的SM0、SM1两位二进制编码。 (2)对于工作方式2或3,应根据需要在TB8中写入待发送的第9位数据(地址为1,数据为0)。 (3)若选定的工作方式不是方式0,还需设定接收/发送的波特率。 (4)设定SMOD的状态,以控制波特率是否加倍。 (5)若选定工作方式1或3,则应对定时器T1进行初始化以设定其溢出率。 2.案例分析由于串行口通信时传输的“0”或者“1”是通过相对于“地”的

电压区分的,因此使用串行口通信时,必须将双方的“地”线相连以使其具有相同的电压参考点。需要注意的是,异步通信时两个单片机的串行口波特率必须是一样的。由于U1使用的晶振频率是11.0592MHz,U2使用的晶振频率是22.1184MHz,因此二者的串行口初始化程序不完全一样。假设使用240bit/s的波特率,使用串行工作方式1,Tl使用自动装载的方式2,则Ul的TH1应初始化为136,U2的TH1应初始化为16。 对应的程序完成如下功能:Ul和U2进行双工串行通信,Ul给U2循环发送流水灯控制字,U2收到控制字后送到P0口,点亮相应发光二极管,双方都用中断方式进行收发。 (1)单片机U1的源程序 #include unsigned char sdata=0xfe; void isr_uart(); void main() { TMOD=0X20; TH1=136; TL1=136; SCON=0x40; PCON=0; TR1=1; EA=1;ES=1; SBUF=sdata; while(1); } void isr_uart() interrupt 4 {

基于89c51单片机控制的LED音乐彩灯控制器的设计说明

基于89c51单片机控制的LED音乐彩灯控制器的设计 随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。LED彩灯由于其丰富的 灯光色彩,便宜的造价以及简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建础物已经成为一种时尚。但目前市场上各种各样的LED彩灯控制器大多数用全硬件电路实现, 电路结构复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性…… 本方案提出一种基于8951 单片机的彩灯控制方案,实现对LED 彩灯的控制。本方案以8951单片机作为主控核心,在主控模块上设有3个按键和8个LED显示灯,根据需要可以 编写若干种亮灯模式,利用其部定时器TO实现一个基本单位时间为1ms的定时中断,根据 各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。与普通LED彩灯相比,具有体积小、价格低、功耗低等优点。 2 系统功能 LED彩灯用软件控制硬件的方式来控制彩灯闪烁,即彩灯控制器和管LED模块。彩灯采 用8951提供+ 5V电压工作,经过电源变换,输出直流工作电压,一方面为管LED模块提供 + 5V工作电源,另一方面为主控模块单片机系统彩灯控制器提供5V工作电源。整个系统工 作由软件程序控制运行,根据需要用户可以在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。 上电后系统经过初始化,查询是否有功能切换键按下:有,则进入设定模式状态;无,则进入默认工作状态。在设定模式状态下,可以根据个人爱好及不同场合的需要来指定调用哪种模式,并且可以改变每种模式的时间T1、频率F1参数,在工作状态下,LED彩灯控制器按照程序设定好的若干亮灯花样模式程序顺序调用往下走,开始工作,依次8个等亮完为 一个亮灯周期,然后再回主循环继续工作,同样如果想进入其它设定模式状态,只需按下功能切换键即可。整个3 种亮灯模式时间可以看作一个大周期T, 对于每一个模式编写一个独立工作子程序,其中设定了从左到右点亮LED,从右到左点亮LED,还有自己定义的LED点 亮方式。 因此在LED彩灯上电工作后,可以方便地通过主控模块上的显示器指定LED彩灯当前 工作模块,工作时间Ti ,频率Fi 等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,可以通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti , 以便符合实际需要。此外如果对某一种模式感兴趣需要仔细观看该种亮灯模式, 可以让程序 循环。 硬件设计 LED彩灯系统包括,即LED彩灯控制器(8951主控模块),LED彩灯在8951外部接一个震荡时钟频率。用8951的控制器,具有按键、显示等功能,并利用8951的P0 口的8个输 出端上面焊有8个LED彩灯,使用彩灯在软件的控制下工作。 主控模块电路设计 主控模块电路如图1所示。主控模块主要设计器件有89C51, 8个LED显示器,3个开 关按键,1个稳压器(5V电压),1个外部晶振振荡器信号输出驱动,4个电阻。通过软件设 计,使单片机P0 口作为三色LED驱动信号输出口及移位时钟CLOCK!号,8951的P0为LED 的输出口。 软件设计 LED彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主 程序和中断服务子程序。上电后在按键控制灯的闪烁方式, 通过软件来控制循环, 以一个单位实际1ms的TO定时为中断服务子程序。在这个1ms的TO定时基础上,可以根据需要来确定各种模式工作时间Ti,以及确定在各种亮灯点亮和熄灭各种状态LED灯等。整个系统软 件由程序、各种模式子程序、1ms中断服务子程序、调用循环程序组成。利用TO定时器作

(完整word版)51单片机流水灯

51单片机的流水灯控制 班级:100712 姓名:全建冲 学号:10071047

一、设计要求 用51单片机设计一个流水灯的控制方案,要求采用定时器定时,利用中断法控制流水灯的亮灭,画出电路图和程序流程图,写出程序代码以及代码注释。 二、电路原理图 原理图分析: 本原理图采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片机的P1端口,正极通过1KΩ排阻连接到电源上。原理图中还给出了晶振与复位端,以保证控制器的稳定工作。

三、程序流程图

四、程序代码及注解 1.非中断定时器控制 #include #include//包含了_crol_函数的头文件 #define uchar unsigned char #define uint unsigned int uint i=0; uchar a=0xfe; void main() { TMOD=0x01;//设置工作方式为定时器0,16位手动重装初值 TH0=(65536-46080)/256;//50毫秒定时赋初值 TL0=(65536-46080)%256; TR0=1;//启动定时器0 while(1) { If(TF==1)//读溢出标志位 { TH0=(65536-46080)/256;//重新赋初值 TL0=(65536-46080)%256;

i++; if(i==10)//500毫秒定时 { i=0; P1=a;//P1端口赋值 a=_crol_(a,1);//循环左移 } TF=0;//清除定时器溢出标志 } } } 程序分析:本程序采用非中断定时器法控制流水灯,核心语句在于读取标志位TF位,TF为定时器溢出标志位,溢出时硬件自动置一,所以循环读取标志位以判断定时器是否溢出,而每次溢出需要手动清零,否则定时器无法再次溢出,利用标志i读取10次即可达到500毫秒的定时。另外需要注意的是单片机晶振为11.0592MHz,所以计时一个数的时间为12/11.0592=1.085us,故定时50毫秒的计数为50000/1.085=46080。 2.中断定时器控制 #include

音乐彩灯控制电路数电FPGA设计(含代码)

音乐彩灯控制电路 1、申请题目:音乐彩灯控制电路 采用4×4矩阵式键盘作为电子琴按键输入,用FPGA设计一个既可以区分不同音高和音阶进行乐曲的弹奏,又可以自动播放乐曲的音乐电路。同时,在播放音乐的同时,点阵板上的彩灯会随着不同的音乐、不同的音阶、音调而出先不同的花型变化。按键音符可以通过数码管显示出来。 2、项目规划: 音乐演奏电路,既有通过键盘自由弹奏,又可以播放内存乐曲(播放的乐曲由设计者自由编辑,以简谱二进制码方式存放在ROM的数据文件中)。 彩灯显示电路,在音乐播放的同时,根据音乐节拍的不同,16路彩灯进行各种花型的变化,彩灯的亮灭有多种不同的模式,可以根据八个拨码开关来进行设计,进行自由组合搭配。不同的音乐对应不同的彩灯模式,每种模式执行16拍后依次循环改变,当音乐停止时,彩灯的变化也停止。 设置启动、停止控制键,可以结束音乐的播放和彩灯变化。 设置选择音乐播放键,共存储了3首音乐,可以通过选择键进行选择播放具体不同的音乐。 设置了彩灯变化选择按钮,有普通彩灯和动感彩灯两种方式进行选择,可以通过按键进行选择。 设计采用音乐引入控制彩灯变化方式。用4×4矩阵式键盘作为按键输入,16×16的LED 点阵板作为彩灯输出。可以通过按键选择弹奏乐曲和播放乐曲两种模式。点阵板上彩灯的变化随着乐曲的不同而进行不同的变化。在播放过程中可以按键进行系统的停止和启动运行。同时也可以通过扬声器将音乐播放出来。 3、实现方案: 问题1:乐曲的发声原理 组成乐曲的2个基本要素是每个音符的发声频率值和它持续的时间,可以利用程序控制FPGA某个引脚输出一定频率的矩形波,便可以得到某个音符的音调,也可以再接上扬声器之后,就能发出相应频率的声音。同时,若能控制每个音符的持续时间,也就控制了乐曲的节奏,因此只需要控制输出到引脚的信号频率的高低以及每个信号持续的时间长短,即可实现乐曲的产生。 问题2:音符的获得方法和乐曲节奏的控制 所有不同的频率信号都可以从同一个系统基准频率分频而来,可以通过预置不同频率的音符信号,通过系统基准频率值计算得到分频系数,提供给之后的节奏使用。每个音符持续的时间是乐曲能连续播放的另一个要素。设全音符的持续时间为1s,则2分音符的持续时间为0.5s,4分音符的持续时间为0.25s。如果采用1MHz的频率作为系统基准频率,则

单片机c语言编程控制流水灯

说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么 功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^) 我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机 上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。 #include //头文件定义。或用#include其具体的区别在于:后者定义了更多的地址空间。 //在Keil安装文件夹中,找到相应的文件,比较一下便知! sbit P1_0 = P1 ^ 0; //定义管脚 void main (void) { while(1) { P1_0 = 0;//低电平有效,如果把LED反过来接那么就是高电平有效 } } 就那么简单,我们就把接在单片机P1_0上的LED点亮了,当然LED是低电平,才能点亮。因为我们把LED的正通过电阻接至VCC。 P1_0 = 0; 类似与C语言中的赋值语句,即把0 赋给单片机的P1_0引脚,让它输出相应的电平。那么这样就能达到了我们预先的要求了。 while(1)语句只是让单片机工作在死循环状态,即一直输出低电平。如果我们要试着点亮其他的LED,也类似上述语句。这里就不再讲了。 点亮了几个LED后,是不是让我们联想到了繁华的街区上流动的彩灯。我们是不是也可以让几个LED依次按顺序亮呢?答案是肯定的!其 实显示的原理很简单,就是让一个LED灭后,另一个立即亮,依次轮流下去。假设我们有8个LED分别接在P1口的8个引脚上。硬件连接,在 P1_1--P1_7上再接7个LED即可。例程如下: #include sbit P1_0 = P1 ^ 0; sbit P1_1 = P1 ^ 1; sbit P1_2 = P1 ^ 2; sbit P1_3 = P1 ^ 3; sbit P1_4 = P1 ^ 4; sbit P1_5 = P1 ^ 5; sbit P1_6 = P1 ^ 6; sbit P1_7 = P1 ^ 7; void Delay(unsigned char a) { unsigned char i; while( --a != 0) {

音乐彩灯控制器课程设计

1. 引言 音乐彩灯控制器是用音乐信号控制多组颜色的灯泡,利用其亮度变化来反映音乐信号,一种将听信号转化为视信号的装置。该控制器具有渲染气氛的作用,增强人们欣赏能力。 2 设计任务与要求: 2.1任务: 1. 设计一种组合式彩灯控制电路,该电路由不同控制方法的彩灯所组成, 采用不同颜色的发光二极管作课题。 2.第一路为音乐节奏控制彩灯,按音乐节拍变换彩灯花样。 3.第二按音律的强弱(信号幅度大小)控制彩灯。强音时,灯的亮度加大, 且被点亮的数目增多。 4.第三路按音调高低(信号频率高低)控制彩灯。低音时,某一部分灯点 亮;高音时,另一部分点亮。 2.2要求: 1、综合运用电子技术课程中所学的理论知识完成课程设计。 2、通过查阅手册和文献资料,提高独立分析和解决实际问题的能力。 3、熟悉常用电子器件的类型和特征,并掌握合理选用的原则。 4、学会电子电路的安装与调试技能。 5、进一步熟悉电子仪器的正确使用。 3 设计思路: 根据课题要求,可将控制器分为三部分来实现: (1)由于音乐的节奏是具有一定时间间隔的节拍脉冲信号。因此,可采用计数、译码驱动电路构成节拍脉冲信号发生器,使相应的彩灯按节奏点亮和熄灭。(2)将声音信号变成电信号,经过放大、整流滤波,来点亮彩灯,以实现声音信号强弱的控制。 (3)采用高、低通有源滤波电路来实现高、低音对彩灯的控制。 4 设计原理:

如图2.1所示,控制器包括声、电转换和放大电路、时钟脉冲发生器、记数电路和控制电路等。它控制四路彩灯伴随乐曲而闪烁发光。 拾音话筒控制MIC将乐曲声响转变为电信号,经VT1~VT4加至四路模拟开关IC3(CD4066)。555和RP1、R1、R2、D1、C1等组成无稳态多谐振荡器 t(通)=0.693(RP1+R1)C1 t(放)=0.693R2C1 T=0.693(RP1+R1+R2)C1 图示参数的振荡周期T在0.5~5秒范围内变化。555的3脚输出加至IC2作为CP脉冲.IC2采用CMOS型十进制计数器/脉冲分配器CD4017,在时钟CP作用下,Q0(3脚),Q1(2脚),Q2(4脚),Q3(7脚),Q4(10脚)相继出现高电平脉冲,而Q4加至复位端R(15脚),使电路成为一个环形计数电路。Q0~Q3的初期依次将CD4066四模拟开关选通,使乐曲信号依次加至VT5,VT6,VT7,VT8,并依次导通,SCR1~SCR4依次触发导通,彩灯插座依次有电,彩灯顺序点亮,随着悠扬的音乐,彩灯闪烁生辉。 图2.1 音乐彩灯控制电路

单片机音乐控制流水灯

摘要 本设计是一种基于AT89C51单片机音乐控制彩灯的方案,实现单片机演奏音乐,并且对LED彩灯随音符频率的不同而闪烁发光。本方案以AT89C51单片机作为主控核心,利用三极管和蜂鸣器,通过三极管放大电流使用蜂鸣器播放音乐,利用编程实现亮灯循环模式,在有8个LED彩灯,根据用户需求可以编写若干种亮灯模式.例如左右闪烁,隔几个亮灭,蜂鸣器可以根据用户需求改写编程播放各种音乐。本方案具有设计简单、体积小、元器件少、电路结构简单等优点。该设计方案设计及其简单,典型的89c51单片机,亮灯模式多,播放各种类型的音乐,具有体积小、价格低、低能耗等优点。在美丽的都市夜晚,彩灯的循环亮灭,播放动人的音乐,衬托出美丽的氛围,音乐彩灯具有更广阔的发展天地。 关键字:AT89C51 LED彩灯音乐 Abstract This design is a musical based on AT89C51 microcontroller control program Lantern,realize MCU playing music,And the LED lights on the frequency of different notes with the light flashing。The program for AT89C51 microcontroller as the control center, use of transistor and buzzer, the current through the transistor amplification using the buzzer to play music,Using programming lighting cycle mode, with 8 LED Lantern, according to user needs to write some kind of switch-mode. For example, flashing around, every few light off, the buzzer can be adapted according to user requirements play a variety of music programming . The program is simple in design, small size, less components, and simple circuit structure. The design and simple design, the typical 89c51 microcontroller, a switch-mode and more, playing all types of music, has a small size, low price and low power consumption and so on. In the beautiful city at night, lanterns light off cycle, play beautiful music, brings out the beautiful atmosphere,music Carnival with the development of a broader world.

基于51单片机的流水灯

基于51单片机的流水灯 利用51单片机P0口实现8个LED(发光二极管)的流水灯控制。可以使用Proteus软件进行仿真调试。 1 硬件设计 利用单片机的PO口控制8个LED,其电路如下图所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“LSD.DSN”。在器件选择按钮中单击“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示 都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 流水灯又称为跑马灯,在函数中可以将P0口的八种不同状态做成一维数组,循环执行即可,如下所示。当然也可以采用其它函授来实现,如左移一位<<1(或右移一位>>1),循环左移函授_crol_(或循环右移函授_cror_)等。 /****************************************************************** 流水灯

*******************************************************************/ #include "reg51.h" const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delayms(unsigned int x) //延时 { unsigned int j; unsigned char k; for(j=0;j

音乐彩灯控制器(完整版)

摘要 电力电子技术产业作为当代高新技术尤其是信息技术产业与传统产业的接口,在国民经济中扮演着越来越重要的角色。此设计论述了彩灯的总体控制,彩灯将会随着音乐的节奏闪亮,大大的改善了人们的娱乐环境,人们将在音乐和灯光当中消除工作一天的疲惫,并且彩灯的控制不需要人为的操作控制,将会完全自动的运行,使人们感受到了娱乐场所的智能化,人性化。此设计采用了平时常用的集成电路,包括时钟电路、阶梯波电路、滤波器等等,将会很清晰的呈现出它的工作原理,它是电子技术的实例应用。关键词:电子技术音乐彩灯集成电路。II Abstract As the joint between the present hi-Tech industry especially the informationtechnology industry and tradition industry, power electronics industry has been playing amore and more important role in the country economy. Although this industry in Chinahas made some progress through developing more than 30 years, compared with thedeveloped countries the gap is still quite big. This industry can"t meet the demands of thecountry economy development in china. Constituting a series of systemic and scientificdeveloping strategy to speed this industry is the purpose of this paper. The importanteffects of this industry on country economy are discussed, the shaping and developingcondition of this industry is analyzed, and the advantages and disadvantages of thisindustry in China are pointed in this paper. On the basis of referring the advancedexperience of developed countries. keyword: electronic technique music illumination unicircuit

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计 摘要 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以AT89C51单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏音乐,功能多,外观效果多彩,配有彩灯,使用方便,本音乐盒有三个按键,key1控制彩灯,key2控制音乐,key3为总开关,可同时关闭音乐与彩灯。具有一定的商业价值。 关键字:AT89C51;音乐盒;按键;彩灯

Abstract Along with the development of human society, people of vision, hearing things put forward higher request. Small music box can bring good memories and improve people's spiritual culture. Traditional music box is heavy mechanical type, size, pronunciation and drab, cannot achieve batch production. Music box designed in this paper based on AT89C51 microcontroller as the core element of electronic music box, small size, light weight, can play music, multi-function, appearance and colorful, with a lantern,easy to use. The music box with three buttons , The key1 control Lantern, key2 control music, key3 total switch can turn off the music and lanterns. Have some commercial value. Keywords: AT89C51, music boxes, buttons, Lantern

最新五种编程方式实现流水灯的单片机c程序讲课教案

五种编程方式实现流水灯的单片机C程序 //功能:采用顺序结构实现的流水灯控制程序 /*此方式中采用的是字操作(也称为总线操作)*/ #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1) { P1 = 0xfe; //点亮第1个发光二极管,0.000389s delay(200); //延时 P1 = 0xfd; //点亮第2个发光二极管,0.155403s,0.1558 delay(200); //延时 P1 = 0xfb; //点亮第3个发光二极管 delay(200); //延时 P1 = 0xf7; //点亮第4个发光二极管 delay(200); //延时 P1 = 0xef; //点亮第5个发光二极管 delay(200); //延时 P1 = 0xdf; //点亮第6个发光二极管 delay(200); //延时 P1 = 0xbf; //点亮第7个发光二极管 delay(200); //延时 P1 = 0x7f; //点亮第8个发光二极管 delay(200); //延时 } } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; // i控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{ unsigned char j, k; //定义无符号字符型变量j和k for(k = 0; k < i; k++) //双重for循环语句实现软件延时 for(j = 0; j < 255; j++); } //功能:采用循环结构实现的流水灯控制程序 //此方式中采用的移位,按位取反等操作是位操作 #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数

音乐彩灯控制器设计-课程设计(1)

课程设计说明书题目:音乐彩灯控制器 院(部):理学院 专业班级:应用物理14-1 学号: 2014305070 学生姓名:王伟洲 指导教师:李学超

安徽理工大学课程设计(论文)任务书理学院(部)物理系

前言 随着现在社会的发展,人们生活水平的提高,人们对娱乐环境的要求越来越高,娱乐环境中的灯光控制,成了一个重要的部分。为此,特意设计了关于音乐彩灯的控制。本设计要求将输入音乐信号分为高,中,低三个频段,并且分别控制三种颜色的彩灯.每组彩灯的亮度随各自输入音乐信号大小分为八个等级.输入信号最大时,彩灯最亮.当输入信号的幅度小于10mv时,要求彩灯全亮。

第一部分:实验原理部分 (一).设计框图及电路系统概述 设计框图: 电路系统概述: 1.声音信号要分为三个频段,所以第一步要通过滤波器进行滤波,将音频信号按要求分为三个频段。 2.经过放大器把毫伏级的声音信号放大为与比较信号可比的信号。由于直流信号才可比较,所以在进入比较器前先进行整流。 3.同步脉冲通过简易的数模转换产生阶梯波,放大后的信号与其比较产生高低电平,再和同步脉冲相与产生个数不同的脉冲去触发三极管,由触发脉冲的个数决定彩灯的亮度。 4.如果音乐信号小于10mV,用比较器产生高电平使或门的输出总为高电平,产生的高电平与1HZ的脉冲信号进行与,从而使灯亮暗闪烁。 (二).实验电路结构与分块电路原理 由本实验设计要求可将试验电路基本分为七个组成部分,即 1.电压转换部分 2.语音信号的输入部分 3.基本信号的放大部分 4,滤波选频部分(核心) 5.幅度控制部分 6 .输出显示部分 7.10毫伏比较扩展部分 第三部分:各单元电路的设计方案及原理说明 下面分别从以上几个分块电路说明该彩灯控制器的设计原理与过程. 1.电源电路: 由于实验给出电源为220V交流电,而实验所需芯片的工作电压大致在5-12V,故需要首先设计一个电压转换部分,将220V的交流电转换成5V,12V,相当于一个直流稳压源,以供数字和模拟芯片正常工作。其转换电路如下所示:

基于单片机的音乐彩灯控制器的设计(开题报告)

内江师范学院毕业论文 开题报告 论文题目:基于单片机音乐彩灯控制器的设计 学生姓名XX指导教师 XXX 二级学院工程学院专业名称电子信息工程班级09级2班学号 XXXX XXX年9 月9 日

毕业论文(设计)开题报告 论文题目基于单片机的音乐彩灯控制器的设计 一、选题的背景与意义(本研究的现状综述、理论价值与实际意义) 音乐彩灯是一种被普遍用于娱乐、酒店、饭店酒吧的一种电路装置,我们能在很多场合看到音乐彩灯的应用。 背景:在当今这个社会,音乐彩灯的发展非常广泛,各种娱乐场所,酒店,广场等都采用了彩灯烘托环境的美好。而音乐彩灯能在音乐的节奏下闪耀,更能给客人以全新的感觉。随着电子技术的发展,音乐彩灯有很高的发展前景。 意义:1、相比传统的中小规模集成电路和计算机控制,采用单片机来设计彩灯控制器具有体积小、功耗低、可靠性高、调节灵活等优点。 2、基于单片机的音乐彩灯的控制器有较强的抗干扰能力、低污染、低环境影响、不影响人体且适应性广等优点。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用; 二、研究的主要内容和预期目标(研究的框架,要求列到一级提纲) 研究的主要内容: 音乐彩灯控制器主要要求将音乐分成四个不同的频段,将彩灯分为四组,各组彩灯颜色不同,每组彩灯包含两个颜色相同的彩灯。彩灯和音乐的同步控制,用软硬件结合的方法来实现。设计采用AT89S52单片机作为主控芯片,通过3个按键进行数据的输入,编程控制单片机进行音乐播放和彩灯闪烁,并通过小喇叭输出声音,通过LED彩灯和12864液晶屏输出显示。通过软件来控制音乐频率以及发光二级管该亮哪组,亮几盏。在控制彩灯的同时去控制扬声,这样能较好的达到音乐与彩灯的同步控制。 研究的框架: 1 系统的总体设计 2 系统的硬件设计 3 系统的软件设计 4 实验调试 5 设计心得 6 参考文献 7 致谢

最新单片机课程设计 外部中断控制流水灯变化

单片机课程设计报告 设计题目:外部中断控制流水灯变化 姓名

一.设计目的 通过学习单片机工作原理和各种工作方式及各管脚的功能,想通过P3口的俩管脚P3.2和P3.3第二功能,即外部中断来使CPU响应,达到控制流水灯的目的。 二.设计要求 主程序实现8个灯从P2.0到P2.7依次亮灭,灯与灯 之间间歇约0.5秒.当P3.3口是低电平时,灯从P2.7到P2.0依次亮灭,灯与灯之之间间歇约0.5秒.循环3次返回主程序.当P3.2口是低电平时,灯全灭,当P3.2口是高电平时,返回主程序.当同时使P3.2和P3.3为低电平时,灯全灭,因为外部中断0的优先级高于外部中断1的优先级. 三.MCS-51的硬件结构: 四.P3口的状态 P3口是双功能口,默认为第一功能(通用I/O口),通过编程可设置第二功能。

五.中断传送方式: 中断方式则是在外设为数据传送做好准备之后,就向CPU发出中断请求信号(相当于通知CPU)。CPU接收到中断请求信号之后立即作 出响应,暂停正在执行的原程序(主程序),而转去外设的数据输入输 出服务,待服务完之后,程序返回。CPU再继续执行被中断的原程序。六.外部中断 外部中断是指从单片机外部引脚输入请求信号。输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为 外部中断源,从引脚INT0、INT1输入。 外部中断请求、有两种触发方式:电平触发及跳变(边沿)触发。 这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。七.电路原理逻辑图如下:

P3.3 P3.2 灯亮情况 0 0 全灭 0 1 全灭 1 0 从P2.0到P2.7依次亮灭 1 1 从P2.7到P2.0依次亮灭八.实验硬件电路图如下

2013:基于单片机的音乐喷泉设计开题报告

湖南工业大学本科毕业设计(论文)过程管理资料 本科毕业设计(论文)开题报告 31

题目:基于单片机的音乐喷泉设计 1.1单片机应用于控制系统的研究背景 早期时候,人们通过继电器来实现对系统的控制,成而形成了对系统的控制。在单片机出现后,单片机应用于小型或者是中小型控制系统已经成为了主流,随着科学技术和科学理论的不断创新和发展,单片机的控制理论不断成熟。单片机的发展能也逐渐朝着高集成、高速度、低功耗、低价格、大存储容量和强I/O 功能等方向发展。随着计算机档次的不断提高,功能的不断完善,单片机已越来越广泛地应用在各种领域的控制、自动化、智能化等方面。其中单片机也应用到了美化环境系统中,比如说彩灯显示,喷泉。 本次毕业设计我将以8位单片机AT89C51为主机,以及各先关的元器件,来完成对音乐喷泉控制系统设计。 1.2研究意义: 音乐喷泉是近几年来出现的喷泉水景与音乐欣赏相结合的产物,它的出现改变了喷泉艺术单调不变的局面。在音乐的伴随下喷泉的高度、灯光的色彩以及喷泉造型等随着音乐变化而变化,忽而气势磅礴,犹如万马齐奔,忽而悠然舒缓,犹如春风抚过杨柳,使观众陶醉于音乐与水型的完美结合中。目前,音乐喷泉出现了各种表现形式,比如大型广场喷泉、激光喷泉、水幕电影、超高喷泉、人工瀑布等。由于音乐喷泉作为一种独特的人工景观,具有很大的观赏价值,国内各大城市或在广场或在公园都有它的身影。可以说,音乐喷泉己经成为一种娱乐产业,具有很高的经济效益和社会效益。为了适应喷泉工程建设的需要,国内出现了众多的喷泉设备厂和喷泉设计专业公司。音乐喷泉作为一种独特的人工景观,获得了广大人民的喜爱,不仅使得人们在视觉上得到了享受,而且在音乐背景下,能够激励我们的心智。目前音乐喷泉已经成为一种娱乐产业,具有很高的经济效益和社会效益,研究和设计高水平的音乐喷泉控制技术是非常重要的 1.3音乐喷泉国内外发展形势 音乐喷泉是现代科技与艺术的综合,音乐喷泉将喷水图形、彩色灯光及音乐旋律构成一个有机的整体,随着乐曲旋律和节奏的变化,各种不同的喷水花形相应的配合变换,在五彩绚丽的变幻灯光照耀下,构成一幅幅奇妙无比的景观、令人赏心悦目,叹为观止,在视听上获得极大的享受。音乐喷泉的起源于1930年,

音乐节奏彩灯控制器设计

音乐节奏彩灯控制器设计 本设计彩灯伴随音乐的节奏、大小、音调而变化的彩灯控制器。使彩灯在艺术上有了很大的提高,本文的主要内容有以下几点: 1、设计音乐信号放大电路。 2、555时基电路构成单稳态实现音乐大小控制彩灯。 3、555时基电路构成多谐电路实现音乐节奏控制彩灯。 4、设计滤波电路,实现音乐的音调控制彩灯。 第1章绪论 随着科学的发展,人们生活水平的提高,人们不满足于吃饱穿暖,而要有更高的精神享受。不论是思想,还是视觉,人们都在追求更高的美。特别使在视觉方面,人们不满足于一种光,彩灯的诞生让人们是视觉对美有了更深的认识。但现在市面上的音乐彩灯只是按照一定的方式闪烁,让人们感觉到十分的粗糙无味,更没有声音那样用震撼力,音乐彩灯的出现让我们既有了听觉上的享受,更有了精神上的享受。但现在市面上的音乐彩灯只是按照音乐的一种方式闪烁,和音乐没多大关系,根本不能称为音乐彩灯。 本设计是一个音乐彩灯控制器,使其实用于家庭、商场、橱窗、舞厅、咖啡厅、公共广场等场所的摆设、装饰、广告、环境净化与美化,本电路的最大优点是可以实现音乐以三种方式控制彩灯的闪亮。实现了音乐大小、节奏、音调的控制。 设计任务与要求 (1)设计一个音乐声响与彩灯灯光相互组合的彩灯控制电路。 (2)有三路不同控制方法的彩灯,用不同颜色的LED表示。 (3)第一路为音乐节奏控制彩灯,按音乐节拍变换彩灯花样。 (4)第二路按音乐大小(信号幅度大小)控制彩灯,音量大时,彩灯亮度加大,反之亦然。 (5)第三路按因调高低(信号频率高低)控制彩。

第2章音乐大小控制彩灯 2.1系统设计思路 音频在电信号中表现为多个正弦波叠加而形成。音乐的大小就表现为是演唱者的声音的强弱起伏,它在音频信号中表现为正弦波的波峰和波谷,所以在他达到波峰时说明他的音量大。在波谷是音量就小,所就需要一个触发电路使他在音量大的时候就彩灯发光,音量小的时候灯灭。综合考虑:选择了NE555够成的单稳态电路,由于单稳态电路是低电平触发所以还需要一个反相放大器。 音乐的节奏往往是由乐队的鼓点来体现,实质上是具有一定时间间隔的脉冲信号。根据设计要求,彩灯要随着节奏闪亮,需要一个触发电路来检测脉冲信号并产生计数脉冲。根据要求选择了NE555构成的无稳态触发器,由于触发器的触发电压比音频信号的高就还需要一个放大电路,有触发信号后就还需要计数器和译码器来使彩灯闪亮。 音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升,所以应用滤波器滤出高频、低频。以方便驱动彩灯发光。 图2-1 总体框图 信号源经放大器放大后输出分别送往:(1)单稳态触发器,输出脉冲信号通过驱动电路来驱使彩灯发光;(2)多谐振荡器脉冲输出到计数器,计数脉冲通过计数和译码驱使彩灯发光;(3)送往高低通电路,取出所需要频段信号后驱动彩

单片机控制左右来回循环的流水灯

左右来回循环的流水灯 设计要求 8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。 题37图节日彩灯的花样显示的规律 为了使显示效果更加绚丽多彩,P1端口8个引脚分别接有不同颜色的发光二极管。具体如题37表所示。 题37表P1口8个引脚的不同颜色的发光二极管 使用C51编流水灯程序以及设计相应的硬件电路十分简单,且有多种方法。本方案力求程序最简化最清晰原则,用NS图(盒图)表示算法如下:

程序中设置中间变量temp用来给P1口赋值,命令_crol_和_cror_用于使temp左移或右移,例如当temp=11111110B时,执行_crol_(temp,1)之后temp=11111101,应用此两条语句必须把头文件包含进来。 全部代码如下: #include #include unsigned char temp; //定义字符变量temp,temp左移或右移并给连接LED的P1口赋值 int a; //定义延迟函数delay() void delay(void); void main()

{ temp=0xfe; //给temp赋初值 P1=temp; //temp赋值给P1口,第一个LED(红色)点亮while(1) //主程序,括号中的程序将一直循环 { for(a=0;a<7;a++) //左移部分,LED从左到右依次点亮 { temp=_crol_(temp,1); //_crol_语句控制变量temp左移 delay(); //每个灯点亮之后延迟一会在点下一个灯 P1=temp; } for(a=0;a<7;a++) //右移部分,LED从右到左依次点亮 { temp=_cror_(temp,1); //第8个灯点亮后开始右移程序,LED从右向左点亮 delay(); P1=temp; } } } void delay() //延时子程序 {

相关文档
最新文档