节日彩灯控制器设计
节日彩灯的plc控制设计10个彩灯

节日彩灯的plc控制设计10个彩灯一、引言节日彩灯是丰富人们生活、增添节日氛围的重要元素。
在传统的节日庆祝活动中,彩灯装饰成为一种不可或缺的装饰方式。
而现代的彩灯装饰已经不再是简单的手工制作,而是通过自动控制系统实现了灯光的变化和效果。
本文将介绍一种PLC(可编程逻辑控制器)控制设计方案,用于控制10个彩灯。
二、控制方案设计1.系统组成本控制系统主要由可编程逻辑控制器(PLC)、驱动器、彩灯等组成。
其中,PLC是控制系统的核心,驱动器用于控制彩灯的亮灭和颜色变化。
2.系统连接彩灯通过驱动器与PLC连接。
PLC通过输出控制信号给驱动器,驱动器根据信号控制彩灯的亮灭和颜色变化。
PLC还通过输入接口获取外界的控制信号,如人体感应器的信号。
3.系统功能本控制系统的主要功能包括彩灯的亮灭控制、彩灯颜色的变化控制以及配合人体感应器的自动开关控制。
4.程序设计(1)彩灯的亮灭控制首先,PLC配置用于控制彩灯亮灭的输出接口,将控制信号传输给驱动器。
PLC应先输出亮灯信号,再输出灭灯信号,以控制彩灯的亮灭。
(2)彩灯颜色的变化控制彩灯的颜色变化可以通过RGB控制。
PLC配置用于控制彩灯颜色变化的输出接口,通过改变RGB三种颜色的占空比来实现颜色的变化。
(3)配合人体感应器的自动开关控制当人体感应器检测到周围没有人时,PLC应发送开关信号给驱动器,控制彩灯自动关闭。
当人体感应器检测到周围有人时,PLC应发送开关信号给驱动器,控制彩灯自动点亮。
5.彩灯排列方式本控制系统中的彩灯采用线性排列方式,分别编号为1-10。
PLC通过与驱动器的连接,即可控制每个彩灯的亮灭和颜色变化。
6.控制信号输出PLC通过输出接口控制驱动器,将控制信号传输给彩灯。
控制信号可以是开关信号、亮灯信号或颜色变化信号。
不同的信号在信号线上通过不同的电平表示。
7.系统电源本控制系统的电源可以采用交流电源或直流电源,根据实际情况选择。
三、总结通过本文的介绍,我们了解了一种PLC控制设计方案,用于控制10个彩灯。
节日彩灯控制器的设计

第2章节日彩灯控制器的设计一: 设计目的1.了解节日彩灯控制器的工作原理2.掌握按键输入的消抖处理程序和延时程序的编写3.掌握独立电源设计方法及原理4.掌握电路板的实物焊接二: 设计要求设计4个按键K1, K2, K3,K4K1—上, 按此键则灯由上向下流动。
K2—下, 按此键则灯由下向上流动。
K3—全亮, 按此键则灯全亮。
K4—停止, 按此键则停止流动, 所有灯为暗。
三: 总体方案设计与选择的论证随着人们生活环境的不断改善和美化, 在许多场合可以看到彩色霓虹灯。
LED彩灯由于其丰富的灯光色彩, 低廉的造价以及控制简单等特点而得到了广泛的应用, 用彩灯来装饰街道和城市建筑物已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现, 电路结构复杂、功能单一, 这样一旦制作成品只能按照固定的模式闪亮, 不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看, 亮灯模式少而且样式单调, 缺乏用户可操作性, 影响彩灯效果, 因此有必要对现有的彩灯控制器进行改进。
(一)设计方案彩灯控制器大致可分为两种方案实现。
一种是利用电子电路装置控制, 另一种是采用单片机控制。
方案一:根据设计任务要求介绍的彩灯控制电路的基本组成, 可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。
其框图如图1-1所示。
方案二:本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计, 来达到本设计的要求。
其硬件构成框图如图1-2所示, 以单片机为核心控制, 由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光二极管和5V直流电源电路组成此设计方案中单片机的P1口接5路按键控制电路, 实现彩灯花型的切换功能;单片机的P1口引脚接上四个按钮开关以实现对彩灯闪烁频率的控制, 即实现了快慢两种节拍实现花型的变换;单片机上的P2口接二十四路LED发光二极管组成彩灯电路, 显示彩灯循环情况。
单片机节日彩灯设计,C语言版

