单片机花样彩灯课程设计报告

上传人:仙*** 文档编号:30584523 上传时间:2021-10-10 格式:DOC 页数:6 大小:37KB
返回 下载 相关 举报
单片机花样彩灯课程设计报告_第1页
第1页 / 共6页
单片机花样彩灯课程设计报告_第2页
第2页 / 共6页
单片机花样彩灯课程设计报告_第3页
第3页 / 共6页
点击查看更多>>
资源描述
本文由麻辣龙王贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 1、引言 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广 泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 LED 彩灯 控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成 品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮 灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、 电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单 调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行 改进。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几 乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用 电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有 1-2 部单片机。而 个人电脑中也会有为数不少的单片机在工作。汽车上一般配备 40 多部单片 机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机 的数量不仅远超过 PC 机和其他计算的总和,甚至比人类的数量还要多。 课程设计是学完一门课后应用本课知识及以前的知识积累而进行的 综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。 进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在 实际中的应用。综合运用“单片机”课程和先修课程的理论及生产实际 知识去分析和解决电路设计问题,进行单片机电路设计的训练。学习单 片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方 式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电 路设计能力。通过计算和绘图,学会运用标准、规范和查阅有关技术资 料等,培养单片机电路设计的基本技能。 该 程 序 示 例 了 单 片 机 键 盘 控 制 p1 口 流 水 灯 花 样 的 方 法 ; 具 体 表 现 为:p3.2 3.2 3.4 3.5 四个小本文提出了一种基于 AT89S51 单片机的彩灯 控制方案,实现对 LED 彩灯的控制。按键,分别实现了四个控制。通过这 次实验,我们也了解了团队合作的重要性,集体的力量是伟大的,一个人 如何融入一个团队是是一个重要问题,讲究合作才能取得最后的成功! 2、设计原理 、 2.1 MCS51 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD P3.0 TXD P3.1 INT0 P3.2 INT1 P3.3 T0 P3.4 T1 P3.5 WR P3.6 RD P3.7 XTAL2 XTAL1 VSS VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/VPP ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 单片机 引脚说明 MCS 单片机都采用 40 引脚的双列直插封装方式。图 2-9 为引脚排列图, 40 条引脚说明如下: 1、主电源引脚 Vss 和 Vcc Vss 接地 Vcc 正常操作时为+5 伏电源 2、外接晶振引脚 XTAL1 和 XTAL2 XTAL1 内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当 采用外部振荡器时,此引脚接地。 XTAL2 内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采 用外部振荡器时,此引脚接外部振荡源。 3、控制或与其它电源复用引脚 RST/VPD,ALE/ PROG , PSEN 和 EA /Vpp RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由 低到高跳变) ,将使单片机复位 在 Vcc 掉电期间,此引脚可接 图 2-9 8051 引脚排列图 上备用电源,由 VPD 向内部提供备用电源,以保持内部 RAM 中的数据。 ALE/ PROG 正常操作时为 ALE 功能(允许地址锁存)提供把地址的 8031 8051 8751 1 )周期性地 6 发出正脉冲信号。 因此, 它可用作对外输出的时钟, 或用于定时目的。 但要注意, 每当访问外部数据存储器时,将跳过一个 ALE 脉冲,ALE 端可以驱动(吸收或输 出电流)八个 LSTTL 电路。 对于 EPROM 型单片机,在 EPROM 编程期间,此引 低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的 脚接收编程脉冲( PROG 功能) PSEN 外部程序存储器读选通信号输出端,在从外部程序存储取指令 (或数据)期间, PSEN 在每个机器周期内两次有效。 PSEN 同样可以驱动八 LSTTL 输入。 EA /Vpp 、 EA /Vpp 为内部程序存储器和外部程序存储器选择端。当 EA /Vpp 为高电平时,访问内部程序存储器,当 EA /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 XTAL1 XTAL2 P1 口 电源电压。 接地。 复位输入。当 RST 变为高电平并保持 2 个机器周期时,所有 I/O 引脚 反向振荡放大器的输入及内部时钟工作电路的输入。 来自反向振荡放大器的输出。 8 位双向 I/O 口。引脚 P1.2P1.7 提供内部上拉,当作为输入并被 复位至“1” 。 外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。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 常用中断 符号 名 称 外部中断 0 中 断 引 起 原 因 P3.2 引脚的低电平或下降沿信号 中断服务程序入口 INT0 0003H INT1 外部中断 1 P3.3 引脚的低电平或下降沿信号 0013H T0 T1 T2 定时器 0 中断 定时器 1 中断 定时器 2 中断 定时计数器 0 计数回零溢出 定时计数器 1 计数回零溢出 定时计数器 2 中断(TF2 或 T2EX 信 号) 000BH 001BH 002BH TI/RI 串行口中断 串行通信完成一帧数据发送或接收 引起中断 0023H 3、硬件原理图 、 晶振(12MHz)定时 1 秒,对于 12MHz 的晶振而言,其时钟周期 T=1/f=1/12us,而 89C51 的一个机器周期包括 12 个时钟周期, 所以一 个机器周期为 1us,对于 T0 而言,使之工作于 16-bit,最大计时为 65536*1=65536us,需要多次定时才能实现一秒定时。 vcc+5v C 2 30nF R 1 270 D 1 X1 CRY AL ST LED-R D E C 1 U 1 19 XT AL1 30nF P0.0/AD 0 P0.1/AD 1 P0.2/AD 2 P0.3/AD 3 P0.4/AD 4 P0.5/AD 5 P0.6/AD 6 P0.7/AD 7 P2.0/A 8 P2.1/A 9 P2.2/A 10 P2.3/A 11 P2.4/A 12 P2.5/A 13 P2.6/A 14 P2.7/A 15 P3.0/R XD P3.1/T XD P3.2/IN 0 T P3.3/IN 1 T P3.4/T 0 P3.5/T 1 P3.6/W R P3.7/R D 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 R 2 270 D 2 VC C+5V LED-R D E R 3 270 D 3 LED-R D E 18 XT AL2 C 3 9 R ST 1nF R 4 270 D 4 LED-R D E R 9 10k R 5 270 D 5 LED-R D E 29 30 31 PSE N ALE E A R 6 270 D 6 LED-R D E 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT 89C51 SR CFILE=1.A M S PR G O RAM E =1.H X R 7 270 D 7 LED-R D E R 8 270 D 8 LED-R D E R10 R11 R12 R13 10k 10k 10k 10k vcc+5v 4、软件设计 、 4.1 流程图 初始化 N INT1按下? 有键按下? Y INT0按下? INT1按下? T0按下? T1按下? N Y 流水灯 N Y 逐点点亮 N Y 间隔点亮 动点亮 N Y 逐点熄灭 4.2 源程序 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 F0,STAR1 RET; FUN0:LCALL DL10MS JB P3.4,STAR1 WAITL0:JNB P3.4,WAITL0 SETB F0 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,STAR1 WAITL2:JNB P3.2,WAITL2 SETB F0 FUN20:LCALL FUN22 LCALL STAR1 LJMP FUN20; FUN3:LCALL DL10MS ;消除抖动 ;等待键释放 ;消除抖动 ;等待键释放 ;消除抖动 ;等待键释放 ;消除抖动 ;曾经有键按下 F0 置 1 ;关闭按纽 JB P3.3,STAR1 WAITL3:JNB P3.3,WAITL3 CLR F0 MOV P1,#0FFH LJMP STAR1; FUN00:MOV A,#0FEH FUN000:MOV P0,A LCALL DL05S JNB ACC.7,OUT RL A AJMP FUN000 OUT: RET; FUN11:MOV A,#0FEH 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 ;逐点熄灭 ;间隔点亮 ;从 P1.0 到 P1.7 依次点亮 ;从 P1.0 到 P1.7 移动点亮 ;关显示 ;等待键释放 LCALL DL01S JNZ OUT RL A ORL A,P1 AJMP FUN333 DL01S:MOV R2,#0FFH MOV R7,#02H LOOP1: DJNZ R2,LOOP1 LOOP5:DJNZ R7,DL512 RET DL10MS:MOV R3,#14H LOOP2: LCALL DL512 DJNZ R3,LOOP2 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 MOV TH0,#0B0H MOV TL0,#3CH ;允许中断 ;工作方式 1 SETB TR0 SETB EA BU:JBC TF0,SHI SJMP BU SHI:MOV TH0,#3CH MOV TL0,#0B0H RET ;启动计数 ;开中断 5、小结 、 经过努力,我们组终于完成这次数字彩灯的课程设计任务。我们首先查阅了 大量的书本资料,接着又上网搜集了许多有用信息,有时候为了找到一个合适的 电路而苦恼,有时候又为取得一点成功而由衷的高兴。 通过课程设计,我们增强了对单片机的理解,学会查寻资料比较方案,学 会单片机的设计计算;进一步提高分析解决实际问题的能力,创造一个动脑动 手独立开展电路实验的机会,锻炼分析解决程序编写问题的实际本领,真正 实现由课本知识向实际能力的转化;通过典型程序的设计与制作,加深对基本原 理的了解,增强了实践能力。 由于我们的能力和水平有限,实验过程过于简陋,实验经验尚浅,错误之处 在所难免,恳请老师加以纠正,以后不断学习改进! 6、参考文献 、 1 蔡美琴,张为民,沈新群等.MCS51 系列单片机系统及其应用M.北 京:高等教育出版社,1992. 2 何立民.单片机应用技术选篇(5) M.北京:北京航空航天大学出版 社,1997. 3杨光友.单片机微型计算机原理及接口技术M.北京:中国水利水电出 版社,2002. 4肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.81
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!