单片机节日彩灯控制器设计
基于单片机控制的节日彩灯控制课程设计

课程设计题目基于51单片机的节日彩灯设计学院物流工程学院专业物流工程班级姓名同组者指导教师月日附件2:课程设计任务书学生姓名:专业班级:指导教师:工作单位:物流工程 __题目: 单片机节日彩灯控制器初始条件:1.Protues 7 professional的ISIS 7 professional和ARES 7 professional软件2.Keil uvision4软件3.单片机的相关资料指导书要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计一个节日彩灯控制器,实现不同的闪烁方式,要求:(1)P3.3: 开始,按此键则灯开始流动(由上而下);(2)P3.2: 停止,按此键则停止流动,所有灯为暗;(3)P3.1: 上,按此键则灯由上向下流动;(4)P3.0: 下,按此键则灯由下向上流动。
时间安排:十八周到十九周设计,十九周答辩指导教师签名:年月日系主任(或责任教师)签名:年月日附件3:武汉理工大学课程设计教学检查记录表课程设计名称设计周数检查日期课程设计指导教师进行方式:集中□分散□.地点检查人附件6:本科生课程设计成绩评定表指导教师签字:年月日摘要 (1)1 设计任务 (2)2 总体方案设计与论证 (3)2.1 方案比较 (3)2.2 方案论证 (4)2.3 方案选择 (4)3 系统硬件设计 (5)3.2 单片机最小系统设计 (5)3.3 LED彩灯显示电路设计 (6)3.4 按键控制电路设计 (6)4 系统的软件设计 (8)4.1 按键扫描子程序设计 (8)4.2 主程序设计 (8)参考文献 (11)彩灯是我国普遍流行的传统的民间的综合性的工艺品。
彩灯艺术也就是灯的综合性的装饰艺术。
新中国成立后,彩灯艺术得到了更大的发展,特别是随着我国科学技术的发展,彩灯艺术更是花样翻新,奇招频出。
而随着人们生活环境的不断改善和美化,在许多节日的气氛里可以看到彩色霓虹灯,这种LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用。
51单片机彩灯控制器的设计

51单片机彩灯控制器的设计一、设计目的单片机彩灯控制器是一种能够通过控制程序实现RGBLED灯光颜色和亮度变化的设备。
其设计目的是实现LED的多彩灯光效果,丰富室内环境,提高生活品质。
二、硬件设计1.单片机选择在设计彩灯控制器时,我们选择了常用的8051单片机作为控制芯片。
8051单片机拥有丰富的外设资源,易于编程控制,并且具有较高的稳定性和可靠性。
2.RGBLEDRGBLED是一种由红、绿和蓝三个LED灯组成的组合灯,可以通过控制不同颜色的LED来实现丰富多彩的灯光效果。
在设计中,我们选用了高亮度的RGBLED,以确保灯光效果的良好。
3.驱动电路为了驱动RGBLED,我们设计了一套驱动电路,其中包括三个恒流驱动电路和三个PWM调光电路。
恒流驱动电路可以确保LED的电流稳定,而PWM调光电路可以实现LED的亮度调节。
4.控制电路控制电路主要由单片机、按键、显示屏等组成。
通过单片机控制按键输入,并根据用户需求调整LED的颜色和亮度。
同时,显示屏可以实时显示LED的参数信息,方便用户操作。
5.电源彩灯控制器的电源一般采用直流5V供电,可以通过USB接口或者外部电源适配器来供电,以满足不同环境下的使用需求。
三、软件设计1.系统架构我们将彩灯控制器的软件设计分为三个模块:按键输入模块、LED控制模块和显示模块。
按键输入模块负责接收用户的按键输入,LED控制模块根据用户输入控制LED的颜色和亮度,显示模块实时显示LED的参数信息。
2.按键输入模块按键输入模块主要负责检测用户按键的状态,并根据按键的状态进行相应的处理。
例如,当用户按下“颜色+/颜色-”按键时,按键输入模块会向LED控制模块发送指令,控制LED颜色的变化。
3.LED控制模块LED控制模块负责控制RGBLED的颜色和亮度。
当接收到按键输入模块发送的指令时,LED控制模块会根据指令调节LED的PWM值,实现LED 颜色的变化和亮度的调节。
4.显示模块显示模块通过显示屏实时显示LED的参数信息,包括LED的颜色、亮度等参数。
单片机节日彩灯控制器的课程设计论文

