单片机控制的花样彩灯.doc

上传人:本田雅阁 文档编号:2051167 上传时间:2019-02-08 格式:DOC 页数:20 大小:179.52KB
返回 下载 相关 举报
单片机控制的花样彩灯.doc_第1页
第1页 / 共20页
单片机控制的花样彩灯.doc_第2页
第2页 / 共20页
单片机控制的花样彩灯.doc_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机控制的花样彩灯.doc》由会员分享,可在线阅读,更多相关《单片机控制的花样彩灯.doc(20页珍藏版)》请在三一文库上搜索。

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 引引 言言 4 2 设计原理设计原理.5 2.1MCS515 2.2 LED6 2.3 中断指令8 2.4 硬件接原理图9 3 程序流程图程序流程图11 3.1 主流程图.11 3.2 流水灯子流程图.12 3.3 中断程序流程图.13 4 汇编程序汇编程序14 4.1 主程序.14 4.2 一秒钟定时程序.17 5 小结小结18 参考文献参考文献.19 4 1.1 引言引言 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 LED 彩灯由于其丰富的灯 光色彩,低廉的造价以及控制简单等特点而得

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

5、识,了解单 片机设计知识在实际中的应用。综合运用“单片机”课程和先修课程的理论及生产实际知识去分 析和解决电路设计问题,进行单片机电路设计的训练。学习单片机设计电路的一般方法,了解和掌 握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是 总体电路设计能力。通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电 路设计的基本技能。 该程序示例了单片机键盘控制p1 口流水灯花样的方法 ;具体表现为 :p3.2 3.2 3.4 3.5 四个 小本文提出了一种基于 AT89S51 单片机的彩灯控制方案,实现对LED 彩灯的控制。按键,分别实 现了四个控

6、制。通过这次实验,我们也了解了团队合作的重要性,集体的力量是伟大的,一个人如 何融入一个团队是是一个重要问题,讲究合作才能取得最后的成功! 5 2 设计原理设计原理 2.12.1 MCS51MCS51 单片机单片机 引脚说明引脚说明 MCS 单片机都采用 40 引脚的双列直插封装方式。图 2-9 为引脚排列图, 40 条引脚说 明如下: 1、主电源引脚 Vss 和 Vcc Vss 接地 Vcc 正常操作时为+5 伏电源 2、外接晶振引脚 XTAL1 和 XTAL2 XTAL1 内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振 荡器时,此引脚接地。 XTAL2 内部振荡电路反相

7、放大器的输出端。是外接晶体的另一端。当采用外部振荡 器时,此引脚接外部振荡源。 3、控制或与其它电源复用引脚 RST/VPD,ALE/,和/VppPROGPSENEA RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变) ,将使单片机复位 在 Vcc 掉电期间,此引脚可接 图 2-9 8051 引脚排列图 上备用电源,由 VPD 向内部提供备用电源,以保持内部 RAM 中的数据。 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST/VPD 9 RXD P3.0 10 TXD P3.1 11 INT

8、0 P3.2 12 INT1 P3.3 13 T0 P3.4 14 T1 P3.5 15 WR P3.6 16 RD P3.7 17 XTAL2 18 XTAL1 19 VSS 20 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 PSEN 29 ALE/PROG 30 EA/VPP 31 P0.7 32 P0.6 33 P0.5 34 P0.4 35 P0.3 36 P0.2 37 P0.1 38 P0.0 39 VCC 40 8031 8051 8751 6 ALE/ 正常操作时为 ALE 功能(允许地址锁存)

9、提供把地址的低字节锁存PROG 到外部锁存器,ALE 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此, 6 1 它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳 过一个 ALE 脉冲,ALE 端可以驱动(吸收或输出电流)八个 LSTTL 电路。 对于 EPROM 型 单片机,在 EPROM 编程期间,此引脚接收编程脉冲(功能)PROG 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期PSEN 间,在每个机器周期内两次有效。同样可以驱动八 LSTTL 输入。PSENPSEN /Vpp 、 /Vpp 为内部程序存储器和外部程序存储器选

