电气工程及其自动化毕业设计.doc_第1页
电气工程及其自动化毕业设计.doc_第2页
电气工程及其自动化毕业设计.doc_第3页
电气工程及其自动化毕业设计.doc_第4页
电气工程及其自动化毕业设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

本本科科生生毕毕业业设设计计 基于单片机的可变色灯泡的设计 院院 系系 电气 机电 工程学院电气 机电 工程学院 专专 业业 电气工程及其自动化电气工程及其自动化 班班 级级 2011 级本级本 4 班班 学学 号号 4702110144 学学 生生 姓姓 名名 孙国强孙国强 联联 系系 方方 式式指指 导导 教教 师师 苏良昱苏良昱 职称 职称 教授教授 2015 年年 5 月月 独独 创创 性性 声声 明明 本人郑重声明 所呈交的毕业设计是本人在指导老师的指导下所取得的研究成果 除了文中特别加以注释和致谢的地方外 本设计中不包含任何其他人已经发表或撰写的 研究成果 与本研究成果相关的所有人所做出的任何贡献均已在设计中作出了明确的说 明并表示了谢意 签名 年 月 日 授授 权权 声声 明明 本人完全了解许昌学院有关保留 使用本科生毕业设计的规定 即 有权保留并向 国家有关部门或机构送交毕业设计的复印件和磁盘 允许毕业设计被查阅和借阅 本人 授权许昌学院可以将毕业设计的全部或部分内容编入有关数据库进行检索 可以采用影 印 缩印或扫描等复制手段保存 汇编本设计 本人设计中有原创性数据需要保密的部分为 如没有 请填写 无 学生签名 年 月 日 指导教师签名 年 月 日 基于单片机的可变色灯泡的设计基于单片机的可变色灯泡的设计 摘摘 要要 本文介绍了一种由 12 个 LED 发光二极管组成的四个可变色灯泡的多功能发光形式的 简易彩灯控制系统的软硬件设计过程 方案以 AT89C51 单片机作为主控核心 且以复位 电路 时钟电路 按键电路 中断电路以及彩灯显示电路组成 利用软件编程烧录程序 到单片机来实现对 LED 彩灯进行多样控制 该控制电路能完成多种闪灯模式以及随意变 换想要的闪烁方式和控制彩灯的闪烁频率等功能 该系统具有电路结构简单 易操作 硬件少 体积少 成本低 能耗低等优点 有一定的实用价值 关键词 8051 单片机 LED 彩灯 控制系统 闪烁方式 Design of color changing lamp based on SCM Abstract This paper introduces the hardware and software design process of a simple lantern consists of 12 light emitting diode LED consisting of four color light multifunctional lighting control system program for AT89C51 microcontroller as the control core and the reset circuit clock circuit keyboard circuit interrupt circuit display circuit and the lights the use of softwareprogramming the program to the microcontroller to achieve a variety of control of LED lights Flashing lights and the control of the control circuit can complete a variety of flash mode andrandom transform to the flicker frequency function The system has the advantages of simple circuit structure easy operation less hardware small volume low cost low energy consumption has a certain practical value Keywords 8051 MCU flashing LED lights control system 目录 1 绪论 6 1 1 选题的意义 6 1 2 外界的研究 7 1 3 本文的主要内容 7 2 设计方案 7 2 1 设计要求 8 2 2 设计限定 9 2 3 按键部分 9 2 4 显示模块 9 3 硬件电路的设计 10 3 1 单片机的选用 10 3 2 仿真软件的选用 12 3 3 单片机最小系统 13 3 4 按键控制电路 15 3 5 中断电路 16 3 6 LED 显示电路 16 3 7 仿真部分总结 18 4 软件编程设计 20 4 1 编程软件 20 4 2 延时部分 20 4 3 按键部分 20 4 4 综合仿真 21 参考文献 23 附 录 源 程 序 24 致 谢 26 1 绪论绪论 1 1 选题的意义选题的意义 20 世纪以后现身于世的单片机以其超高的性价比赢取了世人的青睐 而后单片机在各 个领域都如雨后春笋般的出现 得到了广泛的应用 开启了自动化时代的新篇章 单片 机具有运行速度快 抗干扰能力强 体积小 性能可靠 环境要求不高 价格低廉等特 点 使用时无需更改内部构造 只需为其搭配合适的外围电路就可以构成一套完整的针 对性极强的单片机控制系统 随着社会的发展进步 人们对生活质量度而要求也越来越高 彩灯越来越广泛的出现 在了我们的生活里 在过年过节 举办派对 广告宣传灯多种领域 彩灯都很好的完成 了营造氛围 活跃气氛的职能 彩灯虽然简单 但一直是一个被改进技术以往的角落 多年以来并没有多少改进 市面上的彩灯多为一次性彩灯 颜色单一 变化方式单一 一般的彩灯用了一次先发给换个新花样了 就只能把旧的扔掉 不环保 又浪费钱财 因此我考虑可以设计改进已有彩灯 增加灯的变换方式 并可以通过简单的改变 来改 变彩灯的变换方式 可提前设定几种常用的变换方式 通过按键来改变几种预先设定变 换方式 并且本设计还将引入光的三原色交融来进行灯的换色 一灯多色 本设计基于 单片机能更好的实现现有彩灯的功能 并达到以达到换色 换方式但是不换硬件的目的 1 2 外界的研究 外界的研究 本设计在国内外已经有实物上市出售 研究成果显著 但是仍然存在不足和缺陷 需 要改进和加强 根据市场效果来看 市场反应很好 目前研究出来的彩灯已经可以实现 彩灯自由变换的功能 但仍需改进 价格太贵是其最大的弊端 我在进行选题的时候首先考虑的就是设计的实用性和经济性 并且能够最大化的利 用自己的知识解决生活中遇到的问题 对于可变色灯泡这个选题 首先它延续了人们对 舒适生活的一贯要求 让创新更好的融入到生活中去 提供新设备 提高人们的生活舒 适度 其次 对于可变色灯泡的研究 本设计更主张人性化 经济化 吸纳了很多类似 产品的优点 对于通过光的三原色的搭配 切实降低了可变色灯泡的成本 1 3 本文的主要内容本文的主要内容 在本次设计中 可变色灯泡包括按键模块 led 显示模块等 要求本设计能够通过简单 的改变实现彩灯的变化 保证设计的合理实用性 我首先需要解决的是对于硬件电路按 键的顺序调整和反应模块的实现 而后通过软件编程使软硬件相结合 从而保证按键功 能的更好的实现 反应模块主要是依据单片机的特性来实现 在本次设计中 我采用 proteus 软件进行电路的仿真处理 另外通过 keil 编写程序 最后将两个软件结合使用 以此实现本设计的仿真处理 本篇文章包括四个章节 分别是绪论 包括设计的意义以及选题背景介绍 设计方 案 对本设计的基本方案进行介绍和部分模块的设计 硬件设计部分需要利用 PROTEUS 软件对于本设计的各个部分加以分析 软件设计需要利用 KEIL 软件使单片机完成设计要 求的功能 2 设计方案设计方案 根据本次设计的论文题目 根据设计的要求首先绘出设计的单片机系统的整体控制原理 框图如图 2 1 所示 时钟电路 复位电路 按键电路 中断电路 AT89C51 单片机 LED 显示 灯 图 2 1 系统总体设计框图 设计首先考虑是基于单片机基础上进行控制 将通过按键模块控制单片机 然后利用 单片机的原理 对反应模块和显示模块进行控制操作 本章节将对整个设计方案进行规 划分析 对各个模块进行设计 预先对不同部分的功能做出预想和设计 便于以后在硬 件设计部分进行制作 2 1 设计要求设计要求 本设计是一个可变色彩灯 设计的要求是 可以通过按键来改变彩灯的单个灯泡色彩 以及才的呢过的变换方式 当按动其中一个按键以后 彩灯便会在此按键代表的方式下 运行 按动其他按键时 原变换结束 按动按键代表的运行方式开始执行 以一种新的 运行方式变换 可变色灯泡需要包括按键部分 显示部分等 要求可以在不改变硬件只 改变部分软件的情况下就能实现等跑的变色 及变样变换 本次仿真选取 protues 软件 通过 AT89C51 单片机 使用其定时功能和外部电路 实现彩灯闪烁 变色 变样的功能 2 2 设计限定设计限定 由于不同的人群 对彩灯的需求不同 为了保证可变色彩灯的实用性 本设计提供几 种模式 以确保不同类型的人在不同模式的基础上做少量改变就可以基本实现想要的功 能 不同人需要的灯泡闪烁的间隔以及亮的时间也不同 根据不同人群的需求可以提供 几种预先设置的方案 至于闪烁定时 也可以根据不同人的需求来提供 2 3 按键部分按键部分 按键部分需要能够控制单片机 按下相应的按键 就会有相应的动作 设计奖采用 6 个按键开关 按键可实现 5 个模式选择 一个暂停按钮 也可以根据不同人群的需要增 加按键 增加程序模块 以达到增加模式的效果 为了充分利用端口 本设计不提供开 关按钮 每一个模式按键均可以当做开始按钮 暂停开关可作为关闭按键 按键模块设 计图 模式三模式二模式五模式一模式四开 关 图 2 2 按键模块设计图 按键控制方法和原理 模式一 模式二 模式三 模式四 模式五 分别以第一种 第二种 第三种 第四 种 第五种模式运行彩灯系统 开 关 暂停彩灯 重新打开彩灯 通过以上的设计 使按键模块实现对单片机的操作 当然 这些操作按键是由软件输 入单片机中 通过软件的形式对单片机加以操作和控制 每个按键的原理基本相同 分 别给输出口以不同的高低电平组合 来实现各种模式 2 4 显示模块显示模块 显示模块本设计对彩灯的实际运行做了模拟性仿真 基于条件限制 本设计采用了四 个灯泡组成的简单的彩灯系统 四个灯每个均由红 蓝 绿三个 led 灯组成 以达到变色 的目的 由于本模拟设计对于彩灯的颜色没有特殊的要求 光的三原色组合能够满足需求 所 以每个灯泡由三个 颜色的 led 灯构成即可 即本模拟设计通过十二个 led 灯组成四个可 变色彩灯的系统 3 硬件电路的设计硬件电路的设计 3 1 单片机的选用单片机的选用 1 AT89C51 单片机的简单介绍 对于这次的设计 我将选用 AT89C51 单片机 该类型的芯片采用了 ATMEL 公司生 产的高密度非易失性存储器技术 具有 MCS51 系列单片机的所有功能 片上还放置了闪 存存储器单元和通用 8 核心处理器 从而可以实现非常强功能大 图 3 1 是单片机 AT89C51 的引脚图 图 3 1 AT89C51 双列直插式引脚图 AT89C51 各个引脚的作用 VCC 供电电压 5V GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的 管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可以被定 义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 本系统中 P0 口接 LED 数码管的段选段 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低 电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作为第 八位地址接收 7 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输入 并因 此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉的缘故 P2 口 当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和 控制信号 本系统中语音芯片 ISD1420 的地址端接 P2 口 P3 口 P3 口是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为 低电平 P3 口将输出电流 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功 能口 如表 2 5 所示 P3 口同时为闪烁编程和编程校验接收一些控制信号 表表 2 52 5 P3P3 口的第二功能口的第二功能 口管脚备选功能信号名称 P3 0RXD 串行输入口 P3 1TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4T0 记时器 0 外部输入 P3 5T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字 节 在平时 ALE 端以不变的频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因 此它可用作对外部输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存 储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处 理器在外部执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周期 两次 PSEN 有效 在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是 否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平 时 此间内部程序存储器 在本设计中 对 ROM 的读操作只在内部程序存储器中 所以 EA 置应高电平 XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 8 2 AT89C51 单片机的主要性能 与 MCS 51 产品指令系统兼容 4k 字节可重新擦写 Flash 闪速存储器 1000 次可擦 写周期 全静态操作 0Hz 24MHz 128 8 字节内部 RAM 三级加密程序存储器 32 个可编程 I O 口线 2 个 16 位定时 计数器 6 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模 3 2 仿真软件的选用仿真软件的选用 本次设计采用 protues 仿真软件 该软件的 ISIS 是一款可以通过自己动手画电路图来 对实物进行仿真的软件 这个软件不仅支持各种型号的单片机 元件库齐全 而且使用 非常方便 仿真效果非常好 是一款非常值得向大家推荐的能使用单片机进行实物仿真 的软件 proteus 可以很好对单片机电路进行实物模拟实验 模拟效果相较于其他的实物实验要好 的多 使用者在使用本软件的过程中 可以根据自身需求 随心所欲的来画电路图 补 充电路图以及修改电路图 在适当的操作后可立即进行仿真以检查该电路的实际运行效 果 充分弥补了我们在实际应用时无法一次次的修改硬件电路的弊端 采用软件修改硬 件电路的方式 更加方便快捷 在使用软件绘制电路图的时候我们还可以根据自己的实 际需求选择使用或者不使用软件提供的电路元器件 也可以通过自己改变元器件的参数 来得到不同的实验数据 实验结果若符合预期的要求 便可进行下一步 根据软件绘图 来进行实物的制作 这种方法的经济快捷使得其本身具有很大的实用价值 3 3 单片机最小系统单片机最小系统 单片机要工作起来就需要为其提供外部硬件电路 最基本的外部电路扩单片机 时 钟电路 复位电路等几部分 而单片机的最小电路则只是由复位电路和时钟信号电路组 成 如图 3 2 图 3 2 单片机最小系统图 复位电路 为了确定单片机的起始工作状态并且完成单片机的启动过程 单片机的 复位方式有手动复位和上电自动复位两种 本设计采用后者 上电自动复位 时钟电路 单品机最小系统中另一个模块叫做时钟电路 时钟电路的存在是为了产 生时钟频率 由一个晶振和两个小电容组成 由于 AT89C51 单片机的内部的一个振荡器 由一个反向放大器构成 当 XTAL1 和 XTAL2 分别作为振荡电路的输出和输入端时 时钟 可有内部和外部产生 当在 XTAL1 和 XTAL2 的引脚上接定时元件 内部振荡电路就会产 生自激震荡 单片机系统采用石英晶体和电容组成的并联谐振会路作为定时元件 选择 晶振频率为 12MHz 电容为 30Pf 电容的大小对系统频率起微调的作用 3 4 按键控制电路按键控制电路 本设计的按键控制电路由五个按键开关构成 这五个按键开关分别接在 AT89C51 单片机 的 p1 0 p1 4 引脚上 是为了实现一对一的控制彩灯的不同颜色变换及闪烁形式 当按 下 key1 时 12 个 led 发光二极管以第一种闪烁发光方式运行 从而实现三个一组的灯泡 不同颜色的变换和闪烁 当按下按键 key2 的时候 十二个 led 发光二极管以第二种方式 闪烁 从而实现四个灯泡不断变换颜色闪烁的第二种模式 同理 当按下开关可以 3 时 十二个 led 二极管以第三种方式闪烁 实现四个可变色灯泡的第三种 按键控制电路 如图 3 3 是由 4 个按键开关构成的 他们分别接在单片机 AT89C51 的 P1 0 P1 3 引脚上 为了一对一方式控制 16 个 LED 彩灯的不同闪烁形式 当按下开关 key1 时 16 个 LED 发光二极管闪烁第一种彩灯方式 当按下开关 key2 时 16 个 LED 发 光二极管闪烁第二种彩灯方式 同理 当按下开关 key3 时 16 个 LED 发光二极管闪烁第 三种彩灯方式 当按下开关 key4 时 16 个 LED 发光二极管闪烁第四种彩灯方式 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 AT89C51 图 3 3 按键控制电路图 3 5 中断电路中断电路 中断电路的作用是 无论彩灯正在以哪种方式运行 按下中断按钮以后 该过程一 定终止 十二支 led 不同色的发光二极管均处在熄灭状态 停止当前工作 当在按下一 次中断按钮的时候 彩灯继续第一次按下中断按钮前的方式 从头开始工作 为此我们 通过单片机的 p3 3 引脚来接上中断按钮 来实现对彩灯的中断控制 中断控制按钮接法 如图 3 4 如图 3 4 中断控制电路图 3 6 LED 显示电路显示电路 四个可变色灯泡 由十二个发光二极管组成 发光二极管 Light Emitting Diode 简称 LED led 常被用作微型计算机与数字电路的输出装置 是一种具有体积小 耗电低 等优点的能讲点能转化为光能的半导体器件 Led 的两端可以加上正向电压 当由电流流 过 led 时 他便会发光 将电能转化为光能 并且 led 的亮度会随着通过它自身电流的 大小而改变 但是过大的电流也会烧毁 led 大的电流会使 led 的使用寿命缩短 普通的 led 正向电流一般不会低于 5mA 同时也不会高于 20mA 本设计的 led 采用灌电流的方式 即电流从电流源出发 流经 led 而后进入单片机的 I O 口 这是由于 51 单片机的 I O 口 是弱上拉的方式 高电平时只能输出几十微安的电流 但是其输出低电平时又可以输入 几十微安的电流 故而 为了保证 led 的正常发光采取了这种管电流的方式 为了避免 流过 led 的电流过大 从而烧坏 led 本设计在 led 和电源之间串联上了一个电阻 以降 低电流 当 p0 口和 p2 口输出高电平时 即 p0 p2 1 led 两端没有压降 一次 所有 的 led 都是熄灭不亮的 当 p0 口和 p2 口输出低电平时 即 p0 p2 0 led 正向导通发 光 由于 led 两端串联的电阻起分压作用 导致 led 两端电压约为 1 7V 而串联的限流 电阻两端的电压约为 3 3V 通过查阅 AT89C51 单片机的技术手册 我们发现 单个 I O 口的输入电流最大值不能超过 10mA p0 口的输入电流总和最大值不能超过 26mA p1 口 p2 口 p3 口的输入电流总和最大值不能超过 15mA 所有 I O 口的输入电流总和最大值不 得超过 71mA Led 显示电路接法 如图 3 5 图 3 5 led 显示电路图 3 7 仿真部分总结仿真部分总结 如图 3 6 所示 本设计的主要控制部件为 AT89C51 单片机 共四十个引脚 本次设 计选用 p2 口和 p0 口进行 led 变色灯泡的发光部分 p1 口进行主要控制按键模块的传送 p3 口用作中断按钮的传送 此外还有重置电路和振荡电路部分 本设计选用 AT89C51 单片机的 p0 口的六个引脚 p0 0 p0 5 以及 p2 口德六个引脚 p2 0 p2 5 作为显示数据的传送端口 因为这个设计的四个可变色的灯泡均由三个三 原色 led 灯组成 所以只需要使用 p0 口和 p2 口的十二个引脚 足够数据可以传输显示 根据设计原理图 本设计将数码管的引脚通过 p0 口和 p2 口的 12 个引脚 p0 0 p0 5 p2 0 p2 5 接上那个 led 灯以后再接上限电电阻就可以实现显示模块的功能 了 本次可变色灯泡的设计 选用 p1 口的 5 个引脚 p1 0 p1 4 分别用作按键模块的第 一种模式 第二种模式 第三种模式 第四种模式 第五种模式这五个按键的输入端口 首先把这 5 个引脚通过按键与地相接 这样 如果按下相应的按钮 那这个按键与单片 相连的引脚就会变成低电平 从而给单片机输入一个低电平的脉冲 再根据单片机的内 部软件功能 分别实现每个按键的功能 中断按钮接在 p3 3 上 其原理与以上五个模式按键的原理相同 再次不在重复说明 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 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 C1 30pf C2 30pf X1 CRYSTAL C3 22uf R1 10k D1 LED BLUE D2 LED BLUE D3 LED BLUE D4 LED BLUE D5 LED GREEN D6 LED GREEN D7 LED GREEN D8 LED GREEN D9 LED RED D10 LED RED D11 LED RED D12 LED RED R2 10k R3 10k R4 10k R5 10k R6 10k R7 10k R8 10k R9 10k R10 10k R11 10k R12 10k R13 10k 图 3 6 硬件设计原理图 4 软件编程设计软件编程设计 4 1 编程软件 本次设计选用 keil 为编程软件 单片机的使用有两种设计 一种为硬件电路设计 一种为软件设计 单片机的软件 汇编分为手工汇编和机器汇编两种汇编方式 随着单片机开发技术日新月异的不断发展 进步 设计人员对单片机的使用更是越来越熟练 而普通的汇编语言夜早已由于更加高 级的并且更加实用的语言的诞生而不复存在 Keil 软件是用来开发 51 系列的单片机的常 用软件之一 Keil 可以进行 c51 的汇编语言 PLM 语言和 C 语言的程序设计 而且它 的界面十分友好 并且人性化 对于我们初次接触的使用者来说 也是非常好学习的 4 2 延时部分 在软件设计中会经常用到延时部分 因此对延时程序进行统一编程 以便以后进行 程序调用 方便省时 设计编写延时程序时 需要定义延时头文件 DELAY h 编写时为了满足设计需要 在此文件中定义了四个延时函数 分别是 1ms 延时函数 2s 延时函数 0 2s 延时函数和 5ms 延时函数 定义时 必须将每个函数都起好名称区分清楚 防止用错 在函数调用时 直接就可以调用函数名来使用 4 3 按键部分 根据硬件要求 本设计一共需要定义六个按键 分别是第一个变换模式 第二个变换 模式 第三个变换模式 第四个变换模式 第五个变换模式和一个中断模式 为了满足 设计需求 每一个按键按下后都必须实现其目的并且通过 led 灯的变换显示出来 根据原理 绘制了图 4 1 的原理框图如下 开始 判断有无按键按下 当key1 key5有按键按下 时 当中断开关 按下时 实现相应的功能 中断当前模 式 中断开关再 次按下时 是 否 图 4 1 按键设计原理图 4 4 综合仿真 仿真部分总结 在仿真之前 首先需要将 keil 与 protues 进行联调 然后在 keil 中用 源程序的项目生成 HEX 文件后 在 protues 中导入单片机 即可在 protues 中进行仿真 如图 4 2 所示 利用仿真图左侧的按键部分 分别按动由上到下的五个按钮按钮 系 统开始以各个模式运行 四个可变色灯泡以不同的颜色来回变换跳跃闪烁 按动最下方 的按钮来实现中断的作用 从而实现了本设计可变色灯泡的全部功能 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 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 C1 30pf C2 30pf X1 CRYSTAL C3 22uf R1 10k D1 LED BLUE D2 LED BLUE D3 LED BLUE D4 LED BLUE D5 LED GREEN D6 LED GREEN D7 LED GREEN D8 LED GREEN D9 LED RED D10 LED RED D11 LED RED D12 LED RED R2 10k R3 10k R4 10k R5 10k R6 10k R7 10k R8 10k R9 10k R10 10k R11 10k R12 10k R13 10k 图 4 2 仿真原理图 参考文献参考文献 1 曹天汉 模拟电子技术 北京师范大学出版社 2005 年 8 月 2 侯玉宝 陈忠平 李成群 基于 Proteus 的 51 系列单片机设计与仿真 电子工业出版社 2008 年 9 月 3 曹天汉 钱卫星 张雪娟 单片机原理与接口技术 第 3 版 电子工业出版社 2009 年 3 月 4 张国华 张弛 吴冬芳等 基于单片机的学习式倒计时器 J 煤炭技术 2011 30 5 47 49 5 李全利 单片机原理与接口技术 M

温馨提示

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

评论

0/150

提交评论