单片机课程设计16个LED灯的多样显示控制器_第1页
单片机课程设计16个LED灯的多样显示控制器_第2页
单片机课程设计16个LED灯的多样显示控制器_第3页
单片机课程设计16个LED灯的多样显示控制器_第4页
单片机课程设计16个LED灯的多样显示控制器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

信 息 工 程 学 院课 程 设 计 报 告设计题目: 节日彩灯控制器设计 名 称: 电子信息工程专业综合课程设计(1)班 级: 姓 名: 学 号: 设计时间: 2016.06.22 指导教师: 评 语: 评阅成绩: 评阅教师: 目录一、课程设计的性质和目的 .1二、课程设计的要求 .12.1 设计题目 .12.2 设计要求 .1三、主要仪器设备及软件 .1四、课题分析及设计 .24.1 设计任务 .24.2 设计方案 .24.3 系统硬件设计 .24.3.1 单片机最小系统 .34.3.2 控制电路介绍 .64.3.3 Proteus 电路仿真图 .74.4 软件设计 .74.4.1 程序流程图 .74.4.2 软件程序及分析 .8五、组装调试 .125.1 硬件 .12六、总结 .131一、课程设计的性质和目的学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力;掌握汇编语言程序设计方法;培养实践技能,提高分析和解决实际问题的能力。二、课程设计的要求2.1 设计题目节 日 彩 灯 控 制 器 设 计 。2.2 设计要求设 计 一 个 16个 LED灯 的 多 样 显 示 控 制 器 。1.选 择 两 个 I/O端 口 控 制 16个 LED流 水 灯 。2.设 置 四 个 按 键 K1K4, 按 下 K1跑 马 灯 , K2鸳 鸯 戏 水 , K3双 流 水 灯 , K4则循 环 三 种 控 制 方 式 。3.跑 马 灯 : 共 16个 LED逐 次 点 亮 , 每 隔 100ms点 亮 一 个 LED, 点 亮 100ms后关 闭 , 然 后 继 续 上 次 操 作 。4.鸳 鸯 戏 水 灯 : 第 一 次 单 数 灯 点 亮 , 延 时 100ms, 关 闭 , 然 后 双 数 灯 点 亮 ,延 时 100ms, 关 闭 , 然 后 继 续 上 次 操 作 。5.双 流 水 灯 : 16个 LED依 次 向 中 间 点 亮 , 间 隔 100ms, 再 依 次 向 两 边 扩 散点 亮 , 间 隔 100ms, 然 后 继 续 上 次 操 作 。三、主要仪器设备及软件计算机、KeilC51 软件、Proteus 软件、单片机 AT89C51、LED 灯、电阻、拨码开关、晶振。2四、课题分析及设计4.1 设计任务彩灯用 16 个发光二极管代替;电路具有控制 16 个 LED 灯逐个点亮、单数点亮、双数点亮、扩散点亮等功能(用 4 个按键切换 LED 显示状态) ;彩灯两灯移动时间间隔为 100ms。4.2 设计方案本课题使用 AT89C51 单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有 16 个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在 P0.0 口和 P2.0 口的 16 个 LED 亮起来,那么只要把 P0.0 口和 P2.0 口的电平变为低电平就可以了;相反,如果要接在 P0.0 口的 LED 熄灭,就要把 P0.0 口的电平变为高电平;同理,接在 P0.1P0.7 口的其他 7 个 LED的点亮和熄灭的方法同以上 LED。因此,要实现流水灯功能,我们只要将发光二极管 LED1LED16 依次点亮、熄灭,16 只 LED 灯便会一亮一暗的做流水灯或跑马灯了。同样的道理,可以让 16 个灯上移或下移点亮,全亮、全灭。 在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。4.3 系统硬件设计AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非3易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪速存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图 4.1 所示。图 4.1 AT89C51 单片机芯片引脚4.3.1 单片机最小系统(1)P0 口介绍P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义 4 为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须接上拉电阻(2)P1 口介绍P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为低八位地址接收。(3)P2 口介绍P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输4入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。(4)P3 口介绍P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口。复位系统(5)上电复位电路AT89C51 的上电复位电路如图 4.2 所示,只要在 RST 复位输入引脚上接一电容至 Vcc 端,下接一个电阻到地即可。对于 CMOS 型单片机,由于在 RST 端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至 1F。上电复位的工作过程是在加电时,复位电路通过电 容加给 RST 端一个短暂的高电平信号,此高电平信号随着 Vcc 对电容的充电过程而逐渐回落,即 RST 端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST 端的高电平信号必须维持足够长的时间。上电时,Vcc 的上升时间约为 10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为 10MHz,起振时间为 1ms;晶振频率为 1MHz,起振时间则为 10ms。在如图的复位电路中,当 Vcc 掉电时,必然会使 RST 端电压迅速下降到 0V 以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器 PC 将得不到一个合适的初值,因此,CPU 可能会从一个未被定义的位置开始执行程序。5图 4.2 上电复位电路(6)手动复位电路手动按钮复位需要人为在复位输入端 RST 上加入高电平。一般采用的办法是在 RST 端和正电源 Vcc 之间接一个按钮。如图 4-3 所示,当人为按下按钮时,则 Vcc 的+5V 电平就会直接加到 RST 端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。图 4.3 手动复位电路(7)晶振系统晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度.比如 12M 晶振.单片机工作速度就是每秒 12M.单片机内部也有晶振,接外部晶振可以或得更稳定的频率。因为晶振与单片机的脚 XTAL0 和脚 XTAL1 构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波),这个波电路的影响不大,但会降低电路的时钟振荡器的稳定性,如图 4.4 所示。80C51 型单片机内有一高增益反相放大器,按如图连接可构成自激振荡电路,振荡频率取决于石英晶体的振荡频率,范围可取 1.212MHz,C01.C02 主要起频率微调和稳定作用,电容值可取 530Pf。6图 4.4 晶振电路4.3.2 控制电路介绍(1)按键机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为 510 ms,如图 4.5 所示。图 4.5 按键控制电路(2)LED 电路LED 显示器具有功耗低,接口控制方便等优点,能直接与单片机接口,可方便地实现各种不同的操作。16 个发光二极管 L1-L16 分别接在单片机 P0.0-P0.7,P2.0-P2.7。输出“0”,发光二极管亮。图 4.6 LED 显示电路74.3.3 Proteus 电路仿真图图 4.7 电路原理图4.4 软件设计4.4.1 程序流程图开始读入四个开关状态判断开关状态灯依次向下移动、 单、双数灯亮 向中间亮 循环前面三种无输入图 4.9 主程序流程图在主程序中,应该尽量的使得任务简化,不要让中断服务程序作过多复杂的任务,而要尽量把这些复杂的任务放到主程序中间去完成。中断流程如图所示。去抖功能:读入键值,存入地址,然后延迟 10ms 后,也就是一个很短的时8间之后,再次读入一个键值,两次键值相比较,如果一样则不是因为外部原因抖动产生按键,如果不一样则说明是别的原因产生的按键抖动。这样的一个程序就可以去除因为抖动产生的错误输入信号。4.4.2 软件程序及分析(1)主要程序分析:#include /定义 8051 寄存器的头文件#include /定义 intrins.h 函数#include /定义数学函数#include #define u8 unsigned char /定义无符号字符#define s8 signed char#define u16 unsigned short /定义无符号整型#define s16 signed short #define u32 unsigned int /定于无符号整型#define s32 signed int #define fp32 float /定义浮点数#define fp64 double /双倍精度浮点数#define INT8U unsigned char#define INT16U unsigned intsbit K1 = P10;/按键 1sbit K2 = P11;/按键 2sbit K3 = P12;/按键 3sbit K4 = P13;/按键 4#define KEY_CHK_TIM 10 /按键检测时间

温馨提示

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

评论

0/150

提交评论