单片机课程设计报告书课题名称节日彩灯控制器设计 姓 名 学 号 院、系、部电气工程系 专 业电子工程及其自动化 指导教师2013年 7 月10日※※※※※※※※※※※※※ ※※ ※※※※※※※※※2010级单片机 课程设计节日彩灯控制器设计一、设计目的1、了解节日彩灯控制器的工作原理2、掌握电路板的实物焊接3、掌握独立电源设计方法和原理二、设计要求1、设计4个按键S0、S1、S2、S3,2、S0—开始,按此键则灯开始流动(由上而下)。
3、S1—停止,按此键则停止流动,所有灯为暗。
4、S2—上,按此键则灯由上向下流动。
5、S3—下,按此键则灯由下向上流动。
三、硬件电路设计3.1系统结构框图图3-1 系统结构框图节日彩灯控制系统主要由单片机、LED灯、5V电源及开关组成3.2 STC89C52单片机最小系统单片机最小系统包括:单片机,复位电路,晶振电路。
1、单片机的介绍:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。
当P0口的管脚第一次写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
节日彩灯控制器设计

单片原理及接口技术节日彩灯控制器设计班级学号:姓名:节日彩灯控制器设计1.设计要求与思路1.1设计要求在单片机的P0口接有8个发光二极管作为指示灯,P1.0~1.3接有4个按键开关,当不同脚上的按键按下时,实现如下功能:(1)按下P1.0脚的按键——8只灯全亮然后全灭,再全亮然后全灭,交替闪亮。
(2)按下P1.1脚的按键——按此键则停止点亮8只灯,所有灯全灭。
(3)按下P1.2脚的按键——LED指示由上向下流动点亮。
(4)按下P1.3脚的按键——LED指示灯由下向上流动点亮。
1.2设计思路由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。
其中的LED 采取共阳极接法,通过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。
1.3电路设计(PROTEUS软件仿真)2.代码设计代码使用keil uvision3软件编辑,并编译为HEX文件#include "reg51.h"#define uchar unsigned charsbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;void delay02s(void){unsigned char i,j,k;for(i=2;i>0;i--)for(j=200;j>0;j--)for(k=248;k>0;k--);}void delay05s(void){unsigned char i,j,k;for(i=5;i>0;i--)for(j=200;j>0;j--)for(k=248;k>0;k--);void k1yes(){P2=0x00;delay05s();P2=0xff;delay05s();}void k2yes(){P2=0xff;}void k3yes(){unsigned char i,count; count=0x01;for(i=0;i<8;i++){P2=~count;delay02s(); count=count<<1;}void k4yes(){count=0x80;for(i=0;i<8;i++){count=count>>1;P2=~count;delay02s();}}void main(void){while(1){if(k1==0) k1yes(); if(k2==0) k2yes(); if(k3==0) k3yes(); if(k4==0) k4yes();}}总结在这次设计中,我真诚地感谢老师和同学们的帮助,在他们的帮助下我顺利的完成了此次设计也使我对单片机的一些相应的周边知识有了更进一步的了解。
单片机节日彩灯控制器的课程设计论文

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 设计体会通过这次的设计使我认识到我对单片机方面的知识太重要了,对于书本上的很多知识还不够熟悉,有很多我们需要掌握的知识还没掌握,我会在以后的学习生活中弥补我所缺少的知识。
节日彩灯控制设计