1 任务及要求1.1 设计任务1. 设计一个基于单片机的节日彩灯控制器。
2. 设计出硬件电路;3. 设计出软件编程方法,并写出源代码;4. 用PROTEUS进行仿真;1.2 设计要求1.用C语言或汇编语言编实现程序设计。
2.利用查表,中断等方式实现目的。
3.系统的各各功能模块要清楚,有序。
4.程序运行时有友好的用户界面2 设计思想2.1 硬件设计思想节日彩灯控制器是利用将单片机的CPU、RAM、ROM、定时器/计数器及输入/输出(I/O)接口电路集成在一块集成电路芯片上的特点。
通过其与发光二极管及驱动电路的连接,从而构成一个完整的硬件电路。
然后通过对单片机的ROM进行编程,实现对彩灯闪烁的控制。
2.2 软件设计思想通过编程改变P1口的状态,从而改变彩灯的闪烁。
本程序主要可分为主程序模块,比较模块LOOP0、LOOP1、LOOP2、LOOP3、LOOP4、LOOP5和状态显示程序模块k1_light、k2_light、k3_light、k4_light延时程序模块del10ms 等模块。
其中延时时间t1 = T×20×248;t1 = T×C3H×FFH;T为单片机的机器周期3 电路原理与电路图3.1 电路原理以AT-89C52单片机作为主控核心,与按键、电阻等较少的辅助硬件电路相结合,利用软件实现对LED彩灯进行控制,材料有单片机AT89C52、多色发光二极管LED、电阻RES。
3.2 电路原理图4 流程图与算法描述4.1 流程图图4-1 主程序流程图4.2 算法描述本程序主要可分为主程序模块,比较模块,状态显示程序模块和延时程序模块。
比较模块LOOP0、LOOP1、LOOP2、LOOP3、LOOP4、LOOP5。
状态显示程序模块k1_light、k2_light、k3_light、k4_light延时程序模块del10ms等模块。
5程序清单org 0000hljmp startorg 0003hljmp ext1org 0020hstart: mov r0, #0ffh ; 对r0赋值,r0为所设标志位 setb ea ; 开中断setb ex0 ; 允许外部中断0申请中断setb it0 ; 外部中断0为跳变方式触发 mov sp, #70h ; 设置中断loop0: cjne r0, #0ffh, loop1 ; r0不为ff, 转到loop1ajmp main_light ; 否则执行左右流水灯loop1: cjne r0, #01h, loop2 ; r0不为01, 转到loop2ajmp k1_light ; 否则执行左向流水灯loop2: cjne r0, #02h, loop3 ; r0不为02, 转到loop3ajmp K2_light ; 否则执行右向流水灯loop3: cjne r0, #03h, loop4 ; r0不为03, 转到loop4ajmp k3_light ; 否则执行双亮点向中间移动loop4: cjne r0, #04h, loop5 ; r0不为04, 转到loop5ajmp k4_light ; 否则执行双亮点向两边移动loop5: ajmp loop0 ; 返回重新查询ext1: clr ea ; 关中断push accpush pswmov a, p1 ; 读入键值anl a, #0fh ; 屏蔽高四位mov 30h, a ; 键状态存入30hlcall del10msmov a, p1 ; 再次读入键值anl a, #0fhcjne a, 30h, pass ; 两次键值不同,是抖动,退出中断ajmp k1_check ; 如果相等,进行键识别k1_check: cjne a, #0eh, k2_check ; 不是k1, 判断是不是k2mov r0, #01h ; 是k1, 置标志为01ajmp passk2_check: cjne a, #0dh, k3_check ; 不是k2, 判断是不是k3mov r0, #02h ; 是k2, 置标志为02ajmp passk3_check: cjne a, #0bh, k4_check ; 不是k3, 判断是不是k4mov r0, #03h ; 是k3, 置标志为03ajmp passk4_check: cjne a, #07h, pass ; 不是k4, 退出中断mov r0, #04h ; 是k4, 置标志为04ajmp passpass: pop psw ; 现场恢复pop accsetb ea ; 开中断reti ; 中断返回main_light: mov r7, #08h ; 左右流水灯程序mov r6, #06hmov a, #0fehl_loop: mov r1, a ; r1保存现在亮点位置,做样式变换时从该处开始mov p0, alcall del100msrl adjnz r7, l_loopmov a, #0bfhr_loop: mov r1, amov p0, alcall del100msrr adjnz r6, r_loopajmp loop0k1_light: mov r1, a ; 左向流水灯mov p0, alcall del100msrl amov r1, aajmp loop0k2_light: mov r1, a ; 右向流水灯mov p0, alcall del100msrr amov r1, aajmp loop0k3_light: mov p0, #07eh ; 双亮点向中间移 lcall del100msmov p0, #0bdhlcall del100msmov p0, #0dbhlcall del100msmov p0, #0e7hlcall del100msajmp loop0k4_light: mov p0, #0e7h ; 双亮点向两边移lcall del100msmov p0, #0dbhlcall del100msmov p0, #0bdhlcall del100msmov p0, #07ehlcall del100msajmp loop0del10ms: ; 10ms延时子程序(12M) mov r5, #20temp1: mov r4, #248djnz r4, $djnz r5, temp1retdel100ms: mov r3, #0c3h ;100.036mstemp2: mov r2, #0ffh ;511usdjnz r2, $djnz r3, temp2retend6仿真结果图 6.1 从上到下闪烁图 6.2 从下到上闪烁图 6.3 上下同时闪烁7 设计总结7.1 设计体会通过这次的设计使我认识到我对单片机方面的知识太重要了,对于书本上的很多知识还不够熟悉,有很多我们需要掌握的知识还没掌握,我会在以后的学习生活中弥补我所缺少的知识。
基于单片机的彩灯控制器的设计(24个LED灯)

