单片机课程设计基于单片机的LED流水灯控制系统设计

上传人:仙*** 文档编号:64118392 上传时间:2022-03-21 格式:DOC 页数:25 大小:658.50KB
收藏 版权申诉 举报 下载
单片机课程设计基于单片机的LED流水灯控制系统设计_第1页
第1页 / 共25页
单片机课程设计基于单片机的LED流水灯控制系统设计_第2页
第2页 / 共25页
单片机课程设计基于单片机的LED流水灯控制系统设计_第3页
第3页 / 共25页
资源描述:

《单片机课程设计基于单片机的LED流水灯控制系统设计》由会员分享,可在线阅读,更多相关《单片机课程设计基于单片机的LED流水灯控制系统设计(25页珍藏版)》请在装配图网上搜索。

1、 单片机应用技术 课 程 设 计 报 告 2015 2016 学年 第 2 学期题 目:基于单片机的LED流水灯控制系统设计 专 业: 电气工程及其自动化 班 级: 13电气(2)班 姓 名: 指导教师: 成 绩: 电气工程学院2016年 6月9 日任 务 书课题名称 基于单片机的LED流水灯控制系统设计指导教师(职称) 执行时间2015 2016 学年第2学期 第 15周学生姓名学号承担任务电路板焊制和实验报告的编写电路板焊制和实验报告的编写 设计目的1、进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机核心的电路

2、设计的基本方法和技术,了解有关电路参数的计算方法。4、通过程序设计和仿真,逐步掌握模块化程序设计方法和Proteus仿真软件和Keil c51编程软件的使用。5、通过完成一个包括电路设计和程序开发的电路板完整的制作过程,使学生了解开发单片机应用系统的全过程,为今后从事相应工作打下基础。 设计要求要实现流水灯功能,将发光二极管LED0LED7依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯目 录摘 要1第一章 AT89S51单片机硬件介绍21.1 AT89S51单片机硬件组成21.2 AT89S51管脚说明31.2.1 电源及时钟引脚41.2.2控制引脚41.2.3并行I/O口引脚4第二章 硬

3、件电路设计62.1 时钟电路设计62.2复位电路设计72.3 LED灯显示电路72.4 LED流水灯总硬件图8第三章 软件设计93.1软件设计流程图93.2 延时程序93.3 主程序93.4LED流水灯总程序10第四章 Proteus虚拟设计与仿真114.1 Proteus虚拟设计与仿真流程114.2 Proteus ISIS下电路设计114.3源程序设计与生成目标代码文件124.3.1 源程序输入124.3.2源程序编译与调试144.4 Proteus ISIS与Keil Vision2 联调15第五章 电路板制作165.1元器件清单165.2 元器件布局165.3 元器件焊接175.4电路

4、板验收17总 结18参考文献19摘 要单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。学习单片机就免不了要

5、编写程序,目前使用较为广泛的是C语言。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。目前使用较多的单片机芯片为AT89S51.AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Fl

6、ash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。关键词:单片机 C语言 AT89S51第一章 AT89S51单片机硬件介绍单片机应用的特点是编写程序来控制硬件,所以,首先熟知并掌握AT89S51单片机片内硬件的基本结构和特点。1.1 AT89S51单片机硬件组成AT89S51单片机的片内硬件组成结构如图1-1所示,它把那些作为控制应用所必需的基本外围部件都集成在一个集成芯片上。AT89S51具有如下外围部

7、件:图1-1 AT89S51单片机片内结构1、4k Bytes Flash片内程序存储器;2、128 bytes的随机存取数据存储器(RAM);3、32个外部双向输入/输出(I/O)口;4、2个中断优先级、2层中断嵌套中断;5、5个中断源;6、2个16位可编程定时器/计数器;7、2个全双工串行通信口;8、看门狗(WDT)电路;9、片内振荡器和时钟电路;10、与MCS-51兼容;11、全静态工作:0Hz33MHz;12、三级程序存储器保密锁定;13、可编程串行通道;14、低功耗的闲置和掉电模式。1.2 AT89S51管脚说明AT89S51单片机多采用40只引脚的塑料双列直插封装方式,如图1-2所

8、示。40只引脚按功能可以分为如下3类:(1) 电源及时钟引脚:、XTAL1、XTAL2;(2) 控制引脚:、/、/、(3) I/O口引脚:P0、P1、P2、P3图1-2 AT89S51双列直插封装方式的引脚1.2.1 电源及时钟引脚VCC(40引脚):电源电压输入端GND(20引脚):电源地XTAL1(19引脚):片内振荡器反相放大器和时钟发生器的输入端。XTAL2(18引脚):片内振荡器反相放大器的输出端。1.2.2控制引脚/(30引脚):地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,AL

9、E端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。/:外部程序存储器访问允许。当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是

10、否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。1.2.3并行I/O口引脚P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供

11、上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八

12、位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:引脚第二功能说明P3.0RXD串行数据输入口P3.1TXD串行数据输出口P3.2外部中断0输入P3.3外部中断1输入P3.4T0T0定时器的外部计数输入P3.5T1T1定时器的外部计数输入P3.6外部数据存储器的写选通

