单片机控制的花样彩灯_第1页
单片机控制的花样彩灯_第2页
单片机控制的花样彩灯_第3页
单片机控制的花样彩灯_第4页
单片机控制的花样彩灯_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、课课 程程 设设 计计 报报 告告 书书题题 目目: : 花样彩灯控制系统花样彩灯控制系统 专专 业:业: 电气工程电气工程 日期:日期:2012-6-22 1河南工业职业技术学院河南工业职业技术学院课程设计(论文)任务书课程设计(论文)任务书一、课题设计(论文)题目:花样彩灯控制系统花样彩灯控制系统二、课程设计(论文)使用的原始资料(数据)及设计技术要求:设计要求:利用 8031 单片机,正常情形下使 p1 口八个发光二极管做跑马灯和流水灯显示;紧急情形下,使八个发光二极管做鸳鸯戏水灯显示。三、设计任务: 1.设计硬件电路,画出电路原理图; 2.画出程序流程图; 3.编制程序,写出源程序代码

2、; 4.写出 5000 字的详细说明书,要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件;2四、主要参考资料:1、 单片机原理及应用 ,李建忠,西安电子科技大学出版社,2002 年2、 单片微型计算机与接口技术 ,李群芳等,电子工业出版社,2002 年3、 单片微型计算机原理与接口技术 ,陈光东等,华中科技大学出版社,1999 年4、 单片机实验与实践 ,周立功等,北京航空航天大学出版社,2004 年5、 开放式综合实验/仿真系统 mcs51 实验分册 ,伟福公司 电气工程 系 电气自动化 专业 1001 班学生: 杜世会 指导教师: 赵阳 助理指导教师(并指出所负责的部分

3、):教研室: 教研室主任: 3目目 录录1 引引 言言 .42 设计原理设计原理.52.1mcs51.52.2 led.62.3 中断指令.82.4 硬件接原理图.93 程序流程图程序流程图.113.1 主流程图.113.2 流水灯子流程图.123.3 中断程序流程图.134 汇编程序汇编程序.144.1 主程序.144.2 一秒钟定时程序.175 小结小结.18参考文献参考文献.1941.1 引言引言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 led 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式

4、样的 led 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。 课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。进一步巩固和加深 “单片机”课程的基本知识,了解单片机设计知识在实际中的应用。综合运用“单片机”课程和先修课程的理

5、论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。该程序示例了单片机键盘控制p1 口流水灯花样的方法 ;具体表现为 :p3.2 3.2 3.4 3.5 四个小本文提出了一种基于 at89s51 单片机的彩灯控制方案,实现对led 彩灯的控制。按键,分别实现了四个控制。通过这次实验,我们也了解了团队合作的重要性,集体的力量是伟大的,一个人如何融入一个团队

6、是是一个重要问题,讲究合作才能取得最后的成功!52 设计原理设计原理2.12.1 mcs51mcs51 单片机单片机引脚说明引脚说明mcs 单片机都采用 40 引脚的双列直插封装方式。图 2-9 为引脚排列图, 40 条引脚说明如下:1、主电源引脚 vss 和 vcc vss 接地 vcc 正常操作时为+5 伏电源2、外接晶振引脚 xtal1 和 xtal2 xtal1 内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 xtal2 内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。3、控制或与其它电源复用引脚 rs

7、t/vpd,ale/,和/vppprogpsenea rst/vpd 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在 vcc 掉电期间,此引脚可接 图 2-9 8051 引脚排列图上备用电源,由 vpd 向内部提供备用电源,以保持内部 ram 中的数据。p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78rst/vpd9rxd p3.010txd p3.111int0 p3.212int1 p3.313t0 p3.414t1 p3.515wr p3.616rd p3.717xtal218xtal119vss20p2.021p2.

8、122p2.223p2.324p2.425p2.526p2.627p2.728psen29ale/prog30ea/vpp31p0.732p0.633p0.534p0.435p0.336p0.237p0.138p0.039vcc408031 8051 87516 ale/ 正常操作时为 ale 功能(允许地址锁存)提供把地址的低字节锁存prog到外部锁存器,ale 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,61它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个 ale 脉冲,ale 端可以驱动(吸收或输出电流)八个 lsttl 电路。 对

9、于 eprom 型单片机,在 eprom 编程期间,此引脚接收编程脉冲(功能)prog 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期psen间,在每个机器周期内两次有效。同样可以驱动八 lsttl 输入。psenpsen /vpp 、 /vpp 为内部程序存储器和外部程序存储器选择端。当/vpp 为eaeaea高电平时,访问内部程序存储器,当/vpp 为低电平时,则访问外部程序存储器。ea对于 eprom 型单片机,在 eprom 编程期间,此引脚上加 21 伏 eprom 编程电源(vpp) 。4、输入/输出引脚 p0.0 - p0.7,p1.0 - p1.7,p2.0

10、 - 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)是一个带