PLC技术及应用课程设计(论文)题目:节日彩灯的PLC控制器设计院(系):专业班级:学号:学生姓名:指导教师:起止时间:学号学生姓名专业班级设计题目节日彩灯的PLC控制器设计课程设计(论文)任务设计任务:本例所选彩灯变换花样为跳闪方式:1隔1跳2,回1,隔1跳2,回跳1。
其动作时序表如下时序所示。
设计要求:1、根据控制要求进行方案选择论证,即分析系统功能,确定系统的输入/输出信号及类型,选择PLC主机、传感器和扩展模块。
2、根据输入/输出信号建立I/O分配表,完成PLC与输入/输出信号的外部接线。
3、按系统的控制要求,设计系统的梯形图。
4、上机调试、完善程序。
5、按学校规定的书写格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。
技术参数:控制按钮额定工作电压220V,约定发热电流5A,信号灯额定工作电压220V,功率小于0.4W ,PLC触点寿命≥500000次,时间误差≤0.5S。
工作计划布置任务,查阅资料,理解掌握系统的控制要求。
(1天)确定系统的输入/输出信号和类型,选择PLC主机和扩展模块。
(2天)建立I/O分配表,完成PLC与输入输出信号的外部接线。
(1天)按系统的控制要求,设计系统的梯形图。
(2天)上机调试、修改程序。
(1天)撰写、打印设计说明书(2天)答辩(1天)指导教师评语及成绩平时:论文质量:答辩:指导教师签字:总成绩:年月日摘要由于国内生活水平的不断提高,人们向往更佳的生活质量,单一的彩灯已经不能满足人们的需求,所以节日彩灯应运而生。
各式各样的彩灯已经成为了节日中不可或缺的一部分,我们的生活中有了彩灯的使用,我们的生活缤纷多彩,使夜色更加炫彩,更加充满活力,充满节日气氛。
本系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。
本系统便是基于PLC 控制的节日彩灯控制系统,通过对PLC的编程,来实现对节日彩灯的控制。
先进行总体方案的设计,确定整体的设计方案。
节日彩灯控制器课程设计报告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控制模块中相应的函数实现彩灯控制。
单片机课程设计节日彩灯控制器的设计