任务书以单片机为核心,设计一个节日彩灯控制器控制24个LED灯:P1.2—开始,按此键则灯开始流动(由上而下)。
P1.3—停止,按此键则停止流动,所有灯为暗。
P1.4—上,按此键则灯由上向下流动。
P1.5—下,按此键则灯由下向上流动。
目录1.引言2.工艺过程3.系统控制要求4.方案论证5.系统电路设计6.系统软件设计7.系统程序设计8.连接调试9.心得10.致谢11.参考文献附录1.引言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。
特别是每当节日的到来,节日彩灯更是到处都看的到。
节日彩灯已成为生活中不可缺少的装饰物。
它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。
本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。
按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右到左循环点亮,三号键使两端灭,中间亮,再对半交替亮,然后再奇偶亮。
通过按键能方便使用者选择不同样的亮法。
节日彩灯使生活中常常用到的装饰物品,是我国普遍流行的传统的民间的综合性的工艺品。
彩灯艺术也就是灯的综合性的装饰艺术。
在当今的社会里,彩灯已经成为我们生活的一部分,能给我们带来视觉上的享受还能美化我们的生活。
彩灯控制器主要是通过电路产生有规律变化的脉冲信号来实现彩灯的各种变化,它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。
本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。
按P1.2键使灯开始流动;按P1.3键则停止流动;按P1.4键则灯由上向下流动;按P1.5键则灯由下向上流动。
节日彩灯控制器课程设计报告c语言

节日彩灯控制器课程设计报告c语言节日彩灯控制器课程设计报告一、引言随着科技的不断进步,现代人们的生活越来越依赖于电子产品。
而在各种电子产品中,微控制器是其中非常重要的一种。
本次课程设计是基于C语言,利用单片机实现节日彩灯控制器。
二、设计目标本次课程设计的主要目标是通过C语言编写程序,利用单片机实现对彩灯进行控制。
具体地说,需要实现以下功能:1. 彩灯颜色切换:通过按键进行彩灯颜色的切换;2. 彩灯亮度调节:通过按键进行彩灯亮度的调节;3. 彩灯闪烁效果:通过按键实现彩灯闪烁效果。
三、硬件设计本次课程设计所使用的硬件如下:1. 单片机:STC89C52;2. LED彩灯模块;3. 5V直流电源;4. 按键模块。
四、软件设计1. 程序框架本次课程设计采用模块化编程思想,将整个程序分为三个模块:LED 控制模块、按键扫描模块和主函数模块。
其中,LED控制模块主要实现对彩灯的控制;按键扫描模块用于检测按键是否被按下,并将按键状态传递给主函数模块;主函数模块则是整个程序的核心,用于调用其他两个模块的函数,并根据按键状态进行相应的处理。
2. 程序流程(1)LED控制模块LED控制模块主要实现对彩灯颜色、亮度以及闪烁效果的控制。
具体流程如下:a. 初始化:设置P1口为输出口;b. 颜色切换:通过改变P1口输出电平来实现彩灯颜色的切换;c. 亮度调节:通过PWM技术来实现彩灯亮度的调节;d. 闪烁效果:通过定时器中断来实现彩灯闪烁效果。
(2)按键扫描模块按键扫描模块主要用于检测按键是否被按下,并将按键状态传递给主函数模块。
具体流程如下:a. 初始化:设置P3口为输入口;b. 扫描按键状态:循环检测P3口输入电平,如果检测到输入电平为低电平,则说明相应的按键被按下,将按键状态传递给主函数模块。
(3)主函数模块主函数模块是整个程序的核心,用于调用其他两个模块的函数,并根据按键状态进行相应的处理。
具体流程如下:a. 初始化:调用LED控制模块和按键扫描模块的初始化函数;b. 循环执行:循环检测按键状态,根据不同的按键状态调用LED控制模块中相应的函数实现彩灯控制。
基于单片机的彩灯控制器设计

