单片机花样彩灯课程设计报告.doc_第1页
单片机花样彩灯课程设计报告.doc_第2页
单片机花样彩灯课程设计报告.doc_第3页
单片机花样彩灯课程设计报告.doc_第4页
单片机花样彩灯课程设计报告.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、引言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 led 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 led 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过pc机和其他计算的总和,甚至比人类的数量还要多。课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。该程序示例了单片机键盘控制p1口流水灯花样的方法;具体表现为:p3.2 3.2 3.4 3.5四个小本文提出了一种基于at89s51单片机的彩灯控制方案,实现对led彩灯的控制。按键,分别实现了四个控制。通过这次实验,我们也了解了团队合作的重要性,集体的力量是伟大的,一个人如何融入一个团队是是一个重要问题,讲究合作才能取得最后的成功!2、设计原理2.1 mcs51单片机引脚说明mcs单片机都采用40引脚的双列直插封装方式。图2-9为引脚排列图, 40条引脚说明如下:1、主电源引脚vss和vcc vss接地 vcc正常操作时为+5伏电源2、外接晶振引脚xtal1和xtal2 xtal1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 xtal2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。3、控制或与其它电源复用引脚rst/vpd,ale/,和/vpp rst/vpd 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在vcc掉电期间,此引脚可接 图2-9 8051引脚排列图上备用电源,由vpd向内部提供备用电源,以保持内部ram中的数据。 ale/ 正常操作时为ale功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ale 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ale脉冲,ale 端可以驱动(吸收或输出电流)八个lsttl电路。 对于eprom型单片机,在eprom编程期间,此引脚接收编程脉冲(功能) 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八lsttl输入。 /vpp 、 /vpp为内部程序存储器和外部程序存储器选择端。当/vpp为高电平时,访问内部程序存储器,当/vpp 为低电平时,则访问外部程序存储器。对于eprom型单片机,在eprom编程期间,此引脚上加21伏eprom编程电源(vpp)。4、输入/输出引脚p0.0 - p0.7,p1.0 - p1.7,p2.0 - p2.7,p3.0 - p3.7。 p0口(p0.0 - p0.7)是一个8位漏极开路型双向i/o口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,p0口能以吸收电流的方式驱动八个lsttl负载。 p1口(p1.0 - p1.7)是一个带有内部提升电阻的8位准双向i/o口。能驱动(吸收或输出电流)四个lsttl负载。 p2口(p2.0 - p2.7)是一个带有内部提升电阻的8位准双向i/o口,在访问外部存储器时,它输出高8位地址。p2口可以驱动(吸收或输出电流)四个lsttl负载。 p3口(p3.0 - p3.7)是一个带有内部提升电阻的8位准双向i/o口。能驱动(吸收或输出电流)四个lsttl负载2.2 led显示数码管led有共阴极和共阳极两种。如图所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5v的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段led不被损坏,需外加限流电阻。led数码管结构原理图:共阳极at89c2051芯片的20个引脚功能为:vcc 电源电压。gnd 接地。rst 复位输入。当rst变为高电平并保持2个机器周期时,所有i/o引脚复位至“1”。xtal1 反向振荡放大器的输入及内部时钟工作电路的输入。xtal2 来自反向振荡放大器的输出。p1口 8位双向i/o口。引脚p1.2p1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。p1.0和p1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(ain0)和反向输入(ain1),p1口输出缓冲器能接收20ma电流,并能直接驱动led显示器;p1口引脚写入“1” 后,可用作输入。在闪速编程与编程校验期间,p1口也可接收编码数据。p3口 引脚p3.0p3.5与p3.7为7个带内部上拉的双向i/0引脚。p3.6在内部已与片内比较器输出相连,不能作为通用i/o引脚访问。p3口的输出缓冲器能接收20ma的灌电流;p3口写入“1”后,内部上拉,可用输入。p3口也可用作特殊功能口。2.3中断指令。在cpu和外设交换信息时,存在着快速cpu和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为此,计算机中通常采用中断技术。cpu和外设并行工作,当外设数据准备好( 或有某种突发事件发生)时向cpu提出请求,cpu暂停正在执行的程序转而为该外设服务(或处 理紧急事件),处理完毕再回到原断点继续执行原程序。中断优先级:当有多个中断源同时 向cpu申请中断时,cpu优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的 ,这种预先安排的响应次序。 中断的嵌套:在中断系统中,高优先级的 中断请求能中断正在进行的较低级的中断源处理,(1)中断技术是实时控制中的常用技术,51系列单片机有三个内部中断,二个外部中断。所谓 外部中断就是在外部引脚上有产生中断所需要的信号。每个中断源有固定的中断服务程序的入口地址(称矢量地址或向量地址)。当cpu响应中断以 后单片机内部硬件保证它能自动的跳转到该地址。因此,此地址是应该熟记的,在汇编程序 中,中断服务程序应存放在正确的向量地址内。(或存放一条转移指令);而在c语言中是靠interrupt n的关键字n自动设置的。 (2)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器ie,中断优先权寄存器ip ,必须在cpu开中断即开全局中断开关ea,开各中断源的中断开关,cpu才能响应该中断源的 中断请求,其中缺一不可。(3)从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌握中断响应的过程, 才能理解中断的发生和返回,看得懂中断程序,并能编写高质量中断程序。表2.1 常用中断符号名 称中 断 引 起 原 因中断服务程序入口int0外部中断0p3.2引脚的低电平或下降沿信号0003hint1外部中断1p3.3引脚的低电平或下降沿信号0013ht0定时器0中断定时计数器0计数回零溢出000bht1定时器1中断定时计数器1计数回零溢出001bht2定时器2中断定时计数器2中断(tf2或t2ex信号)002bhti/ri串行口中断串行通信完成一帧数据发送或接收引起中断0023h3、硬件原理图晶振(12mhz)定时1秒,对于12mhz的晶振而言,其时钟周期t=1/f=1/12us,而89c51的一个机器周期包括12个时钟周期,所以一个机器周期为1us,对于t0而言,使之工作于16-bit,最大计时为65536*1=65536us,需要多次定时才能实现一秒定时。4、软件设计4.1流程图初始化 int1按下?有键按下? n yt1按下?t0按下?int1按下?int0按下? n y n y n y n y间隔点亮动点亮逐点熄灭逐点点亮流水灯4.2源程序org 0000h ;中断入口程序;ljmp startorg 0003hretiorg 000bhretiorg 0013hretiorg 001bhreticlear: ret; ; 初始化程序 ;start:acall clear ; 主 程 序 star1:mov p3,#0ffhjnb p3.2,fun2jnb p3.3,fun3 ;关闭按纽jnb p3.4,fun0jnb p3.5,fun1jnb f0,star1 ;曾经有键按下f0置1ret;fun0:lcall dl10ms ;消除抖动jb p3.4,star1waitl0:jnb p3.4,waitl0 ;等待键释放setb f0fun01:lcall fun00lcall star1ljmp fun01;fun1:lcall dl10ms ;消除抖动jb p3.5,star1waitl1:jnb p3.5,waitl1 ;等待键释放setb f0fun10:lcall fun11lcall star1ljmp fun10;fun2:lcall dl10ms ;消除抖动jb p3.2,star1waitl2:jnb p3.2,waitl2 ;等待键释放setb f0fun20:lcall fun22lcall star1ljmp fun20;fun3:lcall dl10ms ;消除抖动jb p3.3,star1waitl3:jnb p3.3,waitl3 ;等待键释放clr f0mov p1,#0ffh ;关显示ljmp star1;fun00:mov a,#0feh ;从p1.0到p1.7移动点亮fun000:mov p0,alcall dl05sjnb acc.7,outrl aajmp fun000out: ret;fun11:mov a,#0feh ;从p1.0到p1.7依次点亮fun111:mov p1,alcall dl05sjz outrl aanl a,p1ajmp fun111;fun22:mov a,#0feh ;间隔点亮fun222:mov p1,alcall dl01scpl arl a mov p1,alcall dl01sret;fun33: mov a,#01h ;逐点熄灭fun333: mov p1,alcall dl01sjnz outrl aorl a,p1ajmp fun333dl01s:mov r2,#0ffh ; 延时程序 mov r7,#02hloop1: djnz r2,loop1loop5:djnz r7,dl512retdl10ms:mov r3,#14hloop2: lcall dl512djnz r3,loop2retdl05s:mov r4,#0ahloop3: lcall dl10msdjnz r4,loop3retdl30s:mov r5,#03hloop4:lcall dl05sdjnz r5,loop4 ret end4.2一秒钟定时程序mov b,#0ah ;允许中断mov tmod,#01h ;工作方式1mov th0,#0b0h mov tl0,#3chsetb tr0 ;启动计数setb ea ;开中断bu:jbc tf0,shisjmp bushi:mov th0,#3chmov tl0,#0b0hret5、小结经过努力,我们组终于完成这次数字彩灯的课程设计任务。我们首先查阅了大量的书本资料,接着又上网搜集了许多有用信息,有时候为了找到一个合适的电路而苦恼,有时候又为取得一点成功而由衷的高兴。通过课程设计,我们增强了对单片机的理解,学会查寻资料比较方案,学会单片机的设计计算;进一步提高分析解决实际问题的能力,创造一个动脑动手独立开展电路实验的机会,锻炼分析解决程序编写问题的

温馨提示

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

评论

0/150

提交评论