13、输出P3.7外部数据存储器的读选通输出P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。AT89S51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。第二章 硬件电路设计基于单片机的LED流水灯控制系统硬件包含时钟电路、复位电路和LED灯显示电路。故本章主要就介绍这几种电路。2.1 时钟电路设计AT89S51单片机各外围部件的运行

14、都以时钟控制信号为基准,有条不紊、一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时种方式,另一种是外部时钟方式。本课设我选择内部时钟方式,所以下面内容是关于内部时钟电路的。AT89S51单片机内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-1所示为AT89S51单片机内部时钟方式的电路。电路中的电容和的典型值通常选择为30pF,晶体振动频率通常选择6MHz、12MHz(可得到准确的定时)

15、或11.0592MHz(可得到准确的串行通信波特率)的石英晶体。本实验采用12MHz的石英晶体。图2-1 AT89S51内部时钟方式的电路2.2复位电路设计AT89S51单片机的复位是由外部电路实现的。AT89S51典型的复位电路如图2-2所示。上电时的自动复位是通过(+5V)电源给电容C充电加给RST引脚一个短暂的高电平信号,此信号随着对电容C的充电过程而逐渐回落,即RST引脚上高电平持续时间取决于电容C充电时间。因此为保证系统能可靠的复位,RST引脚上的高电平必须大于复位所要求的的高电平的时间。除了上电复位外,有时候还需要人工按键复位。按键复位时通过RST端经两个电阻对电源接通分压产生高电

16、平来实现。图2-2 复位电路2.3 LED灯显示电路由AT89S51单片机硬件组成(第一章)可知,AT89S51共有4个I/O口,其四个I/O口都可以作为通信端口,但P0口没有上拉电阻,做输出时需要上拉电阻,而P1、P2、P3不需要上拉电阻。在做实物时由老师给的器材可知,没有上拉电阻,所以不能选P0口,可以选其他三个I/O口。另外,8个LED灯有共阴和共阳两种连接方式,共阳极就是将阳极连接在一起,公共阳极接到+5V上;共阴极就是将共阴极接在一起,通常此共阴极都是接地。综合考虑,我选择的是P2口LED灯共阴连接,其显示电路如图2-3所示。图2-3 LED灯显示电路2.4 LED流水灯总硬件图综上

17、分析,可以得到LED流水灯总硬件图如图2-4所示。图2-4LED流水灯总硬件图第3章 软件设计3.1软件设计流程图 LED流水灯显示程序包含延时程序、主程序两部分,故在编写程序时可以分别编写,然后放在一起。其软件设计流程图如图3-1所示。延时程序主程序LED流水灯控制总程序图3-1 软件设计流程图3.2 延时程序void delay (unsigned int i) unsigned char t;while (i-) for(t=0;t120;t+) ; 3.3 主程序void main () P2=0xff;While(1) P2=0x01;Delay(500)P2=_crol_(p2,1

18、); 3.4LED流水灯总程序 #include #includevoid delay (unsigned int i) unsigned char t;while (i-) for(t=0;t120;t+) ; void main () P2=0xff;While(1) P2=0x01;Delay(500) P2=_crol_(p2,1); 第4章 Proteus虚拟设计与仿真新建设计文件4.1 Proteus虚拟设计与仿真流程Proteus电路 设计选取元器件源程序设计 放置元器件、电源和地生成目标代码文件电路连线加载目标代码、设置时钟频率元器件属性设置电气检测Proteus仿真 图4-1

19、 Proteus虚拟设计与仿真流程4.2 Proteus ISIS下电路设计首先在Proteus ISIS环境下完成LED流水灯电路原理图的设计,包括选择各种元器件、外围接口芯片等,电路连接以及电气检测等。LED流水灯电路原理图如图4-2所示。图4-2 LED流水灯电路原理图4.3源程序设计与生成目标代码文件在Keil Vision2 平台上进行源程序的输入、编译与调试,并生成目标代码文件(*.hex文件)。4.3.1 源程序输入编写一个新的应用程序前,首先要创建工程。Keil Vision2把用户的每一个应用程序都当做一个工程,用工程管理的方法把一个程序中所需要用到的、互相关联的程序链接在同

20、一个工程中。因此,在使用Keil Vision2对程序进行编辑、调试与编译之前,需要首先创建一个新的工程。其步骤大致如下:1) 创建一个工程 打开软件Keil Vision2,单击菜单栏中的【project】,再点击下拉菜单选项“New Project.”,在弹出的Create New Project 窗口输入文件名“LED流水灯.UV2”,单击保存即可。如图4-3所示。图4-3 Create New Project 窗口2) 器件选择 单击保存后,在弹出的Select Device for Target窗口中,选择“Atmel”目录下的“AT89C51”,点击“确定”后,在弹出的对话框中选择

