电气工程及其自动化毕业设计.doc

上传人:twoload295 文档编号:370777 上传时间:2018-09-30 格式:DOC 页数:26 大小:373KB
下载 相关 举报
电气工程及其自动化毕业设计.doc_第1页
第1页 / 共26页
电气工程及其自动化毕业设计.doc_第2页
第2页 / 共26页
电气工程及其自动化毕业设计.doc_第3页
第3页 / 共26页
电气工程及其自动化毕业设计.doc_第4页
第4页 / 共26页
电气工程及其自动化毕业设计.doc_第5页
第5页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 1 本科生毕业设计 基于单片机 的可变色灯泡 的设计 院 系 电气(机电)工程学院 专 业 电气工程及其自动化 班 级 2011 级本 4 班 学 号 4702110144 学 生 姓 名 孙国强 联 系 方 式 15290910067 指 导 教 师 苏良昱 职称: 教授 2015 年 5 月 2 独 创 性 声 明 本人郑重声明:所呈交的毕业设计是本人在指导老师的指导下所取得的研究成果。除了文中特别加以注释和致谢的地方外,本设计中不包含任何其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在设计中作出了明确的说明并表示了谢意。 签名: 年 月 日 授 权 声 明

2、 本人完全了解许昌学院有关保留 、使用本科生毕业设计的规定,即:有权保留并向国家有关部门或机构送交毕业设计的复印件和磁盘,允许毕业设计被查阅和借阅。本人授权许昌学院可以将毕业设计的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编本设计。 本人设计中有原创性数据需要保密的部分为(如没有,请填写 “无 ”): 学生签名: 年 月 日 指导教师签名: 年 月 日 3 基于单片机的可变色灯泡的设计 摘 要 本文介绍了一种由 12 个 LED 发光二极管组成 的四个可变色灯泡的 多功能发光形式的简易彩灯控制系统的软硬件设计过程,方案以 AT89C51 单片机作为主控核心

3、, 且以复位电路、时钟电路、按键电路、中断电路以及彩灯显示电路组成,利用软件编程烧录程序到单片机来实现对 LED彩灯进行多样控制。该控制电路能完成多种闪灯模式以及随意变换想要的闪烁方式和控制彩灯的闪烁频率等功能。该系统具有电路结构简单、易操作、硬件少、体积少、成本低、能耗低等优点,有一 定的实用价值。 关键词: 8051单片机 LED彩灯 控制系统 闪烁方式 4 Design of color changing lamp based on SCM Abstract This paper introduces the hardware and software design process of

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

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

6、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 5 目录 1. 绪论 6 1.1 选题的意义 . 6 1.2 外界的研究, 6 1.3 本文的主要内容 . 7 2. 设计方案 7 2.1 设计要求 . 8 2.2 设计限定 . 9 2.3 按键部分 . 9 2.4 显示模块 . 9 3. 硬件电路

7、的设计 10 3. 1 单片 机的选用 . 10 3 2 仿真软件的选用 . 12 3.3 单片机最小系统 . 13 3.4 按键控制电路 . 15 3.5 中断电路 . 16 3.6 LED 显示电路 16 3 7 仿真部分总结 . 18 4. 软件编程设计 19 4 1 编程软件 . 19 4 2 延时部分 . 19 4 3 按键部分 . 20 4 4 综合仿真 . 21 参考文献 . 23 附 录 源 程 序 . 24 致 谢 . 26 6 1. 绪论 1.1 选题的意义 20 世纪以后现身于世的单片机以其超高的性价比赢取了世人的青睐,而后单片机在各个领域都如雨后春笋般的出现。得到了广泛

