单片机课程设计---艺术彩灯控制系统设计.doc_第1页
单片机课程设计---艺术彩灯控制系统设计.doc_第2页
单片机课程设计---艺术彩灯控制系统设计.doc_第3页
单片机课程设计---艺术彩灯控制系统设计.doc_第4页
单片机课程设计---艺术彩灯控制系统设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机系统综合设计报告 课题名称:艺术彩灯控制系统设计 目 录.一 概述1 1.1 艺术彩灯的设计背景及意义1 1.2 系统设计功能概述1 .二 彩灯设计内容简要1 2.1 彩灯设计内容1 2.2 彩灯设计要求1 2.3 彩灯设计原理1 2.4 彩灯总体控制框图2.三 硬件电路设计2 3.1 硬件组成2 3.2 at89c51单片机硬件结构3 3.3 系统的硬件构成及功能4.四 系统的软件设计54.1 程序流程图64.2 软件程序7.五 设计体会8.六 参考文献9 艺术彩灯控制系统设计一 概述11 艺术彩灯的设计背景及意义彩灯是人们日常生活中的一种装饰用品,它美观大方,尤其在节日期间,倍增节日气氛。它蕴涵着丰富的文化底蕴,被广泛地应用于各种店面的装饰。变换无穷的彩灯样式,给城市增添活力,吸引着人们的注意力,深受人民的喜爱。在日常生活中,人们还将彩灯摆放成各种图案,增添美感。随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展。科学技术更加贴近人们的生活,向着满足人们需求的方向发展。节日彩灯的设计与制作工艺也一步一步的走向成熟。1.2 系统设计功能概述本设计是以at89c51单片机为基础的彩灯控制方案,来实现对led彩灯的控制。以at89c51单片机作为主控核心,与键盘、显示、驱动等模块组成核心主控制模块。在主控模块上设有5个按键和8位led状态显示器,根据实验要求编写若干种亮灯模式,利用其内部定时器t0实现一个基本单位时间为5ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。二彩灯设计内容简要:2.1彩灯设计内容:1设计并实现具有复位功能的单片机小系统;2利用单片机进行灯光的场景开关控制;3利用单片机进行灯光的循环点亮控制及速度变化控制;4利用单片机进行灯光的色彩连续变化效果控制。5利用单片机进行灯光的三色联动定时控制。2.2彩灯设计要求:1能启动、停止;2能通过开关进行功能选择;3要体现循环、组合和色彩变化的控制功能和效果,实现三色联动定时控制,控制变化规律的类型或功能不少于5种;2.3彩灯设计原理: 主控模块主要设计器件有89c51,8个led状态显示器,6个按键,3个稳压器(提供5 v电压)。通过软件设计,使单片机p1口作为三色led驱动信号输出口及移位时钟clock信号,p0口为按键输入口,p2口、p1口与8位七段码led相接作为显示器的输出口。2.4彩灯总体控制框图:led显示电路时钟电路复位电路按键电路at89c51单片机三硬件电路设计:3.1硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。at89c51单片机是美国atmel公司生产的低电压、高性能cmos 8位单片机,具有丰富的内部资源:4kb闪存、128bram、32根i/o口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.255.50v的电压工作范围和024mhz工作频率,使用at89c51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机3.2 at89c51单片机硬件结构:at89c51是一种带4k字节闪存可编程可擦除只读存储器(fperomflash programmable and erasable read only memory)的单片机芯片,它采用静态cmos 工艺制造8位微处理器,最高工作频率位24mhz。at89c5外形及引脚排列如图所示: 管脚说明: rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次psen有效。但在访问外部数据存储器时,这两次有效的psen信号将不出现。 ea/vpp:当ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,ea将内部锁定为reset;当ea端保持高电平时,此间内部程序存储器。 xtal1和xtal2:反向振荡放大器的输入及内部时钟工作电路的输入。 33系统的硬件构成及功能描述:控制系统硬件设计电路图如图所示: 系统硬件设计电路图功能描述:系统硬件设计电路主要由四部分组成:按键复位电路、时钟振荡电路、按键电路、led显示电路。按键复位电路:复位是单片机的初始化操作,其作用是使cpu中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。在接电瞬间rst端的电位与vcc相同,随着电容充电电流的减小,+5v立即加到了rst/vpd端,rst的电位逐渐下降。 时钟振荡电路:在at89c51的外部,xtal1和xtal2之间跨越晶体振荡器和微调电容,从而构成一个自激振荡器,形成时钟振荡电路。时钟电路产生的振荡脉冲经过触发器二分频后,形成单片机的时钟脉冲信号。按键电路:用p0.0p0.5五个i/o口作为输入口,按键输入均采用低电平有效。独立式按键的软件可采用中断方式和查询方式,本设计中按键程序的就是采用中断方式。图中p0.0的按键是场景开关,即控制整个系统。led显示电路:发光二极管与单片机的p1口相连接,其电路图如图所示。发光二极管接+5v电源,其他管脚分别接p1口的8个端口.此次设计发光二极管可显示两种状态,适合用于显示系统状态。此处用到8个,红、绿、黄三种led彩灯控制器(89c51主控模块)和led彩灯管(管内led板模块)。 四系统的软件设计 4.1程序流程图: 程序如下:org 0000h ajmp start ;指向主程序 org 0010hmain:mov p1,#0ffh ;设置p1口为输入口start: mov p0,#0ffh ;初始状态,选择场景控制开关 jnb p0.0,key0 sjmp startkey0: jnb p0.1, key1 jnb p0.2, key2 jnb p0.3, key3 jnb p0.4, key4 sjmp startstart1: mov p0, #0ffh acall delay mov a, p1 ;送显示初值 jnb acc.1, key1 ;acc.1=0?若为0则p1.1对应的键按下,转key1 jnb acc.2, key2 ;acc.2=0?若为0则p1.2对应的键按下,转key2 jnb acc.3, key3 ;acc.3=0?若为0则p1.3对应的键按下,转key3 jnb acc.4, key4 ;acc.1=0?若为0则p1.4对应的键按下,转key4 sjmp start1 key1:movr2,#08h movr5,#0fehnext0:mova,p0 jnb acc.3,key4 jnb acc.4,key3 jb acc.0,main mova,r5 movp1,a ;点亮灯 acalldelay mova,r5 rl a ;左移,下一个灯亮 movr5,a djnzr2,next0 sjmpkey1key2: mov a,p0 ;按键2,三色联动,jb acc.0,main ;检测开关是否按下 jnb acc.4, key3 jnb acc.3, key4 mov p1,#0dah acall delay2 mov p1,#0c7h acall delay2 mov p1,#06eh acall delay2 ajmp key2lp1: jbc tf1, lp2 sjmp lp1lp2: mov th1, #0b1h mov tl1, #0e0h djnz r3, lp1 retkey3: acall delay mov a,r6 ;循环点亮加速 add a,#3h mov r6,a sjmp next0key4 : acall delay ;循环点亮减速 mov a,r6 mov a,#3h mov r6,a sjmp next0delay: mov r3, #14h ;加速减速,延时程序 mov tmod, #10h mov th1, #0b1h mov tl1, #0e0h setb tr1delay2:calldelay call delay ret end五设计体会:历时五个星期的单片机课程设计,我从中受益匪浅。因为对我而言学到的不仅是专业知识,而且是团队的合作精神。在本次课程设计中,我主要感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。作为一个团队,分工就显得尤为重要,我主要负责系统硬件电路设计和最终调试的任务,我和搭档互相帮助,彼此勉励,有问题一起寻求解决之道。虽然一开始我们就对方案的选择发生分歧,但这丝毫不影响我们的交流、探讨。因为大家初衷是一样的。开始设计的功能不能全部实现出来,于是拿着程序反复分析和修改,在老师和同学的帮助指导下最终找出错误所在。经过总结和分析,我和组员一致认为要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。 这次课程设计使我明白理论与实际相结合的重要,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论