10、择端。当/Vpp 为EAEAEA 高电平时,访问内部程序存储器,当/Vpp 为低电平时,则访问外部程序存储器。EA 对于 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

11、位准双向 I/O 口。能驱动(吸收 或输出电流)四个 LSTTL 负载。 。 P2 口(P2.0 - P2.7)是一个带有内部提升电阻的 8 位准双向 I/O 口,在访问外部 存储器时,它输出高 8 位地址。P2 口可以驱动(吸收或输出电流)四个 LSTTL 负载。 P3 口(P3.0 - P3.7)是一个带有内部提升电阻的 8 位准双向 I/O 口。能驱动(吸收或输出电流)四个 LSTTL 负载 2.22.2 LEDLED 显示数码管显示数码管 LED 有共阴极和共阳极两种。如图所示。二极管的阴极连接在一起,通常此公共阴极接 地,而共阳极则将发光二极管的阳极连接在一起,接入+5V 的电压。一

12、位显示器由 8 个发光 二极管组成,其中 7 个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为 dp 发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则 暗。为了保护各段 LED 不被损坏,需外加限流电阻。 LEDLED 数码管结构原理图数码管结构原理图: 7 图 3 AT89C2051 引脚配置 AT89C2051 芯片的 20 个引脚功能为: VCC 电源电压。 GND 接地。 RST 复位输入。当 RST 变为高电平并保持 2 个机器周期时,所有 I/O 引脚复位至“1” 。 XTAL1 反向振荡放大器的输入及内部时钟工 作电路的输入。 XTAL2

13、 来自反向振荡放大器的输出。 P1 口 8 位双向 I/O 口。引脚 P1.2P1.7 提供内部上拉,当作为输入并 被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0 和 P1.1 需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输 高电平驱动高电平驱动 共阴极共阴极 低电平驱动低电平驱动 共阳极共阳极 8 入(AIN1) ,P1 口输出缓冲器能接收 20mA 电流,并能直接驱动 LED 显示器;P1 口引脚写入“1” 后,可用作输入。在闪速编程与编程校验期间,P1 口也可接 收编码数据。 P3 口 引脚 P3.0P3.5 与 P3.7 为 7 个带内部上拉

14、的双向 I/0 引脚。P3.6 在内部 已与片内比较器输出相连,不能作为通用 I/O 引脚访问。P3 口的输出缓冲器能 接收 20mA 的灌电流;P3 口写入“1”后,内部上拉,可用输入。P3 口也可用 作特殊功能口。 2.32.3 中断指令中断指令。 在 CPU 和外设交换信息时,存在着快速 CPU 和慢速外设间的矛盾,机器内 部有时也可能出现突发事件,为此,计算机中通常采用中断技术。 CPU 和外设并行工作,当外设数据准备好( 或有某种突发事件发生)时向 CPU 提出请求,CPU 暂停正在执行的程序转而为该外设服务(或处 理紧急事件), 处理完毕再回到原断点继续执行原程序。 中断优先级:当

15、有多个中断源同时 向 CPU 申请中断时,CPU 优先响应最 需紧急处理的中断请求,处理完毕再响应优先级别较低的 ,这种预先安排的 响应次序。 中断的嵌套:在中断系统中,高优先级的 中断请求能中断正在进行的较低 级的中断源处理, (1)中断技术是实时控制中的常用技术,51 系列单片机有三个内部中断, 二个外部中断。所谓 外部中断就是在外部引脚上有产生中断所需要的信号。 每个中断源有固定的中断服务程序的入口地址(称矢量地址或向量地址)。当 CPU 响应中断以 后单片机内部硬件保证它能自动的跳转到该地址。因此,此 地址是应该熟记的,在汇编程序 中,中断服务程序应存放在正确的向量地址 内。 (或存放

16、一条转移指令);而在 C 语言中是靠 Interrupt n 的关键字 n 自动设置的。 (2)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器 IE, 中断优先权寄存器 IP ,必须在 CPU 开中断即开全局中断开关 EA,开各中断 源的中断开关,CPU 才能响应该中断源的 中断请求,其中缺一不可。 (3)从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌 9 握中断响应的过程, 才能理解中断的发生和返回,看得懂中断程序,并能编 写高质量中断程序。 表 2.1 常用中断 符号 名 称中 断 引 起 原 因 中断服务程序入口 INT0外部中断 0P3.2 引脚的低电平或下降沿

