节日彩灯控制程序设计毕业设计.docx

上传人:b****5 文档编号:7899956 上传时间:2023-01-27 格式:DOCX 页数:42 大小:578.19KB
下载 相关 举报
节日彩灯控制程序设计毕业设计.docx_第1页
第1页 / 共42页
节日彩灯控制程序设计毕业设计.docx_第2页
第2页 / 共42页
节日彩灯控制程序设计毕业设计.docx_第3页
第3页 / 共42页
节日彩灯控制程序设计毕业设计.docx_第4页
第4页 / 共42页
节日彩灯控制程序设计毕业设计.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

节日彩灯控制程序设计毕业设计.docx

《节日彩灯控制程序设计毕业设计.docx》由会员分享,可在线阅读,更多相关《节日彩灯控制程序设计毕业设计.docx(42页珍藏版)》请在冰豆网上搜索。

节日彩灯控制程序设计毕业设计.docx

节日彩灯控制程序设计毕业设计

 

毕业设计

题目:

节日彩灯控制系统的设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

摘要

节日彩灯使生活中常常用到的装饰物品。

它集中地运用了单片机、LED、自动控制等技术,是典型的基于单片机的电子产品。

例如霓虹灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且与全部彩灯始终全亮相比可以省电。

近年来,随着人们生活水平的较大提高,人们对于物质生活的要求也在逐渐提高,不光是对各种各样的生活电器的需要,也开始在环境的幽雅方面有了更高的要求。

比如日光灯已经不能满足于生活的需要,彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK包房,从节日的祝贺到日常生活中的点缀,从广告牌的设计和节日彩灯的设计都能运用到它的原理。

这些不紧说明了我们对生活的要求有了质的飞跃,也说明科技在现实运用中有了较大的发展。

在这一设计中将涉及有关彩灯控制器的设计,从原理上使对这一设计有所了解。

将其确实的与生活相联系起来。

本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。

按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右到左循环点亮,三号键使两端灭,中间亮,再对半交替亮,然后再奇偶亮。

通过按键能方便使用者选择不同样的亮法。

 

关键词:

AT89C51;节日彩灯;循环

 

第2章总体设计方案的选择和论证.....................................2

2.1方案一的概述·················································2

2.2方案二的概述·················································2

2.3方案的最终选择和论证··········································3

3.1控制器的AT98C51单片机的硬件结构······················6

3.2控制器硬件设计··············································11

致谢·······························································30

参考文献............................................................30

第1章绪论

节日彩灯使生活中常常用到的装饰物品。

它集中地运用了单片机、LED、自动控制等技术,是典型的基于单片机的电子产品。

随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。

在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。

在娱乐方面,场地的装饰离不开彩灯。

在建筑方面也采用彩灯来装饰高楼大厦。

彩灯又灵活多变的点亮方式,装饰效果非常好,特别时晚上使得高楼大厦更加漂亮。

是彩灯的应用才使得城市的夜景非常迷人。

在国内外,微控制系统主要采用单片机作为控制核心。

因此,单片机的发展将有助于简单实用电子产品的开发。

在本设计中,采用比较先进的AT89C51单片机为控制核心,它的功耗很低。

单片机技术发展至今,掌握最先进技术的仍然是国外的几大公司。

如Intel公司发展的MCS-51系列的新一代产品,如8xC152、80C51FA/FB、80C51GA/GB、8xC451、8xC452,还包括了Philips、Siemens、ADM、Fujutsu、OKI、Harria-Metra、ATMEL等公司以80C51为核心推出的大量各具特色﹑与80C51兼容的单片机。

新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,可连接一些外部接口功能单元如A/D、PWM、PCA(可编程计数器阵列)﹑WDT(监视定时器)﹑高速I/O口、计数器的捕获/比较逻辑等。

这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。

Philips公司还为这一代单片机80C51系列8xC592单片机引入了具有较强功能的设备间网络系统总线---CAN(ControllerAreaNetworkBUS)。

 

第2章总体方案的设计与论证

2.1方案一概述

我们用C语言设计了一个十六路彩灯控制器,六种花型循环变化,有清零开关,并且可以选择快慢两种节拍。

工作原理:

整个系统共有三个输入信号CP,S和K,十六路输出信号。

时钟信号CP由外部输入到节拍发生器,节拍选择信号S先输入到控制器.再由控制器输出选择控制信号Y到节拍发生器,随时控制快慢节拍的转换。

节拍发生器产生的节拍信号分别输出到控制器、编码电路和驱动电路。

编码电路输出反馈信号给控制器,控制器输出信号控制编码电路的各个子模块交替工作,产生六种花型,再由驱动电路将信号输出到彩灯。

K为清零信号,由外部输到控制器。

K0时,系统回到等待状态,彩灯全灭;KI时。

系统工作。