8、的应用,开启了自动化时代的新篇章。单片机具有运行速度快、抗干扰能力强 、体积小、性能可靠、环境要求不高、价格低廉等特点。使用时无需更改内部构造,只需为其搭配合适的外围电路就可以构成一套 完整的针对性极强的单片机控制系统。 随着社会的发展进步,人们对生活质量度而要求也越来越高,彩灯越来越广泛的出现在了我们的生活里。在过年过节,举办派对,广告宣传灯多种领域,彩灯都很好的完成了营造氛围,活跃气氛的职能。 彩灯虽然简单,但一直是一个被改进技术以往的角落,多年以来并没有多少改进。 市面上的彩灯多为一次性彩灯,颜色单一,变化方式单一, 一般的彩灯用了一次先发给换个新花样了,就只能把旧的扔掉,不环保,又浪费

9、钱财。 因此我考虑可以设计改进已有彩灯。增加灯的变换方式,并可以通过简单的改变,来改变彩灯的变换方式。 可提 前设定几种常用的变换方式,通过按键来改变几种预先设定变换方式。 并且本设计还将引入光的三原色交融来进行灯的换色,一灯多色。本设计基于单片机 能更好的实现 现有彩灯的 功能, 并达到 以达到换色,换方式但是不换硬件的目的。 1.2 外界的研究, 本设计在国内外已经有实物上市出售,研究成果显著,但是仍然存在不足和缺陷,需要改进和加强。根据市场效果来看,市场反应很好。 目前研究出来的彩灯已经可以实现彩灯 自由变换的功能,但仍需改进。价格太贵是其最大的弊端。 我在进行选题的时候首先考虑的就是设

10、计的实用性和经济性,并且能够最大化 的利用自己的知识解决生活中遇到的问题, 对于可变色灯泡这个选题,首先它延续了人们对 舒适生活的一贯要求,让创新更好的融入到生活中去,提供新设备,提高人们的生活舒适度;其次,对于可变色灯泡的研究,本设计更主张人性化,经济化,吸纳了很多类似产品的优点, 对于通过光的三原色的搭配,切实降低了可变色灯泡的成本。 7 1.3 本文的主要内容 在本次设计中, 可变色灯泡包括按键模块、 led 显示模块等,要求 本设计能够通过简单的改变实现彩灯的变化,保证设计的合理实用性。 我首先需要解决的是对于硬件电路按键的顺序调整和反应模块的实现,而 后通过软件编程使软硬件相结合,从

11、而保证按键功能的更好的实现,反应模块主要是依据单片机的特性来实现。在本次设计中,我采用 proteus软件进行电路的仿真处理,另外通过 keil 编写程序,最后将两个软件结合使用,以此实现本设计的仿真处理。 本篇文章包括 四 个章节,分别是绪论:包括设计的意义以及选 题背景介绍;设计方案:对本设计的基本方案进行介绍和部分模块的设 计;硬件设计部分需要利用 PROTEUS 软件对于本设计的各个部分加以分析;软件设计需 要利用 KEIL 软件使单片机完成设计要求的功能 。 2. 设计方案 根据本次设计 的论文题目,根据设计的要求首先绘出设计的单片机系统的整体控制原理框图如图 2-1 所示 8 时

12、钟 电 路复 位 电 路按 键 电 路中 断 电 路A T 8 9 C 5 1单 片 机L E D显 示灯图 2-1 系统总体设计框图 设计首先考虑是基于单片机基础上进行控制,将通过按键模块控制单片机,然后利用单片机的原理,对反应模块和显示模块进行控制操作,本章节将对整个设计方案进行规划分析,对各个模块进行设计,预先对不同部分的功能做出预想和设计,便于以后在硬件设计部分进行制作。 2.1 设计要求 本设计是一个可变色彩灯,设计 的 要求是:可以通过按键 来改变 彩灯的单个灯泡色彩以 及才的呢过的变换方式。当按动其中一个按键以后,彩灯便会在此按键代表的方式下运行,按动其他按键时,原变换结束,按动