21、“否”就行了。如图4-4所示。图4-4 Select Device for Target 窗口3) 添加用户源程序文件 单击菜单栏中【File】“New”选项,在弹出的对话框中输入自己的程序。如图4-5所示。图4-5 建立新文件4) 保存文件 单击菜单栏中【File】“Save”选项,保存文件。在弹出的窗口文件名栏输入“LED流水灯.C”。如图4-6所示。图4-6 Save As 对话框4.3.2源程序编译与调试单击快捷按钮中的,对当前文件进行编译,在输出窗口会提示信息,如图4-7所示。从输出窗口中的提示信息可以看到,程序中有一个警告不要紧,可以不修改。图4-7 文件编译信息程序编译没有错误后

22、,就可以进行调试与仿真。在主菜单面点击【Debug】菜单中“Start/Stop Debug Session”选项,进入程序调试状态,如图4-8所示。图4-8 程序调试界面4.4 Proteus ISIS与Keil Vision2 联调电路绘制完成后,把Keil Vision2 下生成的.hex文件加载到电路图中的单片机内就可以仿真了。其结果如图4-9所示。图4-9 联调结果图第5章 电路板制作5.1元器件清单根据硬件电路原理图分析可知,该电路板制作需要LED灯、电阻、电容和AT89S51单片机等元器件。其详细元器件清单如表5-1所示。表5-1 元器件清单发光管LED灯(绿)8AT89S511

23、电容30PF2电解电容10UF1晶振12MHZ1电阻10K1电阻1K1按钮1IC插座DIP401电木万能板1开关1USB转串口、下载线1锡条、导线15.2 元器件布局根据LED流水灯硬件原理图将元器件在电木万能板合理布局,使电路板看起来既美观,又方便各个元器件之间连线,这样可以节约用线。其布局图如图5-1所示。图5-1 元器件布局图5.3 元器件焊接在元器件布好局后就可以焊接。在焊接的过程中,要十分小心,一方面防止被烫伤,另一方面防止将相邻额锡点焊接在一起,造成短路,电路板焊接不成功。在焊接时可以边焊边连接线路,也可以全焊好后再连接线路。我在焊接时选择得后者,这样方便快捷。焊接完成如图5-2所

24、示。图5-2 焊接完成图5.4电路板验收电路板焊接完成后,自己对照着LED流水灯硬件电路原理图检查一遍,看看实物电路中元器件之间连线是否有错,确定无误后,就可以找老师下载程序到单片机里,通电看看实验结果是否符合实验要求。符合,你这次电路板焊接就结束了;不符合,要重新回去检查,找出电路板焊接不正确的地方进行修改。当时我们组找老师验收时一次就成功了,没有错误,是班里第一组找老师验收成功的,感到非常开心!总 结时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一

25、个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编

26、程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。

27、还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 参考文献1 肖洪兵.跟我学用单片机.北京:北京航空航天大学出版社,2002.82 何立民.单片机高级教程第1版北京:北京航空航天大学出版社,20013 赵晓安.MCS-51单片机原理及应用.天津:天津大学出版社,2001.34 李广第单片机基础第1版北京:北京航空航天大学出版社,19995 徐惠民、安

28、德宁单片微型计算机原理接口与应用第1版北京:北京邮电大学出版社,19966 何立民从Cygnal80C51F看8位单片机发展之路7 单片机与嵌入式系统应用,2002年,第5期:P588 夏继强.单片机实验与实践教程.北京:北京航空航天大学出版社,2001 9 张毅刚. 单片机原理及应用 . 北京:高等教育出版社 201210周鸣争. C语言程序设计教程. 成都:电子科技大学出版社 2015.8 - 20 -单片机应用技术课程设计考查评分表姓名杨光学号1309141139班级13电气2班题目基于单片机的LED流水灯控制系统设计考查项目平时表现(20%)工作态度认真,能否按时完成设计任务,是否独立

29、完成。设计方案(30%)方案选择合理,设计正确,原理清晰,程序正确,能仿真出正确的结果。电路板制作(20%)元器件布局合理,焊接方法正确,能实现功能要求。 功能调试(15%)过程清晰,调试方案设计合理,调试步骤清楚,能达到预期效果。设计报告(15%)报告内容完整,论述层次清晰,重点突出,完全符合格式要求。 总 评 成 绩指 导 老 师: 陆媛 宋鸿儒 2016 年 6 月 9 日单片机应用技术课程设计考查评分表姓名单亚学号1309141090班级13电气2班题目基于单片机的LED流水灯控制系统设计考查项目平时表现(20%)工作态度认真,能否按时完成设计任务,是否独立完成。设计方案(30%)方案选择合理,设计正确,原理清晰,程序正确,能仿真出正确的结果。电路板制作(20%)元器件布局合理,焊接方法正确,能实现功能要求。 功能调试(15%)过程清晰,调试方案设计合理,调试步骤清楚,能达到预期效果。设计报告(15%)报告内容完整,论述层次清晰,重点突出,完全符合格式要求。 总 评 成 绩指 导 老 师: 陆媛 宋鸿儒 2016 年 6 月 9 日

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

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

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


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