基于单片机的彩灯控制器设计一、引言彩灯是一种可以调节颜色和亮度的灯光装置,被广泛应用于舞台灯光效果、建筑物装饰、商业广告、节日庆典等场合。
传统的彩灯控制器往往依赖于传感器和模拟电路实现,无法快速调节灯光效果,操作不方便。
为了实现更加灵活、方便的彩灯控制,本文将设计一款基于单片机的彩灯控制器。
二、系统设计本彩灯控制器系统设计基于单片机,通过单片机控制器实现对灯光的调节和控制。
系统硬件主要由单片机、彩灯模块、按键开关、显示模块和电源构成,软件主要由单片机程序编写实现。
1.单片机选择单片机是整个系统的核心控制器,选择合适的单片机至关重要。
根据给定的设计要求,选取具有较强处理能力和丰富外设接口的单片机。
一般来说,常用的51系列单片机和STM32系列单片机具备较好的性能和扩展能力。
2.彩灯模块设计彩灯模块是实现灯光调节的核心部分,可以使用RGBLED灯珠或者是WS2812灯带等灯光模块。
通过控制彩灯模块的亮度和色彩来实现不同的灯光效果。
3.按键开关设计通过按键开关来切换不同的灯光模式,实现系统的开关和功能选择。
可以设计多个按键开关,分别对应不同的灯光模式,通过按下不同的按键实现灯光模式的切换。
4.显示模块设计为了方便用户了解灯光的当前状态和模式选择,可以使用OLED显示模块或者数码管显示模块来实现数据的显示。
5.电源设计由于彩灯模块通常需要较高的驱动电流,所以需要提供稳定的电源。
可以采用电池供电或者是AC-DC转换器等方式,确保系统稳定运行。
三、系统实现1.程序设计通过单片机编程实现对彩灯的控制和灯光模式的切换。
根据不同的按键输入,设置对应的灯光参数和模式,通过单片机的I/O接口控制彩灯模块的亮度和色彩。
2.硬件连接按照设计要求,将单片机、彩灯模块、按键开关、显示模块和电源连接起来。
通过对应的引脚和接口进行连接,确保系统正常运行。
四、总结本文设计了一款基于单片机的彩灯控制器,通过单片机编程实现对彩灯的控制和灯光模式的切换。
单片机节日彩灯控制器设计彩灯控制器

单片机节日彩灯控制器设计彩灯控制器一、设计任务与要求(1)PD0:开始,按此键则灯开始流动(由上而下);(2)PD1:停止,按此键则停止流动,所有灯为暗;(3)PD2:上,按此键则灯由上向下流动;(4)PD3:下,按此键则灯由下向上流动。
二、方案设计与论证随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响彩灯效果,因此有必要对现有的彩灯控制器进行改进。
本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。
其硬件构成框图如图所示,以单片机为核心控制,由单片机最小系统,时钟电路、复位电路、电源、按键控制电路、LED发光二极管和5V直流电源电路组成。
图2单片机彩灯循环控制系统硬件框图开始键按下?停止键按下?正向键按下?反向键按下?灯全灭停止键按下?正向键按下?此设计方案中单片机的PD 口接4路按键控制电路,实现彩灯花型的切换功 能,单片机上的PB 口接8路LED 发光二极管组成彩灯电路,显示彩灯循环情况。
1、总体流程图设计2、键盘设计论证 方案一、独立式独立式键盘是各按键相互独立,每个按键各接一根输入线,一根输入线上的 按键工作状态不会影响到其他输入线上的工作状态。
因此,通过检测输入线的电 平状态可以很容易判断那个键被按下了。
独立式按键电路配置灵活,软件简单,但每个按键需要占用一根输入口线, 在按键数量较多时,需要较多的输入口线且 电路结构复杂,故此种键盘适用于按键较少或操作速度较高的场合。
(完整版)单片机控制节日彩灯控制器(内含汇编程序)