17、信号 0003H INT1外部中断 1P3.3 引脚的低电平或下降沿信号 0013H T0定时器 0 中断 定时计数器 0 计数回零溢出 000BH T1定时器 1 中断 定时计数器 1 计数回零溢出 001BH T2定时器 2 中断 定时计数器 2 中断(TF2 或 T2EX 信号) 002BH TI/RI 串行口中断 串行通信完成一帧数据发送或接收 引起中断 0023H 2.4 硬件原理图硬件原理图 晶振(12MHz)定时 1 秒 对于 12MHz 的晶振而言,其时钟周期 T=1/f=1/12us,而 89C51 的一个机器 周期包括 12 个时钟周期,所以一个机器周期为 1us,对于 T

18、0 而言,使之工作 于 16-bit, 10 最大计时为 65536*1=65536us,需要多次定时才能实现一秒定时。 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/

19、INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 SRCFILE=1.ASM PROGRAM=1.HEX D1 LED-RED D2 LED-RED D3 LED-RED D4 LED-RED D5 LED-RED D6 LED-RED D7 LED-RED D8 LED-RED X1 CRYSTAL C1 30nF C2 30nF

20、VCC+5V R1 270 R2 270 R3 270 R4 270 R5 270 R6 270 R7 270 R8 270 vcc+5v C3 1nF R9 10k vcc+5v R10 10k R11 10k R12 10k R13 10k 11 3 程序流程图程序流程图 3.1 总流程图总流程图 N Y N Y N Y N Y N Y 初始化 INT0 按下?INT1 有键按 下?按下? T0 按下?T1 按下? 流水灯逐点点亮间隔点亮动 点亮 逐点熄灭 12 3.2 流水灯子程序流程图流水灯子程序流程图 N Y N Y 其他子程序流程图与上图按下其他键的流程图和它相类似。 p1.0-1

21、.7 流 动点亮 消除抖动 INT0 键按下? 按键释放? 13 3.3 中断程序流程图中断程序流程图 14 4 汇编程序汇编程序 4.1 主程序:主程序: ORG 0000H ;中断入口程序; LJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI CLEAR: RET; ; 初始化程序 ;START:ACALL CLEAR ; 主 程 序 STAR1:MOV P3,#0FFH JNB P3.2,FUN2 JNB P3.3,FUN3 ;关闭按纽 JNB P3.4,FUN0 JNB P3.5,FUN1 JNB

22、 F0,STAR1 ;曾经有键按下 F0 置 1 RET; FUN0:LCALL DL10MS ;消除抖动 JB P3.4,STAR1 WAITL0:JNB P3.4,WAITL0 ;等待键释放 SETB F0 15 FUN01:LCALL FUN00 LCALL STAR1 LJMP FUN01; FUN1:LCALL DL10MS ;消除抖动 JB P3.5,STAR1 WAITL1:JNB P3.5,WAITL1 ;等待键释放 SETB F0 FUN10:LCALL FUN11 LCALL STAR1 LJMP FUN10; FUN2:LCALL DL10MS ;消除抖动 JB P3.2