13、按键代表的运行方式开始执行,以一种新的运行方式变换。 可变色灯泡需要包括按键部分、显示部分等,要求可以在不改变硬件只改变部分软件的情况下就能实现等跑的变色,及变样变换。本次仿真选取 protues 软件,通过AT89C51单片机,使用其定时功能和外部电路,实现彩灯闪烁,变色,变样的功能。 9 2.2 设计限定 由于不同的人群,对彩灯的需求不同,为了保证可变色彩灯的实用性,本设计提供几种模式,以确保不同类型的 人在不同模式的基础上做少量改变就可以基本实现想要的功能。 不同人需要的灯泡闪烁的间隔以及亮的时间也不同,根据不同人群的需求可以提供几种预先设置的方案。至于闪烁定时,也可以根据不同人的需求来

14、提供。 2.3 按键部分 按键部分需要能够控制单片机,按下相应的按键,就会有相应的动作, 设计奖采用 6个按键开关。按键可实现 5 个模式选择, 一个暂停按钮。 也可以根据不同人群的需要增加按键,增加程序模块,以达到增加模式的效果。 为了充分利用端口,本设计不提供开关按钮,每一个模式按键均可以当做开始按钮,暂停开关可作为关闭按键。按键模块设 计图。 模 式 三模 式 二 模 式 五模 式 一 模 式 四 开 / 关图 2-2 按键模块设计图 按键控制方法和原理: 模式一、模式二、模式三、模式四、模式五:分别以第一种、第二种、第三种、第四种、第五种模式运行彩灯系统 开 /关 : 暂停彩灯、重新打

15、开彩灯 通过以上的设计,使按键模块实现对单片机的操作,当然,这些操作按键是由软件输入单片机中,通过软件的形式对单片机加以操作和控制, 每个按键的原理基本相同,分别给输出口以不同的高低电平组合,来实现各种模式。 2.4 显示模块 显示模块本设计对彩灯的实际运 行做了模拟性仿真,基于条件限制,本设计采用了四个灯泡组成的简单的彩灯系统。四个灯每个均由红、蓝、绿三个 led 灯组成,以达到变色的目的。 由于 本模拟设计 对于彩灯的颜色没有特殊的要求 ,光的三原色组合能够满足需求,所10 以每个灯泡由三个、颜色的 led 灯构成即可。即本模拟设计通过十二个 led 灯组成四个可变色彩灯的系统。 3. 硬

16、件电路的设计 3. 1 单片机的选用 ( 1) AT89C51 单片机的简单介绍 对于这次的设计,我将选用 AT89C51 单片机。 该 类型的芯片采用 了 ATMEL 公司生产的高密度非易失性存储器技术 , 具有 MCS51 系列单片机的所有功能,片上 还 放置 了 闪存存储器单元和通用 8 核心处理器, 从而可以实现 非常强功能大。图 3-1 是单片机 AT89C51的引脚图。 图 3-1 AT89C51 双列直插式引脚图 AT89C51 各个引脚的作用: VCC:供电电压 +5V。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。

17、当 P1 口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校 验时,P0输出原码,此时 P0外部必须被拉高。本系统中 P0口接 LED数码管的段选段。 P1口: P1口是一个内部提供上拉电阻的 8位双向 I/O口, P1口缓冲器能接收输出 4TTL门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平11 时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时, P1 口作为第八位地址接收 7。 P2 口: P2

18、 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个TTL 门电流,当 P2 口被写 “1” 时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给出地址 “1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。本系统中语音芯片 ISD1420的地址端接 P2 口。 P3

19、口: P3 口是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当P3 口写入 “1” 后,它们被内部上拉 为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流,这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如表 2.5所示。 P3口同时为闪烁编程和编程校验接收一些控制信号。 表 2.5 P3 口的第二功能 口管脚 备选功能 信号名称 P3.0 RXD 串行输入口 P3.1 TXD 串行输出口 P3.2 /INT0 外部中断 0 P3.3 /INT1 外部中断 1 P3.4 T0 记时器 0 外部输入 P3.5 T