我们采取自顶向下的设计方法,将电路分为控制器和受控制器,各部分电路的作用如下:

1.受控电路包括节拍发生器驱动电路和编码电路。

节拍发生器:

提供快、慢两种节拍。

驱动电路:

提供彩灯工作所需的电压及电流,隔离负载对编码电路的影响。

编码电路:

根据花型要求按节拍输出十六位状态编码信号。

以控制彩灯接规律亮灭。

2.控制器:

为节拍发生器和编码电路提供控制信号,同步整个系统的工作控制器通过控制编码电路中各个模块的交替工作来实现各个花型的转换。

2.2方案二概述

同样我们用C语言设计了一个十六路彩灯控制器,六种花型循环变化,有清零开关,并且可以选择快慢两种节拍。

本控制电路采用C语言设计。

运用自顶而下的设计思想,按功能逐层分割实现层次化设计。

根据多路彩灯控制器的设计原理,将整个控制器分为两个部分,分别为时序控制模块和显示控制模块。

时序控制模块实现的功能是产生1\4和1\8的时钟信号。

显示控制模块中实现的六种花型,整个电路仅有时序控制和显示控制两个模块。

2.3方案的最终选择和论证

方案一总体由受控电路和控制器组成,而受控电路又包括节拍发生器,驱动电路和编码电路。

它将花型控制与节拍控制两种功能融合在一起,是考虑到只要计数器就可以实现其全部功能,且原理相对简单。

如此设计,其优点在于:

设计思想比较简单,元件种类使用少,充分利用了各种元件,且因熟悉,比较易于组装电路;缺点则是:

中间单元电路连线过多,容易出错,且可能出现线与关系;分析电路时不易弄清楚,不易于电路的修改。

方案二由时序控制电路和显示控制电路组成,电路组成较方案一简单。

且检查电路时易于分析修改,虽然原理相对复杂,但单元电路模块少,而且方案二程序编写简单易懂,并能够灵活地添加或删减程序实现多种花型的变化,有很大的灵活性。

因此,我们选择了方案二进行进一步的设计。

第3章控制器硬件电路设计

单片机(SCM)是单片微型计算机(SingleChipMicrocomputer)的简称。

它是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。

随着SCM在技术上、体系上不断扩展其控制功能,国际上已经采用MCU(MicroControllerUnit)代替单片机的名词。

它的最大优点是体积小,可放在仪表内部。

但存储量小,输入输出适配器简单,功能较低。

目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。

近年来,AT89C51在我国非常流行,它最大的特点是内部有可以多次重复编程的闪烁ROM,并且闪烁ROM可以直接用编程器来擦写(电擦写),使用起来比较方便。

一个单片机应用系统的硬件电路设计包含有两部分内容:

一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。

二是系统配置,既要按照系统功能要求配置外围设备,如键盘显示器﹑打印机﹑A/D﹑D/A转换器等,又要设计合适的接口电路。

本系统采用AT89C51单片机作为中央处理器。

其主要任务收集按键的信息,判断按键时否按下来执行相应彩灯的点亮方式

在本系统中,AT89C51单片机的P1口用于接按键,方便使用者选择方式。

P0口接的时LED彩灯。

3.1控制器中AT89C51单片机硬件结构

AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。

片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。

因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。

3.1.1控制器的主要特性

(1)与MCS-51产品指令系统兼容

(2)4K字节可编程闪烁存储器

(3)寿命:

1000写/擦循环

(4)数据保留时间:

10年

(5)全静态工作:

0Hz-24Hz

(6)三级程序存储器锁定

(7)128*8位内部RAM

(8)32可编程I/O线

(9)两个16位定时器/计数器

(10)6个中断源

(11)可编程串行通道

(12)低功耗的闲置和掉电模式

(13)片内振荡器和时钟电路

另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到零并提供两种软件的省电方式-空闲方式和掉电方式。

在空闲方式中,CPU停止工作。

在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下次硬件复位为止。

 

3.1.2管脚说明

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的一些特殊功能口,如表3-1所示。

表3-1P3端口引脚兼用功能表

P3口同时为闪烁编程和编程校验接收一些控制信号。

复位RST(9):

复位输入。

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。

当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。

复位操作不会对内部RAM有所影响。

ALE/

(30):

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

(29):

外部程序存储器的选通信号。

在由外部程序存储器取指令期间,每个机器周期两次

有效。

但在访问外部数据存储器时,这两次有效的

信号将不出现。

EA/VPP(31):

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;当

端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1(19):

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2(18):

来自反向振荡器的输出。

其引脚图如图3-1所示。

图3-2AT89C51引脚图

3.1.3控制器中振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

3.1.4芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.1.5控制器中AT89C51最小系统

AT89C51最小系统接线如图3-2所示,在XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,如需要按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。

图3-3AT89C51最小系统