23、,STAR1 WAITL2:JNB P3.2,WAITL2 ;等待键释放 SETB F0 FUN20:LCALL FUN22 LCALL STAR1 LJMP FUN20; FUN3:LCALL DL10MS ;消除抖动 JB P3.3,STAR1 WAITL3:JNB P3.3,WAITL3 ;等待键释放 CLR F0 MOV P1,#0FFH ;关显示 LJMP STAR1; FUN00:MOV A,#0FEH ;从 P1.0 到 P1.7 移动点亮 FUN000:MOV P0,A LCALL DL05S JNB ACC.7,OUT RL A AJMP FUN000 OUT: RET; 1

24、6 FUN11:MOV A,#0FEH ;从 P1.0 到 P1.7 依次点亮 FUN111:MOV P1,A LCALL DL05S JZ OUT RL A ANL A,P1 AJMP FUN111; FUN22:MOV A,#0FEH ;间隔点亮 FUN222:MOV P1,A LCALL DL01S CPL A RL A MOV P1,A LCALL DL01S RET; FUN33: MOV A,#01H ;逐点熄灭 FUN333: MOV P1,A LCALL DL01S JNZ OUT RL A ORL A,P1 AJMP FUN333 DL01S:MOV R2,#0FFH ; 延

25、时程序 MOV R7,#02H LOOP1: DJNZ R2,LOOP1 LOOP5:DJNZ R7,DL512 RET DL10MS:MOV R3,#14H LOOP2: LCALL DL512 DJNZ R3,LOOP2 17 RET DL05S:MOV R4,#0AH LOOP3: LCALL DL10MS DJNZ R4,LOOP3 RET DL30S:MOV R5,#03H LOOP4:LCALL DL05S DJNZ R5,LOOP4 RET END 4.2 一秒钟定时程序一秒钟定时程序 MOV B,#0AH ;允许中断 MOV TMOD,#01H ;工作方式 1 MOV TH0,

26、#0B0H MOV TL0,#3CH SETB TR0 ;启动计数 SETB EA ;开中断 BU:JBC TF0,SHI SJMP BU SHI:MOV TH0,#3CH MOV TL0,#0B0H RET 18 小结小结 经过努力,我们组终于完成这次数字彩灯的课程设计任务。我们首先查阅了大量的书本 资料,接着又上网搜集了许多有用信息,有时候为了找到一个合适的电路而苦恼,有时候又 为取得一点成功而由衷的高兴。 当最终的方案设计出来以后,我们请教了信息学院的几位老师,他们的一个小小指点就 给我们很大启示和灵感,对我们的程序提出了很多有价值的建议,在此对个位老师特别是辅 导老师苏扬表示热烈感谢,

27、对在设计和买元件期间给于我们帮助的同学们同样表示衷心感谢。 通过课程设计,我们增强了对单片机的理解,学会查寻资料比较方案,学会单片机的 设计计算;进一步提高分析解决实际问题的能力,创造一个动脑动手独立开展电路实验 的机会,锻炼分析解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化; 通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。 由于我们的能力和水平有限,实验过程过于简陋,实验经验尚浅,错误之处在所难免, 恳请老师加以纠正,以后不断学习改进! 19 参考文献参考文献 1 蔡美琴,张为民,沈新群等.MCS51 系列单片机系统及其应用M.北京:高等教育出 版社,199

28、2. 2 何立民.单片机应用技术选篇(5) M.北京:北京航空航天大学出版社,1997. 3杨光友.单片机微型计算机原理及接口技术M.北京:中国水利水电出版社,2002. 4肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8 5 何立民. 单片机高级教程 第 1 版北京:北京航空航天大学出版社,2001 6 赵晓安. MCS-51 单片机原理及应用. 天津:天津大学出版社,2001.3 7 李广第 单片机基础 第 1 版北京:北京航空航天大学出版社,1999 8 徐惠民、安德宁 单片微型计算机原理接口与应用 第 1 版 北京:北京邮电大学 出版社,1996 9 何立民从 Cygnal 80C51F 看 8 位单片机发展之路 单片机与嵌入式系统应用,2002 年,第 5 期:P58 10 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1