20、1 记时器 1 外部输入 P3.6 /WR 外部数据存储器写选通 P3.7 /RD 外部数据存储器读选通 RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在12 执行 MOVX, MOVC 指令是 ALE 才起

21、作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。在访问外部数据存储器时,这两次有效的 PSEN信号将不出现。 EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时, EA 将内部锁定为 RESET;当 EA 端保持高电平时,此间内部程序存储器。在本设计中,对 ROM 的读操作只在内部程序存储器中,所以 EA置应 高电平。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入

22、。 XTAL2:来自反向振荡器的输出 8。 ( 2) AT89C51 单片机的主要性能 : 与 MCS-51 产品指令系统兼容 、 4k 字节可重新擦写 Flash 闪速存储器 、 1000 次可擦写周期 、 全静态操作: 0Hz-24MHz、 1288 字节内部 RAM、 三级加密程序存储器 、 32 个可编程 I/O 口线 、 2 个 16 位定时 /计数器 、 6 个中断源 、 可编程串行 UART 通道 、 低功耗空闲和掉电模 3 2 仿真软件的选用 本次设计采用 protues 仿真软件,该软件的 ISIS 是一款可以通过自己动手画电路图来对实物进行仿真的软件。这个软件不仅支持各种型

23、号的单片机,元件库齐全,而且使用非常方便,仿真效果非常好,是一款非常值得向大家推荐的能使用单片机进行实物仿真的软件。 proteus 可以很好对单片机电路进行实物 模拟 实验 ,模拟效果相较于其他的实物实验要好的多。使用者在使用本软件的过程中,可以根据自身需求,随心所欲的来画电路图、补充电路图以及修改电路图。在适当的操作后可立即进行仿真以检查该电路的实际运行效果,充分弥补了我们在实际应用时无法一次次的修改硬件电路的弊端。采用软件修改硬件电 路的方式,更加方便快捷。在使用软件绘制电路图的时候我们还可以根据自己的实际需求选择使用或者不使用软件提供的电路元器件,也可以通过自己改变元器件的参数,来得到

24、不同的实验数据。实验结果若符合预期的要求,便可进行下一步,根据软件绘图来进行实物的13 制作,这种方法的经济快捷使得其本身具有很大的实用价值。 3.3 单片机最小系统 单片机要工作起来就需要为其提供外部硬件电路,最基本的外部电路扩单片机、时钟电路、复位电路等几部分,而单片机的最小电路则只是由复位电路和时钟信号电路组成(如图 3-2)。 14 图 3-2 单片机最小 系统图 复位电路:为了确定单片机的起始工作状态 并且完成单片机的启动过程,单片机的复位方式有手动复位和上电自动复位两种。本设计采用后者,上电自动复位。 时钟电路: 单品机最小系统中另一个模块叫做时钟电路。时钟电路的存在是为了产生时钟

25、频率,由一个晶振和两个小电容组成。由于 AT89C51单片机的内部的一个振荡器由一个反向放大器构成,当 XTAL1和 XTAL2分别作为振荡电路的输出和输入端时,时钟可有内部和外部产生。当在 XTAL1 和 XTAL2的引脚上接定时元件,内部振荡电路就会产生自激震荡。单片机系统采用石英晶体和电容 组成的并联谐振会路作为定时元件。选择晶振频率为12MHz,电容为 30Pf。电容的大小对系统频率起微调的作用。 15 3.4 按键控制电路 本设计的按键控制电路由五个按键开关构成。这五个按键开关分别接在 AT89C51单片机的p1.0-p1.4引脚上,是为了实现一对一的控制彩灯的不同颜色变换及闪烁形式