11、有内部提升电阻的 8 位准双向 i/o 口。能驱动(吸收或输出电流)四个lsttl 负载2.22.2 ledled 显示数码管显示数码管led 有共阴极和共阳极两种。如图所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5v 的电压。一位显示器由 8 个发光二极管组成,其中 7 个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp 发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段 led 不被损坏,需外加限流电阻。ledled 数码管结构原理图数码管结构原理图:7 图 3 at89c2051

12、 引脚配置at89c2051 芯片的 20 个引脚功能为:vcc 电源电压。gnd 接地。rst 复位输入。当 rst 变为高电平并保持 2个机器周期时,所有 i/o 引脚复位至“1” 。xtal1 反向振荡放大器的输入及内部时钟工作电路的输入。xtal2 来自反向振荡放大器的输出。p1 口 8 位双向 i/o 口。引脚 p1.2p1.7 提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。p1.0 和p1.1 需要外部上拉,可用作片内精确模拟比较器的正向输入(ain0)和反向输高电平驱动高电平驱动 共阴极共阴极低电平驱动低电平驱动 共阳极共阳极8入(ain1

13、) ,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.32.3 中断指令中断指令。在 cpu 和外设交换信息时,存在着快速 cpu 和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为此,计算机中通常

14、采用中断技术。cpu 和外设并行工作,当外设数据准备好( 或有某种突发事件发生)时向cpu 提出请求,cpu 暂停正在执行的程序转而为该外设服务(或处 理紧急事件),处理完毕再回到原断点继续执行原程序。中断优先级:当有多个中断源同时 向 cpu 申请中断时,cpu 优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的 ,这种预先安排的响应次序。 中断的嵌套:在中断系统中,高优先级的 中断请求能中断正在进行的较低级的中断源处理,(1)中断技术是实时控制中的常用技术,51 系列单片机有三个内部中断,二个外部中断。所谓 外部中断就是在外部引脚上有产生中断所需要的信号。每个中断源有固定的中断服

15、务程序的入口地址(称矢量地址或向量地址)。当cpu 响应中断以 后单片机内部硬件保证它能自动的跳转到该地址。因此,此地址是应该熟记的,在汇编程序 中,中断服务程序应存放在正确的向量地址内。(或存放一条转移指令);而在 c 语言中是靠 interrupt n 的关键字 n 自动设置的。 (2)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器 ie,中断优先权寄存器 ip ,必须在 cpu 开中断即开全局中断开关 ea,开各中断源的中断开关,cpu 才能响应该中断源的 中断请求,其中缺一不可。(3)从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌9握中断响应的过程, 才能理解中

16、断的发生和返回,看得懂中断程序,并能编写高质量中断程序。表 2.1 常用中断符号 名 称中 断 引 起 原 因 中断服务程序入口int0外部中断 0p3.2 引脚的低电平或下降沿信号 0003hint1外部中断 1p3.3 引脚的低电平或下降沿信号 0013ht0定时器 0 中断 定时计数器 0 计数回零溢出 000bht1定时器 1 中断 定时计数器 1 计数回零溢出 001bht2定时器 2 中断 定时计数器 2 中断(tf2 或 t2ex信号)002bhti/ri 串行口中断 串行通信完成一帧数据发送或接收引起中断 0023h2.4 硬件原理图硬件原理图晶振(12mhz)定时 1 秒对于

17、 12mhz 的晶振而言,其时钟周期 t=1/f=1/12us,而 89c51 的一个机器周期包括 12 个时钟周期,所以一个机器周期为 1us,对于 t0 而言,使之工作于 16-bit,10最大计时为 65536*1=65536us,需要多次定时才能实现一秒定时。xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.

18、1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u1at89c51srcfile=1.asmprogram=1.hexd1led-redd2led-redd3led-redd4led-redd5led-redd6led-redd7led-redd8led-redx1crystalc130nfc230nfvcc+5vr1270r2270r3270r4270r52

19、70r6270r7270r8270vcc+5vc31nfr910kvcc+5vr1010kr1110kr1210kr1310k113 程序流程图程序流程图3.1 总流程图总流程图 n y n y n y n y n y初始化int0 按下?int1 有键按下?按下?t0 按下?t1 按下?流水灯逐点点亮间隔点亮动点亮逐点熄灭123.2 流水灯子程序流程图流水灯子程序流程图 n y n y其他子程序流程图与上图按下其他键的流程图和它相类似。p1.0-1.7 流动点亮消除抖动int0 键按下?按键释放?133.3 中断程序流程图中断程序流程图144 汇编程序汇编程序4.1 主程序:主程序:org

20、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

21、f015fun01: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,star

22、1waitl3: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;16fun11:mov a,#0feh ;从 p1.0 到 p1.7 依次点亮fun111:mov p1,alcall dl05sjz outrl aanl a,p1ajmp fun111;fun22:mov a,#0feh ;间隔点亮fun222:mov p1,alca

23、ll 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,loop217retdl05s: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,#0b0hret18 小结小结经过努力,我们组终于完成这次数字彩灯的课程设计任务。我们首先查阅了大量的书本资料,接着又上网搜集了许多有用信息,有时候为了找到

温馨提示

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

评论

0/150

提交评论