节日彩灯控制器一、设计目的1、了解节日彩灯控制器的工作原理2、掌握按键输入的消抖处理程序和延时程序的编写3、掌握电路板的实物焊接二、设计内容1、设计4个按键S17、S18、S19、S20,S17—开始,按此键则灯开始流动(由上而下)。
S18—停止,按此键则停止流动,所有灯为暗。
S19—上,按此键则灯由上向下流动。
S20—下,按此键则灯由下向上流动。
2、由按键控制功能的流水灯,其中的LED采取共阳极接法,通过依次向连接LED 的I/O口送出低电平,可实现题目要求的功能。
3、要求做出实物。
三、电路及连线设计图1电路图1、所需元器件1)电阻:10KΩ(1个)、200Ω(8个)、500Ω(2个)2)电容:10μF(1个)、30pF(2个)3)LED灯(8个)、按钮(4个)、晶振(12MHZ)四、使用说明1、使用5V电源供电2、按启动键S17,开始从右到左依次循环点亮3、按第一个转换键S19,灯变为从左到右依次循环点亮4、按第二个转换键S20, 灯变为从右到左依次循环点亮5、按停止按键S18,灯停止循环,全部熄灭五、流程图设计图2程序流程图六、程序设计如下org 00hljmp startorg 30hstart: mov p3,#0ffhjnb p3.3,kaishisjmp startstop: mov p1,#0ffhsjmp startkaishi: mov p1,#0fehlcall delayloop: mov a,p1rl amov p1,alcall delayjnb p3.2,stopjnb p3.1,kaishi ;判断有没有3号键按下jnb p3.0,fansjmp loopfan: mov p1,#07fhlcall delaylop: mov a,p1rr amov p1,alcall delayjnb p3.2,stopjnb p3.1,kaishi ;判断有没有3号键按下sjmp lopdelay: mov r6,#200 ;(4*250+3)*200+2=0.2sloop2: mov r7,#250loop1: nopnopdjnz r7,loop1djnz r6,loop2retend七、设计总结:感谢学校安排这次单片机小学期,让我们有了将理论与实践同步的机会。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
邯郸学院课程设计报告课程名称单片机题目节日彩灯控制器的设计学生学生学生学生指导教师年级专业二级学院邯郸学院2015年 1 月 5 日邯郸学院《单片机》课程设计任务书摘要节日彩灯是生活中常常的装饰物品,是我国普遍流行的传统的民间的综合工艺品。
彩灯艺术也是灯的综合性的装饰艺术。
在当今社会里,彩灯已经成为我们生活当中的一部分,能给我们带来视觉上的享受,还能美化我们的生活。
彩灯控制器主要是通过产生有规律变化的脉冲信号来实现彩灯的各种变化,他集中的应用了单片机、LED、自动控制等技术,是典型的基于单片机的电子产品。
本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现才在开启时满足不一样的闪亮方法及方式。
按K1—开始,按此键则灯开始流动(由上而下)。
K2—停止,按此键则停止流动,所有灯为暗。
K3—上,按此键则灯由上向下流动。
K4—下,按此键则灯由下向上流动。
按K5—从亮到暗到亮循环。
通过按键能方便使用者选择不一样的亮法。
并用仿真软件进行仿真按不同的方式点亮LED。
还有就是这节日彩灯的制作成本低、精确度高、装调容易,为节日增添气氛,具一定的市场价值,因此制作了此节日彩灯。
关键词:节日彩灯;单片机;LED;设计;仿真目录摘要 (3)一、概述 (5)二、任务要求 (5)三、硬件电路设计与分析 (5)1.AT89C51单片机 (5)1.1 AT89C51结构 (5)1.2 AT89S51引脚描述 (6)2.键盘设计 (8)3.定时器与复位模块 (8)3.1时钟电路 (8)3.2复位电路 (9)四、软件设计与论证 (10)五、功能仿真实现 (11)七、心得体会 (14)八、参考文献 (15)附录 (15)一、概述19世纪兴起的单片机以其先天的便捷、稳定的优点在现代电子技术电路中占有越来越重要的地位。
又有数字电路与模拟电路相比有显而易见的稳定性。
近年来,数字电路又有了巨大的发展。
可编程逻辑器件(PAL、GAL等)的发展和普及最终使IC的设计面向了用户(这是模拟电路无法做到的),而这毫无疑问会给用户带来巨大的便捷,从而奠定它在电子电路中的对位。
随着集成技术的进一步提高,各种新技术的出现和应用,人类历史横跨数码时代向更进一步发展已出现在各大型相关企业的宏伟蓝图中。
新世纪里谁掌握了新技术谁就得到了获胜的资本,也仅仅是资本而矣。
新世纪里电子行业的发展速度令人窒息,闻名的摩尔定律更把许多人威吓在门外。
可以展望,一个由数字构成的新世界即将出现。
那将是人类文明的又一飞跃,不仅可以获得良好的观赏效果,而且可以省电(与全部彩灯始终全亮相比)。
近年来,随着人们生活水平的较大提高,人们对于物质生活的要求也在逐渐提高,不光是对各种各样的生活电器的需要,也开始在环境的幽雅方面有了更高的要求。
比如日光灯已经不能满足于我们的需要,彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK包房,从节日的祝贺到日常生活中的点缀。
这些不紧说明了我们对生活的要求有了质的飞跃,也说明科技在现实运用中有了较大的发展。
彩灯是我国普遍流行的传统的民间的综合性的工艺品。
彩灯艺术也就是灯的综合性的装饰艺术。
新中国成立后,彩灯艺术得到了更大的发展,特别是随着我国科学技术的发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺。
二、任务要求(1)PD0: 开始,按此键则灯开始流动(由上而下);(2)PD1: 停止,按此键则停止流动,所有灯为暗;(3)PD2: 上,按此键则灯由上向下流动;(4)PD3: 下,按此键则灯由下向上流动。
三、硬件电路设计与分析1.AT89C51单片机1.1 AT89C51结构AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB 的FLASH可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。
片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。
因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。
AT89C51系列单片机对于一般用户来说,存在3个明显的特点:(1)内含Flash存储器。
因此在应用[2]系统的开发过程中可以十分容易的进行程序的修改,这就大大缩短了系统的开发周期;同时,在系统工作过程中,能有效的保存一些数据信息,即使外接电源损坏也不影响信息的保存。
(2)与80C51插座兼容。
AT89C51系列单片机的引脚与80C51是一样的,当用AT89C51单片机取代80C51时,可以直接进行取代。
这时,不管采用40引脚还是44引脚的产品,只要用相同引脚的AT89C51单片机取代80C51的单片机即可。
(3)静态时钟方式。
AT89C51单片机采用静态时钟方式,所以可以节省电能。
这对于降低便携式产品的功耗十分有用。
图1 AT89S51单片机结构图1.2 AT89S51引脚描述VCC(40):供电电压,其工作电压为5V。
GND(20):接地。
P0端口(P0.0-P0.7):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2端口(P2.0-P2.7):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3端口(P3.0-P3.7):P3口管脚是一个带有内部上拉电阻的8位的双向I/O 端口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。
P3口也可作为AT89C51的一些特殊功能口。
P3口同时为闪烁编程和编程校验接收一些控制信号。
复位RST(9):复位输入。
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
复位操作不会对内部RAM有所影响。
ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
PSEN(29):外部程序存储器的选通信号。
在由外部程序存储器取指令期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。
EA/VPP(31):当__ EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,__ EA将内部锁定为RESET;当__ EA端保持高电平时,此间内部程序存储器。
在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(19):反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(18):来自反向振荡器的输出。
2.键盘设计独立式键盘是各按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响到其他输入线上的工作状态。
因此,通过检测输入线的电平状态可以很容易判断那个键被按下了。
独立式按键电路配置灵活,软件简单,但每个按键需要占用一根输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘适用于按键较少或操作速度较高的场合。
按键直接与单片机的I/O 口线相接,通过读 I/O 口,判定 I/O 口线的电平状态,即可识别出按下的按键。
如图2图2独立式按键仿真图3.定时器与复位模块3.1时钟电路单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
(1)时钟电路 89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲,如图2所示。
图3时钟与复位电路仿真图图2中,电容器C2,C3起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。
晶振频率的典型值为12MHz,采用6MHz的情况也比较多。
内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。
3.2复位电路当AT89C51单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
常用的上电复位电路电容C1和电阻R19对电源+5V来说[20]构成微分电路。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图2所示。
开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位常用的上电或开关复位电路如图2所示。