26、。当按下 key1时, 12个 led发光二极管以第一种闪烁发光方式运行, 从而实现三个一组的灯泡不同颜色的变换和闪烁。当按下按键 key2 的时候,十二个 led 发光二极管以第二种方式闪烁,从而实现四个灯泡不断变换颜色闪烁的第二种 模式。同理,当按下开关可以 3 时十二个 led二极管以第三种方式闪烁,实现四个可变色灯泡的第三种 按键控制电路(如图 3-3)是由 4 个按键开关构成的。他们分别接在单片机 AT89C51的 P1.0P1.3 引脚上,为了一对一方式控制 16 个 LED 彩灯的不同闪烁形式。当按下开关key1时, 16个 LED发光二极管闪烁第一种彩灯方式;当按下开关 key

27、2 时, 16个 LED发光二极管闪烁第二种彩灯方式;同理,当按下开关 key3 时, 16 个 LED 发光二极管闪烁第三种彩灯方式;当按下开关 key4时, 16个 LED发光二极管闪烁第四种彩灯 方式。 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34

28、P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1R11 0 k图 3-3 按键控制电路图 16 3.5

29、中断电路 中断电路的作用是, 无论彩灯正在以哪种方式运行,按下中断按钮以后,该过程一定终止,十二支 led不同色的发光二极管均处在熄灭状态,停止当前工作。当在按下一次中断按钮的时候,彩灯继续第一次按下中断按钮前的方式,从头开始工作。 为此我们通过单片机的 p3.3引脚来接上中断按钮,来实现对彩灯的中断控制。中断控制按钮接法如图 3-4 如图 3-4 中断控制电路图 3.6 LED 显示电路 四个可变色灯泡,由十二个发光二极管组成 。发光二极管( Light-Emitting Diode),简称 LED, led 常被用作微型计算机与数字电路的输出装置,是一种具有体积小、耗电低等优点的能讲点能转

30、化为光能的半导体器件。 Led 的两端可以加上正向电压,当由电流流过 led时,他便会发光,将电能转化为光能。并且 led的亮度会随着通过它自身电流的大小而改变,但是过大的电流也会烧毁 led,大的电流会使 led的使用寿命缩短。普通的 led正向电流一般不会低于 5mA,同时也不会高于 20mA.本设计的 led 采用灌电流的方式 ,即电流从电流源出发,流经 led 而后进入单片机的 I/O 口。这是由于 51 单片机的 I/O 口是17 弱上拉的方式,高电平时只能输出几十微安的电流,但是其输出低电平时又可以输入几十微安的电流,故而,为了保证 led的正常发光采取了这种管电流的方式。为了避免

31、流过 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

32、 口、 p3 口的输入电流总和最大值不能超过 15mA;所有 I/O口的输入电流总和最大值不得超过 71mA。 Led显示电路接法,如图 3-5。 18 图 3-5 led 显示电路图 3 7 仿真部分总结 如图 3-6 所示,本设计的主要控制部件为 AT89C51 单片机。共四十个引脚,本次设计选用 p2 口和 p0 口进行 led 变色灯泡的发光部分, p1 口进行主要控制按 键模块的传送, p3口用作中断按钮的 传送,此外还有重置电路和振荡电路部分。 本设计选用 AT89C51 单片机的 p0 口的六个引脚( p0.0p0.5)以及 p2 口德六个引脚( p2.0p2.5)作为显示数据的

33、传送端口。因为这个设计的四个可变色的灯泡均由三个三原色 led 灯组成,所以只需要使用 p0 口和 p2 口的十二个引脚,足够数据可以传输显示,根据设计原理图,本设计将数码管的引脚通过 p0口和 p2口的 12个引脚( p0.0p0.5、 p2.0p2.5)接上那个 led 灯以后再接上限电电阻就可以实现显示模块的功能了。 本次可变 色灯泡的设计,选用 p1 口的 5 个引脚( p1.0p1.4)分别用作按键模块的第一种模式、第二种模式、第三种模式、第四种模式、第五种模式这五个按键的输入端口 首先把这 5 个引脚通过按键与地相接,这样,如果按下相应的按钮,那这个按键与单片相连的引脚就会变成低电

