基于51单片机的花样流水灯设计.doc
《基于51单片机的花样流水灯设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的花样流水灯设计.doc(47页珍藏版)》请在咨信网上搜索。
摘 要 摘 要 计算机技术的飞速发展和提高,把我们带入了崭新的时代,现在,计算机的应用已经深入到千家万户。单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。单片机在现在社会有着广泛的应用,小到人们的日常电子用品,大到航天飞机、宇宙飞船,上面都有单片机的广泛应用。单片机具有体积小、功能强大、低功耗、应用广泛等特点。以AT公司的芯片 AT89C51 单片机来实现流水灯的设计。本系统由单片机控制,I/O口接LED的负极,而LED的正极则直接与5V电源相连。通过I/O口输出的低电平点亮LED灯。因此可以通过控制单片机的I/O口的电平高低以达到控制LED,从而实现不同花样的流水灯的目的。 关键词:LED,单片机,高低电平变化 III ABSTRACT The rapid development of computer technology and improving, bring us to the new era, now, the application of computer has been deep into the thousands. Single chip microcomputer is made on an integrated circuit chip computer, hereinafter referred to as single chip microcomputer. SCM has been widely used in the present society, small to People's Daily electronic products, big to aerospace aircraft, spacecraft, above has the wide application of single-chip microcomputer. SCM has small volume, powerful function, low power consumption, wide application, etc. AT the company's chip AT89C51 single-chip microcomputer to realize the water lamp design. This system controlled by single chip microcomputer, I/O ports connect the LED the cathode, and LED the anode is directly connected to 5V power supply. Through the I/O port output low level light leds. So you can single chip microcomputer control through the I/O ports to control LED, the level of high and low so as to realize the purpose of the different pattern of flowing water light. Key words: LED , MCU ,High and Low output leve 目录 目 录 第1章 引言 1 1.1 研究背景及意义 1 1.2 国内外研究现状以及本系统的重点问题 1 1.3 本文章节安排 2 第2章 系统设计方案论证 3 2.1 控制器模块方案论证 3 2.2 键盘模块方案 4 2.3 电源模块方案 4 第3章 系统硬件设计方案 5 3.1 系统设计框图 5 3.2 硬件电路设计 5 3.2.1 电源电路 5 3.2.2 单片机89C52最小系统 6 3.2.3 按键电路 13 3.3.4 LED灯电路 13 第4章 程序设计及软件仿真 15 4.1 软件设计框图 15 4.2 软件开发平台选择 15 4.3 软件系统功能模块 16 4.3.1 初始化模块 16 4.3.2 延时函数 17 4.3.3 定时器控制模块 17 4.3.4 键盘扫描模式 17 4.3.5 LED灯输出控制模块 18 4.4 程序调试仿真 19 4.4.1 仿真平台介绍 19 4.4.2 仿真测试 19 第5章 硬件调试 21 5.1 硬件设计 21 5.2 硬件调试 21 5.2.1 下载功能调试 21 5.2.2 LED电路测试 21 5.2.3 模式选择功能调试 22 5.2.4 速度加减功能调试 22 5.2.5 复位电路调试 22 5.2.6 稳定性测试 22 总结 23 致谢 25 参考文献 26 附录 27 附录一:原理图 27 附录二:硬件实物 28 附录三:程序代码 29 第1章 引言 第1章 引言 1.1 研究背景及意义 现如今,随着集成化芯片的飞速发展,分立元件或数字逻辑电路正逐步被集成电路所取代,而单片机作为一种集成电路,其价格低廉,且可靠性强、控制简单但控制方法多样。 单片机在我们的日常生活和工作中无处不在、无处不有:家用电器中的电子表、洗衣机、电饭褒、豆浆机、电子秤;住宅小区的监控系统、电梯智能化控制系统;汽车电子设备中的ABS、GPS、ESP、TPMS;医用设备中的呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站的IC卡读卡机、滚动显示车次和时间的LED点阵显示屏;电脑的外设,如键盘、鼠标、光驱、打印机、复印件、传真机、调制解调器;计算机网络的通讯设备;智能化仪表中的万用表,示波器,逻辑分析仪;工厂流水线的智能化管理系统,成套设备中关键工作点的分布式监控系统;导弹的导航装置,飞机上的各种仪表等等。有资料表明:2007年全球单片机的产值达到151亿美元,我国单片机的销售额达到400亿元人民币,我国每年单片机的需求量达50至60亿片,是全球单片机的最大市场。可以说单片机已经渗透到了我们生活的各个领域。 1.2 国内外研究现状以及本系统的重点问题 单片机自从问世以来便得到了广泛的应用,单片机以其体积小、重量轻、功耗低、功能强、数据在芯片内部传输速度较快、可靠性高、程序运行速度快、抗干扰能力强等优势迅速得到了人们的青睐,被广泛应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口电路、计算机通信和单片机多级系统等领域。而在流水灯的控制系统中,单片机更是取代了传统流水灯的分立元件设计,成为该系统的核心部件。传统设计的流水灯,电路复杂,且可靠性较差,并且花样单一;而单片机控制的流水灯,花样纷繁多样,且易于修改;硬件电路比分立元件的设计简单很多,成本也极为低廉。因此,单片机控制的流水灯必将在流水灯领域掀起一场大革命。 本文中所设计的系统为基于51单片机的花样流水灯控制系统。该系统由一块单片机通过C语言编程来实现控制功能。可靠且灵活性高、适用范围广、且变换的花样繁多,同时也适用于霓虹灯以及交通灯等领域。本文将详细介绍该对该系统的设计。 1.3 本文章节安排 第1章介绍了论文的研究背景及意义,对主要研究的技术指标和章节安排进行了说明。 第2章对本系统的设计方案的各个设计模块进行比较论证,得到了适合本文的设计方案。 第3章提出了系统设计框图以AT89S52单片机为主控制器,通过键盘来设控制流水灯的模式与流水灯的快慢。 第4章根据设计方案,设计了软件设计框图,并对各个模块的主要算法进行说明。 第5章利用protues进行软硬件设计仿真,并进行实物制作,验证实物的性能指标。 第6章对本文研究的内容和工作进行总结,查找不足并作出展望。 43 第2章 系统设计方案论证 第2章 系统设计方案论证 2.1 控制器模块方案论证 方案一:使用FPGA,让第一个灯先亮,然后通过移位,依次点亮其他的灯,便形成了流水灯。初始状态时,所有灯都不亮,每来一个时钟脉冲CLK,计数器就加1.每当判断出计数器中的数值达到25000000时,就会点亮一个灯,并进行移位,FPGA输出的数据就应该先是10000000,隔一秒就编程110000000......一直变化到11111111,这样就依次点亮所有的灯,也就形成了流水灯。而当当8个灯都被点亮时,需要一个操作使得所有的灯都恢复为初始状态,即:灯都不亮,然后再一次流水即可。如果是右移位,就会出现右流水现象。反之就是左流水。 方案二:使用单片机,将LED的正极接电源,负极接单片机的I/O,然后当单片机的I/O口输出低电平时,即点亮LED灯,然后通过移位指令让其他LED依次点亮,即形成流水效果。若是左移指令,即为左流水;右移指令则为右流水。 在数控方面,单片机会优于CPLD或FPGA器件,因为此处只是用于流水灯控制,不需要太高的速度以及精确度,且上述两种期间控制起来也比单片机麻烦,因此没有必要选用价格昂贵的CPLD和FPGA器件。而单片机则不同,因为单片机在技术领域已经相当成熟,市面上流通有型号与品牌繁多的单片机,各种参考文献也非常多,且价格低廉,只需要几元人民币,因此用单片机控制会较为划算。其次,单片机的编程方式较为多样,可选用普及度很高的C语言或汇编语言进行编程,在这一点上也优于CPLD和FPGA器件。因此,最终决定采取单片机控制的方案。 由于单片机的高电平的电位为大于2V,低电平电位为小于0.8V,而供电的电源为5V,且一般的LED的耐压为3-4V,因此,若直接将I/O口与LED相连,有可能会烧坏LED,因此需要串联分压电阻。阻值大约为220-300Ω。 考虑到PCB的布局布线,因此打算采用P0口和P2口来驱动LED灯。但因为P0口的驱动能力较弱,因此需要在P0口外部提供的强上拉。因此采取接阻值为10kΩ的排阻的方法来提供这个强上拉。 2.2 键盘模块方案 方案一:采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多。 方案二:采用标准4×4键盘,此类键盘采用矩阵式行列扫描方式,优点是当按键较多时可降低占用单片机的I/O口数目。 本系统只需要三个按键,分别为控制模式按键,流水灯变换速度加,流水灯变换速度减,因此本系统采用独立式按键即可满足系统要求,降低开发难度和硬件成本。 2.3 电源模块方案 由于系统的单片机和LED灯的电压都只需要5V,不需要多种电压,因此直接采用市场上现有的220V转5V的电源,通过DC线连接系统的火牛头为系统供电。 第3章 系统硬件设计方案 第3章 系统硬件设计方案 3.1 系统设计框图 根据系统设计方案的论证,设计出如图3-1所示的系统设计框图,下面依次介绍各个模块的具体设计实现细节。 图3-1 系统设计框图 3.2 硬件电路设计 3.2.1 电源电路 本设计需要用到5V供电,考虑采用USB转DC电源线接5V,1A开关电源以提供稳定的电压,加入一个6脚自锁开关控制电路通断。单片机的40脚接至VCC,20脚接至GND,电路图如图3-2所示,图中J1为DC火牛头。 图3-2 电源电路图 3.2.2 单片机89C52最小系统 本系统采用的核心控制模块是常用的单片机型号:89C52。下面简要介绍该单片机的特点和使用方法。 3.2.2.1 单片机简介 1.单片机内部结构 MCS-51结构的单片机内部采用模块式结构,其结构组成框图如图3-3所示。 由图可见,该系列单片机主要由随机数据存储器(RAM)、程序存储器(ROM)、中央处理器(CPU)、输入输出口、串行口、内置的定时器/计数器、中断控制、总线控制、以及时钟电路通过总线连接而成。 CPU是单片机内部的核心器件,分为运算器和控制器两大部分,此外还有面向控制的未处理功能。 STC89C52中有512字节的随机数据存储器(RAM),可通过片外扩展来提升RAM容量。 存储器(ROM),是用来存储程序的存储器,在STC89C52中集成了8K字节的FLASH存储器,如果片内的容量不够,还可扩展至64KB。 中断系统:具有5个中断源,2级中断优先权。 定时器/计数器:片内集成了3个16位的定时器/计数器T0、T1、T2,具有四种工作方式 串行口:一个全双工异步串行口,具有四种工作方式,可进行串口通信,扩展并行I/O口,还可以与多个单片机相连以构成多级系统。 特殊功能寄存器(SFR):共有26个特殊功能寄存器,用于CPU对片内各功能部件进行管理和监视。特殊功能寄存器实际上是片内各个功能部件的控制寄存器和状态寄存器,这些特殊功能寄存器映射在片内RAM区80H-FFH的地址区内。 图3-3 MCS-51内部结构 2.STC89C52引脚结构 目前,STC89C52多采用DIP-40封装,即双列直插,共40个引脚的封装方式。此外,还有44引脚的PLCC和LQFP封装(都为表贴元件)。 其中40个引脚根据功能的不能可分为3类: (1)、电源及时钟引脚——VCC、GND;XTAL1、XTAL2。 (2)、控制引脚——PSEN非、ALE/PROG非、EA非/Vpp、RST(即复位)。 (3)、I/O口引脚——P0、P1、P2、P3,为4个8为I/O口的外部引脚。 3.单片机时钟介绍 单片机执行的指令均是在CPU控制的时序控制电路的控制下进行的,各种时序均与时钟周期有关。 (1)、时钟周期 时钟周期是单片机时钟控制信号的基本时间单位。若时钟晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc.如fosc=12MHz,Tosc=83.3ns。 (2)、机器周期 CPU完成一个基本操作所需要的时间称为机器周期。单片机中通常把执行一条指令的过程分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。STC89C52单片机每12个时钟周期为一个机器周期。即Tcy=12/fosc.若fosc=12MHz,Tcy=1us。 STC89C52单片机的一个机器周期包括12个时钟周期,分为6个状态,S1-S6。每个状态又分为两拍:P1和P2。因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2、...、S6P2。 (3)、指令周期 指令周期是执行一条指令所需的时间。STC89C52单片机中指令按字节来分,可分为单字节、双字节、三字节指令,因此执行一条指令的时间也有所不同。对于简单的单字节指令,取出指令立即执行,只需要一个机器周期的时间。而有些复杂的指令则需要两个或多个指令周期。 从指令的执行时间看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令是双机器周期,只有乘除法指令占用4个机器周期。 3.2.2.2 复位电路设计 (1)、复位操作 当STC89C52单片机进行复位操作时,PC寄存器初始化为0000H,使STC89C52单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行出错或者操作错误使得系统处于“死锁”状态时,按复位键使得RST脚为高电平,使STC89C52单片机拜托当前状态而重启程序。出PC寄存器外,复位操作还对其他一些寄存器有影响,例如SP、Acc、PSW、DPTR等。 (2)、复位电路 复位电路就是把电路恢复到起始状态的电路。能够在系统上电时给予复位信号,并且会一直等到系统的电源不再改变为止才会撤离所给的复位信号,这就是复位电路的功能所在。复位后的CPU的主要特征是各IO口呈现高电平。对于单片机而言基本的复位操作是将单片机的复位引脚RST上给定一个高电平信号并让该信号维持在2个机器周期以上,便可触发系统复位中断从而将系统复位。单片机系统的复位方式有:按键复位和上电复位。 首先是按键复位:复位电路最简单的方式就是通过按键复位直接在单片机复位引脚RST上加入高电平。单片机的复位引脚接至电阻R1一端,电阻R1另外一端接地。电路如下所示。常用的途径是在复位引脚端和正电压之间安装复位按键。当给一个力使按键被压迫向下,单片机的复位方位就会保持VCC。假如保持按下10ms即可让系统实现复位,如图3-4所示。 图3-4 按键复位 图3-5 上电复位 图3-6 混合模式 第二个是上电复位:上电复位的电路图如图3-5所示,具体实现方式如下: 系统上电瞬间单片机复位引脚RST电压时间变化曲线如图3-7所示。从曲线上易得当系统在一刹那完成上电,根据电容工作原理特性,它两端的Uc1不可能实现迅猛的变化,故电源电压全部加到R1上,然后电容C1开始充电,时间常数T=R1*C1,此时电容电压逐渐增加,R1两端电压逐渐降低,如果R1两端电压从高电平到低电平持续时间达到2个机器周期,即可实现单片机复位。 图3-7 Urst电压时间曲线 在本设计中采用了按键复位和上电复位的两种模式(如图3-6所示)上电复位完成系统初始化,同时增加的手动按键复位可以方便调试使用。 3.2.2.3 时钟电路设计 时钟电路用于产生单片机工作时所必需的控制信号,STC89C52单片机的内部电路正是在时钟电路的控制下严格按时序执行指令进行工作的。 在执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时钟电路产生一系列控制信号完成指令所规定的操作。CPU发出的时序信号有两类,一类用于对片内各个功能部件的控制;另一类用于对片外存储器或I/O口的控制。 (1)、内部时钟方式 STC89C52内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片的XTAL1脚,输出端为XTAL2脚。这两个引脚跨界石英晶体和微调电容,构成一个稳定的自激振荡器。电路的电容C1和C2通常选择30pF。该电容的大小会影响振荡器频率的高低,振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常是1.2-12MHz。STC89C52通常采用12MHz的石英晶体。晶体的频率越高,系统的时钟频率越高,单片机的运行速度也就越快。但运行速度快对存储器的速度要求就越高,对PCB电路板的工艺要求也就越高,即要求线间的寄生电容要小。晶体和电容应尽可能安装得离单片机近一些以减少寄生电容,更好地保证振荡器稳定、可靠地工作。为了提高温度稳定性,应采用温度稳定性好的电容。 (2)、外部时钟方式 外部时钟方式使用现成的外部振荡器产生脉冲信号,通常用于多片STC89C52单片机同时工作,以便于多片单片机之间的同步,一般为地狱12MHz的方波。外部时钟源直接接到XTAL1端,XTAL2端悬空。 (3)、时钟信号的输出 当使用片内振荡器时,XTAL1、XTAL2引脚还能为应用系统中的其他芯片提供时钟,但需要增加驱动能力。 (4)、晶振电路 在单片机最小系统晶振的作用是给单片机输入时钟信号,这个时钟信号就是单片机的工作速度。单片机工作的最小时间计量单位就是由晶振决定的。电路图如图3-4所示。 晶振电路电容选择的原则为: (1)、C1,C2,因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。 (2)、在误差允许的区域内,C1和C2值都是越小,实现的功能就越精确,如果C1和C2值比正常数值大时,可能会使振荡器更加稳定,可是也会增加响应的时间。 图3-8 晶振电路 本系统的单片机最小系统的时钟电路采用图3.8所示的晶振电路,其中晶振选用12MHz石英晶体振荡器,接至单片机的XTAL1和XTAL2脚,两个电容选用30p瓷片电容。 通过上述具体方案的设计论证,本系统设计了如图3-9所示的最小系统。 图3-9 单片机最小系统 3.2.2.4 程序下载电路 在实际制作实物的还需要增加一个下载电路模块,方便调试下载。 程序下载电路中包含一个4pin排针,分别接至Vcc、单片机的10脚(RXD/P3.0)、单片机的11脚(TXD/P3.1)、GND。在下载程序时,需采用STC公司的USB下载器,下载器的VCC脚接排针VCC脚;下载器的RXD脚接排针的TXD脚;下载器的TXD脚连接排针的RXD脚;下载器的GND脚接排针的GND脚,然后用STC公司的ISP软件选择keil编译生成的hex文件,即可将程序烧写到单片机中。电路如图3-10所示。图中P2即为4pin排针。 图3-10 下载接口电路 3.2.3 按键电路 按键选择弹片开关,电路由3个弹片开关组成。3个弹片开关的一段依次接至单片机的1(P1.0)、2(P1.1)、3(P1.3)脚;另一端共地。功能依次为模式切换、加快运行速度、减慢运行速度,电路如图3-11所示。 图3-11 按键电路 3.3.4 LED灯电路 将16个LED的负极依次与单片机的P1口和P2口的16个I/O口相接,正极则与5V电源相接。但由于直接相接可能会烧坏发光二极管,因此需要串联电阻。限流电阻的阻值根据设计经验及现有电阻取值为220Ω.由于为了便于设计PCB电路板时布局布线,故此处的电阻采用贴片0805封装。 此外,由于P0口的驱动能力较弱,无法直接驱动8个发光二极管,故选择在P0口的I/O和发光二极管的负极之间接入10kΩ的共阳排阻以提供一个强上拉。电路图如图3-12中P1即为10kΩ共阳排阻。 图3-12 LED电路 第4章 程序设计及软件仿真 第4章 程序设计及软件仿真 4.1 软件设计框图 如图4-1所示为本系统的软件实现流程图。 图4-1 软件流程 4.2 软件开发平台选择 软件设计的开发平台采用美国keil Software公司出品的Keil uvision4。Keil uvision4是美国keil software公司出品的51系列兼容单片机C语言软件开发系统,与汇编语言相比,C语言在功能上、结构性、可读性、可维护性上有明显的又是,因而易学易用。keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。运行keil软件需要win98、NT、win2000、winXP等操作系统。若使用C语言进行编程,keil将是不二之选,即使是使用汇编语言编程,keil方便易用的集成环境以及强大的软件仿真调试工具也能让开发者事半功倍。 4.3 软件系统功能模块 本系统采用结构化模块程序设计,所谓“模块”,实质上就是具有一定功能、相对独立的程序段。在编程过程中首先将所要完成的各个功能分别按模块编写和调试,所有模块调试成功以后,再将各个模块连接整合在一起形成系统。 模块化程序设计的主要特点是:单个模块比一个完整的程序更容易编写、查错和测试;模块化程序可以实现共享,一个模块化程序可被多个任务在不同的条件下调用;把输入/输出封装起来,可以使程序减少不必要的修改;这样的设计有利于程序代码的优化和共享,而且便于设计、调试和维护,可以增强系统的可靠性。 本系统的主要模块有:初始化模块、延时模块、定时器控制模块、键盘扫描模式、LED灯输出控制模块,下面依次简要介绍。 4.3.1 初始化模块 根据本系统的设计要求,当系统上电之后,LED灯并不亮,只有进入模式切换之后才有变换,因此需要对系统的控制参数,比如模式标志位、速度变量进行初始化,其代码如下: void InitialCPU(void) {RunMode = 0x00;TimerCount = 0; SystemSpeedIndex = 10; Delay1ms(500); SetSpeed(SystemSpeedIndex); } 4.3.2 延时函数 系统控制流水灯的变换主要是通过延时函数的延时时间长短来做出相应的反映,因此设置一个延时函数是控制速度的关键,其代码如下: void Delay1ms(unsigned int count) { unsigned int i,j; for(i=0;i<count;i++) for(j=0;j<120;j++); } 其中,count为时间控制参数。 4.3.3 定时器控制模块 由于单片机资源有限,通过利用中断来检测按键,提高单片机的时钟利用率,其代码如下: void InitialTimer2(void) {T2CON = 0x00; //16 Bit Auto-Reload Mode TH2 = RCAP2H = 0xFC; //重装值,初始值 TL2 = RCAP2L = 0x18; ET2=1; //定时器 2 中断允许 TR2 = 1; //定时器 2 启动 EA=1;} 4.3.4 键盘扫描模式 键盘扫描主要是利用IO口读取的参数与0相与,然后进行比较,判断是哪个键输入了控制信号,比较之后返回相应的值,返回值被另一个键盘反应函数得到相应的控制信号。其代码分为两部分,一部分为扫描部分,一部分为输出控制信号,扫描部分如下: unsigned char KeyTemp,CheckValue,Key = 0x00; CheckValue = P1&0x07; if(CheckValue==0x07)return 0x00; Delay1ms(10); KeyTemp = P1&0x07; if(KeyTemp==CheckValue)return 0x00; if(!(CheckValue&0x01))Key|=0x10; if(!(CheckValue&0x02))Key|=0x20; if(!(CheckValue&0x04))Key|=0x40; return Key; 输出控制信号核心算法如下: if(Key&0x10) {LEDDirection = 1;LEDIndex = 0;LEDFlag = 1;} if(Key&0x20) {if(SystemSpeedIndex>0){--SystemSpeedIndex;SetSpeed(SystemSpeedIndex);} if(Key&0x40) {if(SystemSpeedIndex<28){++SystemSpeedIndex;SetSpeed(SystemSpeedIndex) 4.3.5 LED灯输出控制模块 LED灯的输出信号进行一次性赋值,P2口直接与低八位相与得到相应所设定的信号,P0口先将数据进行左移八位,然后在进行相与得到相应所设定的信号。其相与代码如下(只选取了两种流水模式的代码): {P2 = ~(LEDStatus&0x00FF);P0 = ~((LEDStatus>>8)&0x00FF);} 其根据模式赋予不同的输出值代码如下: void Mode_0(void) {P2 = 0xFF;P0 = 0xFF;} void Mode_1(void) {LEDShow(0x0001<<LEDIndex);LEDIndex = (LEDIndex+1)%16;} void Mode_2(void) {LEDShow(0x8000>>LEDIndex);LEDIndex = (LEDIndex+1)%16;} 4.4 程序调试仿真 4.4.1 仿真平台介绍 仿真平台采用英国Labcenter electronics公司开发的EDA工具软件proteus。 它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软 件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30 /DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编 译方面,它也支持IAR、Keil和MATLAB等多种编译器。 4.4.2 仿真测试 首先,在proteus里编辑原理图,如图4-2所示,然后再在单片机属性中导入从keil中生成的hex文件即可进行仿真。 图4-2 仿真电路 第5章 硬件调试 第5章 硬件调试 5.1 硬件设计 用Altium designer 6-9,将事先画好的原理图的网格导入PCB文档,然后对元件进行布局和布线设计,最终得到的PCB电路板如图5-1所示。 图5-1 PCB布线图 5.2 硬件调试 5.2.1 下载功能调试 将STC公司的USB下载器与4pin排针P2相接,然后打开ISP软件,选择对应的hex文件,设置好com口、芯片型号、波特率之后,点击开始下载,观察到程序成功地烧录到了单片机中。然后拔掉下载器,接通电源,可以看到流水灯正常运行,说明下载功能已通过。 5.2.2 LED电路测试 接通电路后仔细观察,发现没有从头至尾都不亮的灯,说明LED电路已通过。 5.2.3 模式选择功能调试 接通电源,流水灯开始运行,然后按动弹片开关1,即S2,如果能正常切换模式,则说明这部分的功能已通过。观察到当按下模式切换按键时,流水灯的运行模式改变,由正转变为反转,说明这部分已通过。 5.2.4 速度加减功能调试 当流水灯以正常速度运行时,按下弹片开关2,即S3,观察到流水灯的运行速度明显加快,说明加速功能已通过。按下弹片开关3,即S4,观察到流水灯的速度回归正常速度,再按一下,发现流水灯的运行速度变慢,说明减速功能也已通过。 5.2.5 复位电路调试 先让流水灯运行一段时间,然后按下复位按键,弹片开关4,即S1,观察到流水灯中止当前运行状态,又回到最初的运行状态。说明复位电路也通过。 5.2.6 稳定性测试 接通电源,让程序持续运行较长时间,发现PCB电路板无严重发热情况,且程序也没有出现所得的“跑飞”现象,仍可实现模式切换、加速减速、复位功能,即一切正常。说明稳定性较强,稳定性测试已通过。 总结 总结 1.总结分析 根据多次实物测试的结果,可以确定该设计已达到设计任务的要求。首先,本设计使用51单片机实现了流水灯的设计。其次,该设计实现了通过按键来改变流水灯运行模式的功能、实现了通过按键来改变流水灯运行速度的任务要求。且经过长时间不间断运行的稳定性测试后,电路板无大量发热情况,且程序运行也正常,没有出现所谓的“跑飞”情况,说明该系统的稳定度较高 用万用表测量LED两端的电压和电流可以得到结论,即理论部分阐述的对于LED限流电阻的计算较为准确。万用表测到的LED两端的压降为1.9V,通过的电流约为8.6mA,小于额定电流10mA,因此安全度也较高。且在程序的设计上也达到了设计任务的要求,即实现了流水灯运行模式7档可调、加速运行16个档位可调、减速运行16个档位可调。 2.有待解决的问题 仔细总结分析过后,发现硬件方面存在的问题是焊工有待改进,有些元件给的锡太多,有些元件的锡太少,这样会造成潜在的不稳定因素。而且在制板的时候,有些线因为腐蚀的问题导致线宽有变化,这样会造成电阻的突变,也容易产生寄生电容,也是不稳定因素。PCB电路板在设计的过程中未将VCC和GND的线额外加粗,这样容易导致因为电阻太小,电路板发热严重的现象。且在进行布局布线的时候,电路板的布局和走线不够紧凑,导致设计出来的PCB电路板尺寸较大,不够小巧,造成了不必要的浪费。 至于软件代码方面,则是没有加入消抖程序,这样容易造成误操作。 3.收获与体会 通过本次系统设计任务,让我明白了耐心细致的重要性。虽然最终结果比较成功,但是成功的路是坎坷的。就拿PCB电路板的制作过程来说吧,中途因为在进行热转印操作的时候操作不当,导致前两块PCB电路板的制作都以失败告终,转印温度设置不够,导致碳粉附着不够牢,在腐蚀的时候不停地往下掉,浪费了两块覆铜板。然后在焊的时候由于烙铁温度太高,且烙铁与覆铜板的接触时间太长,导致有好几个发光二极管被烫坏,然后不停地测试,重新焊接浪费了较多时间。有些焊盘的锡太多,有些焊盘的锡又太少,使得PCB电路板的背面看起来很丑。在做产品的时候,不仅需要良好的性能,美观的外表也很重要。上述这些问题说到底都是经验不足所导致的,在以往的学习过程中,我只重视对理论的学习,而忽略了对实践能力的培养,而实践能力的不足在这次毕业设计过程中得到了充分的暴露。以前一直都觉得,学好了理论就行,以后我们是做设计工作的,因此,像手工焊接技术、制板技术这一类的实践技能不太重要,因此不需要加以训练。但在这次毕业设计的过程中,现实给了我当头一棒。也让我明白了实践有时候比理论更重要,因为理论上的知识都是建立在较为理想的情况下的,可等到要付诸实践的时候才发现,很多事情其实跟学到的不一样,如果实践经验不足的话往往就会瞬间傻眼。我即将走上工作岗位,这种情况是万万不能有的。因为用人单位不仅仅会考察我的理论知识水平,还会考察我的实践动手操作能力,如果只知道纸上谈兵的话是很难找到理想的工作的。毕竟我们是工科生,工科生就是要以实际应用为主。如果实践能力不够强,到了工作岗位上,当面对一个大的工程项目的时候是无法顺利完成任务的,这对我整个的一个职业生涯极为不利。因此我必须加强对实践能力的培养,不能只知道死钻理论。毕竟实践才是检验真理的唯一标准。脱离的实践的理论是很难站得住脚的。 而且在设计PCB电路板的过程中,我从同学老师那儿以及各种文献资料中学到了许多设计PCB电路板的小技巧以及注意事项。以前一直都认为,设计PCB电路板只是用软件对元器件进行一个简单布局,然后只需要把线连起来就行了。但是现在我明白了这项工作并没有这么简单。光是布局中就有许多注意事项,如果只是随便布布局的话会影响PCB电路板的稳定度,这在工业生产中是绝对不允许的。我还学到了一些焊接的小技巧,以前的我是没有办法焊接表贴的元件的,但是经过这段时间的练习,我已经可以焊接表贴的元器件了,这也算是对实践能力的一种提升吧。 致谢 致谢 四年的大学生活即将步入尾声,我即将进入社会,自食其力。四年的艰苦跋涉,四个月的精心准备,课程设计即将完成,心里理应感到轻松,但是在设计过程中遇到的种种问题经常让我辗转反侧,想到即将步入工作岗位的我,还有如此多不足之处,我的心里总是感到重重压力。一次次地泡在图书馆的书海中,一次次地修改程序,一次次地修改PCB电路图,一下下地敲打键盘,其中的艰辛难以诉说。但是,这段时间的艰辛是值得的,我将终生难忘。毕业设计即将完成,需要感谢的人有很多,他们的无私帮助让我瞬间成长了很多。 首先,要感谢我的指导老师陈芳老师,我能够顺利完成此次毕业设计,离不开她的悉心指导。虽然工作繁忙,但是陈芳老师从选题、开题、修改到最终完成,她都不厌其烦地启发我,给了我很多帮助以及指点。若没有陈芳老师的点拨,我将很难完成此次毕业设计任务。在此,我要向陈芳老师致以最衷心的感谢。 我也要感谢电子科技大学成都学院所有教育过我的老师,我的知识是你们传授给我的,你们是我不断成长的源动力。 感谢我的父母,是他们无微不至的关怀以及长期以来的支持支撑着我不断前进,他们就是我的精神支柱。 感谢我的室友和同学们,与你们度过了4年的美好时光,给我留下了很多终生难忘的美好回忆。你们在这次毕业设计的过程中也帮了我很大的忙,提供给了我很多文献资料,如果没有你们的资料,我将会走很大的弯路。 还要感谢学校给我提供这么好的环境,让我安心求学。 感谢论文中设计到的学- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 花样 流水 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文