3.2控制器电路设计

将MUC、LED和按键进行PROTEUS设计。

打开PROTEUS的ISIS编辑环境,从PROTEUS中选取该电路所需要的元器件,放置元器件、放置电源和地、连线得到如图3.7所示的电气原理图,再点菜单栏工具下拉的电气规则检查,当规则检查出现:

“NETLISTGENERATEDOKNOERCERRORDFOUND”,表示通过检查。

电路设计完成。

图3-4系统部分电气原理图

 

第4章控制器软件设计

4.1控制器程序设计

程序设计(Programming)是指设计、编制、调试程序的方法和过程。

它是目标明确的智力活动。

在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。

因此,软件设计在微机控制系统设计中占重要地位。

对于本系统,软件也占有重要的地位。

在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。

数据处理包括:

数据的采集、数字滤波、标度变换等。

过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。

为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。

把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。

所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。

模块程序设计法的主要优点是:

(1)单个模块比起一个完整的程序易编写、调试及修改。

(2)程序的易读性好。

(3)程序的修改可局部化。

(4)模块可以共存,一个模块可以被多个任务在不同条件下调用。

(5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。

本系统软件采用模块化结构,由主程序﹑方式一,方式二,方式三,方式四和延时等子程序构成。

4.2控制器主程序设计

在系统的程序设计中,主控模块只负责根据消息调用相应模块的处理函数,具体如何处理这些消息由各功能模块中的对应程序决定。

当收到按键一按下使P1.0的电平有高电平变成低电平时,主程序就跳到方式一的子函数执行,这样就实现了方式一的点亮。

当收到按键二按下使P1.1的电平有高电平变成低电平时,主程序就跳到方式二的子函数执行,这样就实现了方式一的点亮。

当收到按键三按下使P1.2的电平有高电平变成低电平时,主程序就跳到方式三的子函数执行,这样就实现了方式一的点亮。

当收到按键四按下使P1.3的电平有高电平变成低电平时,主程序就跳到方式四的子函数执行,这样就实现了方式一的点亮。

控制器系统程序:

org00h

ljmpstart

org30h

start:

movsp,#60h

movp0,#0ffh

jnbp1.0,paoma

jnbp1.1,zyc

jnbp1.2,zbc

jnbp1.3,gdjo

sjmpstart

paoma:

movp0,#0feh;1键跑马子程序

restart:

movr7,#7

loop:

mova,p0

rla

lcalldelay

movp0,a

jbp1.0,start

djnzr7,loop

sjmprestart

ret

zyc:

movp0,#0feh;2键左右循环

mova,p0

restart1:

movr5,#7

movr4,#7

loop3:

;mova,p0

jbp1.1,start

rla

lcalldelay

movp0,a

djnzr5,loop3

loop4:

rra

lcalldelay

movp0,a

djnzr4,loop4

sjmprestart1

ret

zbc:

movp0,#0c3h;3键中边循环

loop5:

mova,p0

jbp1.2,start

swapa

lcalldelay

movp0,a

sjmploop5

ret

gdjo:

movp0,#0f0h;4键高低奇偶交替

mova,p0

swapa

lcalldelay

movp0,a

movp0,#55h

loop6:

mova,p0

jbp1.3,start

rla

lcalldelay

movp0,a

sjmploop6

ret

delay:

;延时

movr6,#200

loop2:

movr7,#250

loop1:

nop

nop

djnzr7,loop1

djnzr6,loop2

ret

end

4.3控制器系统方式一程序设计

当按下一号键时,主程序跳到方式一子数,彩灯循环点亮。

控制器系统方式一子程序:

paoma:

movp0,#0feh;1键跑马子程序

restart:

movr7,#7

loop:

mova,p0

rla

lcalldelay

movp0,a

jbp1.0,start

djnzr7,loop

sjmprestart

ret

4.4控制器系统方式二程序设计

当二号键按下时,主函数跳转到方式二的子程序执行,使彩灯的变换方式为右左到右循环点亮再由右向左循环点亮。

 

图4-3方式二流程图

 

控制器系统方式二子程序:

zyc:

movp0,#0feh;2键左右循环

mova,p0

restart1:

movr5,#7

movr4,#7

loop3:

;mova,p0

jbp1.1,start

rla

lcalldelay

movp0,a

djnzr5,loop3

loop4:

rra

lcalldelay

movp0,a

djnzr4,loop4

sjmprestart1

ret

4.5控制器系统方式三子程序设计

当按下三号键的时,主函数跳转到方式三子程序,使彩灯的变换方式为,两端的两个LED灯亮中间的四个灭,再中间四个亮两边的两个灭,依次这样循环。

控制器系统方式三子程序:

zbc:

movp0,#0c3h;3键中边循环

loop5:

mova,p0

jbp1.2,start

swa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1