34、平,从而给单片机输入一个低电平的脉冲,再根据单片机的内部软件功能,分别实现每个按键的功能。 中断按钮接在 p3.3 上,其原理与以上五个模式按键的原理相同,再次不在重复说明。 19 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56

35、P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1C13 0 p fC23 0 p fX1CR Y S T A LC32 2 u fR

36、11 0 kD1L E D- B L U ED2L E D- B L U ED3L E D- B L U ED4L E D- B L U ED5L E D- G RE E ND6L E D- G RE E ND7L E D- G RE E ND8L E D- G RE E ND9L E D- R E DD 1 0L E D- R E DD 1 1L E D- R E DD 1 2L E D- R E DR21 0 kR31 0 kR41 0 kR51 0 kR61 0 kR71 0 kR81 0 kR91 0 kR 1 01 0 kR 1 11 0 kR 1 21 0 kR 1 31 0 k图

37、 3-6 硬件设计原理图 4. 软件编程设计 4 1 编程软件 本次设计选用 keil 为编程软件。 单片机的使用有两种设计,一种为硬件电路设计,一种为软件设计。单片机的软件汇编分为手工汇编和机器汇编两种汇编方式。随着单片机开发技术日新月异的不断发展进步 ,设计人员对单片机的使用更是越来越熟练。而普通的汇编语言夜早已由于更加高级的并且更加实用的语言的诞生而不复存在。 Keil 软件是用来开发 51 系列的单片机的常用软件之一。 Keil 可以进行 c51 的汇编语言, PLM 语言和 C 语言的程序设计,而且它的界面十分友好,并且人性化,对于我们初次接触的使用者来说,也是非常好学习的。 4 2

38、 延时部分 在软 件设计中会经常用到延时部分,因此对延时程序进行统一编程,以便以后进行程20 序调用,方便省时。 设计编写延时程序时,需要定义延时头文件 DELAY_h,编写时为了满足设计需要,在此文件中定义了四个延时函数,分别是 1ms 延时函数、 2s 延时函数、 0.2s 延时函数和 5ms延时函数。定义时,必须将每个函数都起好名称区分清楚,防止用错。在函数调用时,直接就可以调用函数名来使用。 4 3 按键部分 根据硬件要求,本设计一共需要定义六个按键,分别是第一个变换模式、第二个变换模式、第三个变换模式、第四个变换模式、第五个变换模式和一 个中断模式,为了满足设计需求,每一个按键按下后

39、都必须实现其目的并且通过 led 灯的变换显示出来。 根据原理,绘制了图 4-1 的原理框图如下: 21 开 始判 断 有 无 按 键 按 下当 k e y 1 k e y 5 有 按 键 按 下时当 中 断 开 关按 下 时实 现 相 应 的 功 能中 断 当 前 模式中 断 开 关 再次 按 下 时是否图 4-1 按键设计 原理图 4 4 综合仿真 仿真部分总结:在仿真之前,首先需要将 keil 与 protues 进行联调,然后在 keil 中用源程序的项目生成 HEX 文件后,在 protues 中导入单片机,即可在 protues 中进行仿真。 如图 4-2 所示,利用仿真图左侧的按

40、键部分, 分别按动由上到下的 五 个按钮按钮, 系统开始以各 个模式运行,四个可变色灯泡以不同的颜色来回变换跳跃闪烁。 。按动最下方的按钮来实现中断的作用。 从而实现了本设计可变色灯泡的全部功能。 22 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1

41、 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1C13 0 p fC23 0 p fX1CR Y S T A