单片机课程设计--节日彩灯控制器的设计荆楚理工学院课程设计成果学院:电子信息工程学院班级:11电气工程及其自动化1班学生姓名:刘诗权学号: 2011401020127设计地点(单位):D1302设计题目: 节日彩灯控制器的设计完成日期: 2014 年 1 月3日指导教师评语:______________________________________________________________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ____________成绩(五级记分制):____________________教师签名:_____________________目录1 摘要 (1)2 系统简介 (2)2.1 总体设计方案说明 (2)2.2 单片机系统组成方框图 (2)2.3 AT89S51单片机介绍 (2)3 系统设计 (4)3.1 系统总体设计 (4)3.2 硬件电路设计 (5)3.3 软件设计 (7)4 实验结果与讨论 (11)5 结论 (12)6 参考文献 (12)7附录 (13)1 摘要随着科技的发展,节日彩灯已经作为节日的一个重要部分越来越丰富多彩了,同时它作为节日的一部分给我们的生活带来了许多美好。
本文分析了彩灯四种不同亮法的原理,基于汇编语言设计了一种按键控制的可以有四种不同亮法的彩灯,当按下第一个键的时候彩灯从上到下亮,按下第二个键时候彩灯从下到上亮,第三个键彩灯从中间到两边亮,第四个彩灯从两边到中间亮。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要随着微电子技术的发展,人民的生活水平不断提高,人们对周围环境的美化和照明已不仅限于单调的白炽灯,彩灯已成为时尚的潮流。
彩灯控制器的实用价值在日常生产实践日常生活中的作用也日益突出。
基于各种器件的彩灯也都出现,单片机因其价格低廉,使用方便,控制简单而成为控制彩灯的主要器件。
目前市场上更多用全硬件电路实现,电路结构复杂,结构单一,一旦制成成品就只能按固定模式,不能根据不同场合,不同时段调节亮度时间,模式和闪烁频率等动态参数,而且一些电路存在芯片过多,电路复杂,功率损耗大,亮灯样式单调缺乏可操作性等缺点,设计一种新型彩灯已迫不及待。
近年来,彩灯对于美化、亮化城市有着不可轻视的重要作用。
因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。
目前市场上各种式样的LED彩灯多半是采用全硬件电路实现,存在电路结构复杂、功能单一等局限性,因此有必要对现有的彩灯控制器进行改进。
本文介绍了一种简易LED彩灯控制系统的软硬件设计过程,以STC-89C51单片机作为主控核心与辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。
本系统具有电路结构简单、操作容易、硬件少、成本低等特点。
关键词:LED彩灯 STC-89C51单片机彩灯控制器前言现在这个时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本文是作者用自制了一款简易的流水灯,重点8贡献。
随着人们生活环境的不断改善和变化,在许多场合可以看到彩色霓虹灯。
彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到广泛应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。
目前彩灯种类繁多,但有一种趋势,冷光源、低功耗、寿命长的已渐成主流。
在照明工程中推广和普及使用,将为节约我国宝贵的资源,保护我们的环境发挥出巨大的作用。
本文根据单片机原理设计的一种彩灯电路。
本文侧重对彩灯的闪烁频率,亮灯时间及模式进行设计。
导向是软硬件兼使软件为主硬件为辅,很容易实现对彩灯的控制。
本电路没有复杂的结构,更容易让人理解接受。
操作起来更加简单、方便,当然效率也更高。
1单片机的介绍1.1单片机的简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
1.2单片机的发展史1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。
因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一。
1971年11月,Intel推出MCS-4微型计算机系统(包括4001 ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微处理器)其中4004(下图)包含2300个晶体管,尺寸规格为3mm×4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。
1972年4月,霍夫等人开发出第一个8位微处理器Intel 8008。
由于8008采用的是P 沟道MOS微处理器,因此仍属第一代微处理器。
1973年intel公司研制出8位的微处理器8080;1973年8月,霍夫等人研制出8位微处理器Intel 8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。
主频2MHz 的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS(Million Instructions Per Second)。
1975年4月,MITS发布第一个通用型Altair 8800,售价375美元,带有1KB存储器。
这是世界上第一台微型计算机。
1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。
Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。
当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。
20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。
MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。
2节日彩灯控制器设计内容2.1设计要求单片机为核心,设计一个节日彩灯控制器:P1.2—开始,按此键则灯开始流动(由上而下)。
P1.3—停止,按此键则停止流动,所有灯为暗。
P1.4—上,按此键则灯由上向下流动。
P1.5—下,按此键则灯由下向上流动。
2.2元件清单电气元件应用介绍:(1)限流电阻:在每个发光二极管一端添加一个限流电阻减小流过发光二极管的电流,防止损坏LED灯。
(2)发光二极管:半导体二极管的一种,可以把电能转化成光能。
由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。
其中的LED采取共阳极接法,通过依次向连接LED 的I/O口送出低电平,可实现题目要求的功能。
发光二极管与是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。
发光二极管的反向击穿电压大于5伏。
它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过二极管的电流。
(3)按键开关:按键开关在节日彩灯中的作用是通过按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。
(4)电解电容:在节日彩灯电路中用于稳定电压,它的容量大,便宜。
隔直流:作用是阻止直流通过而让交流通过。
旁路(去耦):为交流电路中某些并联的元件提供低阻抗通路。
耦合:作为两个电路之间的连接,允许交流信号通过并传输到下一级电路。
滤波:将整流以后的锯齿波变为平滑的脉动波,接近于直流。
储能:储存电能,用于必须要的时候释放。
(5)电容:定时:用在节日彩灯定时电路中的电容器称为定时电容。
在需要通过电容充电、放电进行时间控制的电路中使用定时电容电路,电容起控制时间常数大小的作用。
2.3设计思路1)以80C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。
按键可以在彩灯使用的时候选择不同的亮法,使彩灯流动的方向改变,键一可以使彩灯由上而下开始流动,键二可以使彩灯停止,三号键可以使彩灯由上而下流动,四键则可以使彩灯由下而上流动。
通过按键能方便使用者选择节日彩灯的开启、流动方向和停止2)利用模电原理设计,电路用数字电路完成。
结构复杂,以RY169电路为核心,加上发光二极管的特性以及继电器的原理构成,故障系数大,不易调试,成本可能较高。
3)利用单片机设计电路,由于使用软硬件结合的方式代替了数字电路的复杂性,所以电路结构简单、调试也相对方便,经济实惠。
与第二种方案比较优点是非常明显的。
此彩灯精度较高、造价低廉、装调容易。
4)由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。
其中的LED采取共阳极接法,通过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。
根据设计任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。
经过比较考证后我们选第四种方案来完成本次设计。
其框图如图1-1所示。
图1彩灯循环控制器硬件框图2.4电路设计(Proteus仿真通过)本节日彩灯控制器电路原理图,如下图所示,各按键功能与实验设计要求相同:(手绘图记得空格)2.5代码设计:程序设计是指设计、编制、调试程序的方法和过程。
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。
数据处理包括:数据的采集、数字滤波、标度变换等。
过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。
把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。
所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。
代码使用keil uvision4软件编辑,并编译为HEX文件。
ORG 0000H 下一条指令的代码的偏移地址为0000HAJMP START 是跳转到START标号的地址ORG 0030HORG 0030H INT0中断子程序起始地址START: MOV P0,#0FFH 初始化P0口MOV A,#0FEH A置初值,只有最左边或最右边灯亮JNB P1.2,LOOP 判断P1.2是否为0,为0跳转到LOOP,推测接按键,按键按下就跳转...JNB P1.3,LOOP1 判断P1.3是否为0,为0跳转到LOOP1,推测接按键,按键按下就跳转...JNB P1.4,LOOP2 判断P1.4是否为0,为0跳转到LOOP2,推测接按键,按键按下就跳转...JNB P1.5,LOOP3 判断P1.2是否为0,为0跳转到LOOP3,推测接按键,按键按下就跳转...AJMP START 跳至主程序STARTLOOP: MOV P0,A 读取 P0 口的状态LCALL DELJNB P1.3,LOOP1 判断P1.3是否为0,为0跳转到LOOP1,推测接按键,按键按下就跳转...RL A 循环左移 1AJMP LOOP PC指针就会一直很听话的在原地等定时器0的中断申请,处理完中断的服务程序后再跑会那里等下一次的中断申请LOOP1: MOV P0,#0FFH 初始化P0口JNB P1.4,LOOP2 判断P1.4是否为0,为0跳转到LOOP2,推测接按键,按键按下就跳转...JNB P1.5,LOOP3 判断P1.5是否为0,为0跳转到LOOP3,推测接按键,按键按下就跳转...AJMP LOOP1 PC指针就会一直很听话的在原地等定时器1的中断申请,处理完中断的服务程序后再跑会那里等下一次的中断申请LOOP2: JNB P1.2,LOOP 判断P1.2是否为0,为0跳转到LOOP,推测接按键,按键按下就跳转...JNB P1.3,LOOP1 判断P1.3是否为0,为0跳转到LOOP1,推测接按键,按键按下就跳转...JNB P1.5,LOOP3 判断P1.5是否为0,为0跳转到LOOP3,推测接按键,按键按下就跳转...MOV P0,A 读取 P0 口的状态LCALL DELRL AAJMP LOOP2 PC指针就会一直很听话的在原地等定时器2的中断申请,处理完中断的服务程序后再跑会那里等下一次的中断申请LOOP3: JNB P1.2,LOOP 判断P1.2是否为0,为0跳转到LOOP,推测接按键,按键按下就跳转...JNB P1.3,LOOP1 判断P1.3是否为0,为0跳转到LOOP1,推测接按键,按键按下就跳转...JNB P1.4,LOOP2 判断P1.4是否为0,为0跳转到LOOP2,推测接按键,按键按下就跳转...MOV P0,A 读取 P0 口的状态LCALL DELRR A 循环右移,LOOP点亮下一个AJMP LOOP3 PC指针就会一直很听话的在原地等定时器3的中断申请,处理完中断的服务程序后再跑会那里等下一次的中断申请DEL: MOV R5,#02HDEL1: MOV R6,#0F0HDEL2: MOV R7,#0F0HDEL3: DJNZ R7, DEL3DJNZ R6, DEL2DJNZ R5, DEL1RETEND3 AT89C51单片机结构AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH 可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。