42、LC32 2 u fR11 0 kD1L E D- B L U ED2L E D- B L U ED3L E D- B L U ED4L E D- B L U ED5L E D- G RE E ND6L E D- G RE E ND7L E D- G RE E ND8L E D- G RE E ND9L E D- R E DD 1 0L E D- R E DD 1 1L E D- R E DD 1 2L E D- R E DR21 0 kR31 0 kR41 0 kR51 0 kR61 0 kR71 0 kR81 0 kR91 0 kR 1 01 0 kR 1 11 0 kR 1 21 0 k

43、R 1 31 0 k图 4-2 仿真原理图 23 参考文献 1 曹天汉,模拟电子技术,北京师范大学出版社 2005 年 8 月 2 侯玉宝、陈忠平、李成群,基于 Proteus 的 51 系列单片机设计与仿真 电子工业出版社 2008年 9 月 3 曹天汉、钱卫星、张雪娟,单片机原理与接口技术(第 3 版),电子工业出版社 2009 年 3 月 4 张国华 , 张弛 , 吴冬芳等 . 基于单片机的学习式倒计时器 J. 煤炭技术 , 2011,30(5):47-49 5 李全利 ,单片机原理与接口技术 M,高等教育出版社 2006 年 12 月 6 李忠国、陈刚 ,单片机应用技能实训,人民邮电出

44、版社 2006 年 7 刘丹 . Protues 与 Keil 联合仿真在单片机教学中的应用 J. 科教导刊 , 2013,(23):120-121 8 李生明 , 杨红 . PROTUES 软件在学习单片机中的应用 J. 清远职业技术学院学报 , 2010,03(6):40-42 9 马刚 , 李向仓 . 用 Proteus 与 Keil 整合构建单片机虚拟仿真平台 J. 现代电子技术 , 2006,29(24):129-131 10 伍冯洁 , 谢斌 . 基于 Proteus 与 Keil 的单片机实验教学改革 J. 实验室研究与探索 , 2009,28(7):125-127 11 唐前辉

45、 , 丁明亮 . Proteus ISIS 和 Keil 在单片机教学中的应用 J. 重庆电力高等专科学校学报 , 2006,11(4):46-49 12 胡敬朋 , 王聪 . 单片机项目教学研究及实践 J. 电气电子教学学报 , 2009,31(5):82-84 24 附 录 源 程 序 void timer0(void)interrupt 1 using 1 TL0 = 0x00; /重置初值 TH0 = 0xBE; TL0 = 0xE5; key=P1; switch(key) case 0xFE:state=1;stateTemp=1;break; case 0xFD:state=2;

46、stateTemp=2;break; case 0xFB:state=3;stateTemp=3;break; case 0xF7:state=4;stateTemp=4;break; case 0xef:state=5;stateTemp=5;break; default:break; void _int()interrupt 2 using 2 if(flag=0) state=6; flag|=1; else state=stateTemp; flag 25 void main() IT1=1; IE|=0x86; TMOD= 0x21; TH0 = 0xBE; TL0 = 0xE5;

47、ES = 0; /禁止串口中断 TR0 = 1; /开启定时器 0,开始定时 while(1) switch(state) case 1:fun1();break; case 2:fun2();break; case 3:fun3();break; case 4:fun4();break; case 5:fun5();break; case 6:P0=0xFF;P2=0xFF;break; default:break; 26 致 谢 在毕业设计论文即将完成之际,我想向曾经给予我帮助和支持的人表示衷心的感谢。首先我要感谢我的指导老师王红玲老师,她的谆谆教导给了我莫大的帮助,使这次毕业设计成了我的一个很好的实践锻炼的机会,通 过这次设计,我开阔了自己的视野,学会了很多实际应用的知识。 其次我还要感谢大学四年来所有的老师,他(她)们为我打下电气类专业知识的基础;同时我还要感谢我所有同学,正是因为有了你们的支持和鼓励,我这次毕业设计才能顺利的完成。 最后我要感谢电气(机电)工程学院和我的母校许昌学院四年来对我的大力栽培,四年的大学时光,让我更好的成长,今后我将继续努力,为了自己的目标而奋斗

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

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1