毕业论文-基于at89s51单片机的多样彩灯设计_第1页
毕业论文-基于at89s51单片机的多样彩灯设计_第2页
毕业论文-基于at89s51单片机的多样彩灯设计_第3页
毕业论文-基于at89s51单片机的多样彩灯设计_第4页
毕业论文-基于at89s51单片机的多样彩灯设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题目基于单片机的多样彩灯设计教学院电气与电子信息工程学院专业名称电气工程及其自动化学号学生姓名指导教师2014年5月30日摘要单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。单片机即单片微型计算机,是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。本文介绍一种新型的彩灯控制系统的设计方法,以AT89S51单片机作为主控核心,与按键,显示器等较少的辅助硬件电路相结合,利用软件实现对彩灯进行控制。本系统具有体积小,硬件少,电路结构简单及容易操作等优点。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。关键词AT89S51单片机;彩灯控制器;模块设计ABSTRACTSCMISAMAJORPIECEOFCOMPUTERCOMPONENTSAREINTEGRATEDINTOTHECHIPMICROCOMPUTERSCMISMICROCOMPUTERISASETOFCPU,RAM,ROM,THETIMING,NUMBERANDVARIETYOFINTEGRATEDMICROCONTROLLERINTERFACETHISPAPERINTRODUCEDTHEDESIGNWAYOFANEWSTYLELAMPIONCONTROLSYSTEMTHATUSEDAT8S51SINGLECHIPASTHECONTROLCORE,COMBINEDWITHLITTLEASSISTANTHARDWARESUCHASKEYBOARDDISPLAY,ANDTOOKSOFTWAREPROGRAMTOCONTROLLAMPIONTHISSYSTEMHADTEMERITYOFSMALLVOLUME,FEWOFHARDWARES,CIRCUITCONFIGURATIONSIMPLEANDEASYTOOPERATE,ANDSOONTHISARTICLEFIRSTDESCRIBESTHEHARDWARESYSTEMPRINCIPLEOFWORK,ANDATTACHESBYTHESYSTEMSTRUCTUREDIAGRAMPERFORMSTOEXPLAIN,EMPHATICALLYINTRODUCEDTHISSYSTEMAPPLIESVARIOUSHARDWARECONNECTIONTECHNOLOGYANDEACHINTERFACEMODULEFUNCTIONANDTHEWORKPROCESS,NEXT,ELABORATEDINDETAILPROCEDUREEACHMODULEANDTHEREALIZATIONPROCESSTHISDESIGNTAKETHEDIGITALINTEGRATEDCIRCUITTECHNOLOGYASTHEFOUNDATION,THEMONOLITHICINTEGRATEDCIRCUITTECHNOLOGYISCOREKEYWORDSLAMPIONAT89S51SINGLECHIPLAMPIONCONTROLLERMODULEDESIGN目录第1章引言111课题主要来源112课题研究的意义113单片机的特点和发展2131单片机特点2132单片机的发展214论文方案进行比较和取舍3141电子设计方案14142单片机设计方案2415方案图流程图5第二章系统的工作原理及运行特性621电源模块6211单相桥式整流及滤波电路6212集成稳压器622时钟电路723单片机的最小系统图824复位电路9241手动按钮复位9242上电复位925显示模块10第三章结合各模块总体设计方案1131总的设计方案1132硬件的设计12321硬件的封装12322布局布线13323硬件的制版14第四章软件的调试1541系统资源1542程序流程1543软件系统中的主程序流程图16431主程序流程图16432子程序流程图1744软硬件的结合调试20441程序采用汇编语言编写20442安装USB转串口线的驱动。2145彩灯亮灭方式介绍和原理22451跑马灯22452流水灯24第五章工作总结和前景展望2551工作前景和展望2552工作总结25致谢26参考文献27附录一主程序28第1章引言11课题主要来源我国使用单片机是在1982年,五年时间里发展很快。在上海召开了全国首届单片机开发与应用交流会,有的地方还成立了单片机应用协会,那是全国第一次高潮。截止今日,单片机应用快速发展,在因特网输入一个“单片机”的搜索,将会看到很多介绍单片机的网页,而且这还不算国外的。和它相关的杂志现在已经出现了非常多,例如由单片机界的泰斗何立民主编的单片机与嵌入式系统应用现在已经普及电子界,在2004年5月,在多个大城市所做的专业人才需求报表中,单片机精英的需量位居世界第一。一块小小的单片机,为何有如此的魔力我们第一步从它的结构来说单片机,可以称单片微电脑或单片微型计算机。它是把中央处理器、随机存取存储器、只读存储器、输入输出端口等主要计算机功能结构都集中在一块集成电路芯片上的。计算机的生产加快了人类改造和建造世界的脚步,但是它体积还是比较大的。不利于安装,相比之下微计算机就适应了这种。,它改变了什么呢展望现在生活的各个阶段,从导弹的精确导航结构,到飞机,坦克上各种仪表的组成和控制。,从计算机的网络通讯与数据传输,到工业中自动化过程的控制和一些精密数据处理,还有生活中比较普遍使用的多种的电子卡等,这些都和开单片机相关联。在这之前单片机没有问世时,这些物品也是可以生产的,但是只能使用复杂的模拟电路,可是这样生产出来的产品看着体积比较大,成本也比较高,而且由于长期使用,元器件可能会出现老化,控制的准确度很可能也会达不到合格。在微型计算机产生以后,许多的国家始普及。12课题研究的意义节日彩灯是我们中华民族从古至今流传下来的具有民族特色并且是集综合性与观赏性于一体的一种工艺品。它的吸引力在于他对中华民族传统文化的继承与发扬,并且结合现代节日的特点,生产出了各种各样适合不同场合的产品,这体现了与时俱进的基本要求。根据历史记载,在汉武帝时期,民间百姓就开始有在正月十五元宵节燃灯的风俗习惯,然后才慢慢演变成为今天众所周知的元宵灯节、灯会。并且进入21世纪以后,随着科学技术的普及和应用,以及彩灯在技术上的突破使得传统的彩灯发生了翻天覆地的变化,不再只是使用烛火等传统火源,而是用了电来代替。不仅仅是继承了中华民族的传统彩灯理念,更多的是对制造节日彩灯的理念有了更高的创新,因此才逐渐演变形成了现代彩灯。自新中国成立以来,节日彩灯艺术更是得到了前所未有的发展随着我国科学技术的快速发展,节日彩灯的种类更是种类频多,五彩斑斓。尤其是现在光学、声学、电磁学等现代科技日趋成熟,因此越来越多的设计师将传统制作工艺与现代科学技术结合起来,生产出了更多具有实用性、观赏性。所以怎样研究使彩灯的效果更佳的漂亮,更加的样式多样话,就成了我们主要的研究对象。综合考虑智能彩灯在生产生活中的需要,以单片机为基础,分析彩灯设计的方案,相应的彩灯控制实现部分电路的设计,分析和比较系统的各种控制方法,优化控制策略,总结出切实可行的控制策略,设计出符合需求的控制程序,实现单片机多样彩灯智能化操作的目标。13单片机的特点和发展131单片机特点(1)高集成度,体积小,高可靠性(2)控制功能强(3)低电压,低功耗,便于生产便携式产品4)易扩展132单片机的发展智能仪器仪表单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。智能设备机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子还有分布式系统的前端模块等等。都与单片机有关是生活中不可缺少的组成部分。14论文方案进行比较和取舍彩灯控制器大致可分为两种方案实现。一种是利用电子电路装置控制,另一种是采用单片机控制,两种方式各自有自己的优缺点,下面进行比较选择一种比较适合的方法,来进行研究。完成本次的设计目标。比较哪个控制更佳的简单,操作容易,产生的效果更加的美观漂亮,对于材料上,节省成本也是考率选择哪种方法的重要组成部分。在生活中比较实用,能够广泛的实用这一研究课题发光二极管的英简称LED,发明于20世纪60年代,几十年来,发光二极管在各种电路及嵌入式系统中得到了广泛的应用,跑马灯使用的“小灯”就是8个并排的LED。LED发光二极管将电能转变成光能,可由V族半导体材料制成。当工作在正向偏置状态时,LED发光二极管与普通的二极管极其相似,其同样具备单向导电特性,不同之处仅在于当加上正向偏置时,LED发光二极管将向外发光,此时能量通过PN结的载流子过程从电能转换为光能。所以选择它作为彩灯。141电子设计方案1振荡电路控制电路译码器LED显示电路计数器图11彩灯控制器硬件框图如图11根据设计任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。142单片机设计方案2AT89S51单片机时钟电路复位电路按键控制电路直流5V电源电路供电信号LED彩灯图12单片机彩灯控制系统硬件框图如图12本电路采用单片机控制,有效的利用了单片机的所有P0P3口,实现户外广告灯牌、家庭装饰彩灯的多种变化、多种样式的绚丽效果。该电路由P0(第一控制输出口)、P1(第二控制输出口)、P2(第三控制输出口)、P3(第四控制输出口)实现控制彩灯变化。18、19接晶振,为单片机外部振荡电路。9脚为复位端,SB为复位按钮,按下SB电路复位,电路重新开始工作。总的设计方案为三十二路彩灯控制其中包含控制电路还有,复位电路,显示电路,介绍了硬件电路的总电路图和各个电路图的子模块图,以及各个模块的理论原理。比较细致的学习各个打下了良好的基础。相比较之下单片机体积比较小巧,使用灵活,而且成本比较低,在使用中比较节省能源,控制类型比较丰富。能后产生绚丽的视觉效果,而且是当前比较流行的控制手段,许多国家都在使用运用比较广泛,在中国的发展前景比较深远,相比较别的控制类型就比较优越,而且还节省资源,对于生活,生产都有很多的用处,本次设计是利用单片机的多样的彩灯控制,利用AT89S51单片机来实现彩灯的多样的控制,控制比较简单,原理比较容易让人们所接受。同时展现出七种不同的样式变换。本次课题主要研究的就是了解当今社会对单片机的的使用情况及发展应用前景;树立起科学技术与工程实际相统一的辩证观点;培养综合应用所学理论知识分析解决工程实际问题的能力,了解电气工程的建设程序;掌握电气工程设计,编程的方法步骤。并在进行工程设计、工程制图、文字处理等方面得到初步训练,为今后从事电气工程方面的设计、建设、运行及管理工作,打下必要的基础。所以选择使用单片机来控制。15方案图流程图本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。其硬件构成框图如图12所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光二极管和5V直流电源电路组成。如图13电源处理模块单片机模块输出显示模块图13总的方案设计流程图此设计可以在不改变电路的情况下,只需要更改一下程序就可以完全做到,不同的彩灯亮灭方案。第二章系统的工作原理及运行特性21电源模块211单相桥式整流及滤波电路本电源采用SEP2W10整流桥,整流桥相当于四个整流二极管,所以和二极管整流的原理是一样的,利用二极管的单向导性。它是一种圆形的整流桥,电流2A,最大耐压1000V,很多电子产品上面会用到。212集成稳压器输入电源经过SEP2W10整流桥整流及平滑电容C1滤波后得到非稳定812V直流电压加到7805输入端,C3为输入稳定电容,当稳压器输入阻抗降低时,防止发生振荡,可采用011UF的陶瓷电容,若平滑电容C1离7805很近时,此电容可省去,故将此电容省去。C4为输出稳定电容,对于降低输出纹波、输出噪声及负载电流变化的影响有较好的效果,采用01UF的陶瓷电容。此外,有时还接入保护二极管电源原理图如图21所示。如图21稳压电路的设计图22时钟电路时钟电路89S51单片机的时钟信号通常用两种电路形式得到内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器简称晶振或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图22所示。图22中,电容器CL,C2起稳定振荡频率19、快速起振的作用,其电容值一般在530PF。晶振频率的典型值为12MHZ,采用6MHZ的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。D240713PCUVINGN5LM8UAT89S51X1X2C1C2GND图22内部振荡方式的外部电路如图22外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。23单片机的最小系统图要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。单片机最小系统如下图23所示。图23单片机的最小系统图时钟电路本系统采用单片机内部方式产生时钟信号,用于外接一个12MHZ石英晶体振荡器和2个30PF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。复位电路确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。24复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有手动按钮复位和上电复位。241手动按钮复位如图24手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求242上电复位AT89S51的上电复位电路如图24所示,只要在RST复位输入引脚上接一电容至VCC端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1UF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着VCC对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,VCC的上升时间约为10MS,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHZ,起振时间为1MS;晶振频率为1MHZ,起振时间则为10MS。在图23的复位电路中,当VCC掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个度电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“L”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。如图24复位电路25显示模块显示电路为三十二路彩灯控制,可以变换出不同种类型的多样变化,是效果更佳的艳丽,从而充分的利用了单片机的引脚等,是变化更佳的有视觉效果,从而提高了利用率,本设计还具有实用性,更能引用到实际中去,比较节省电力,色彩斑斓,比较具有说服力。同时变化的多样性也为单片机的控制优点受到更高的追捧。图25显示模块的电路原理图充分利用了单片的所有引脚,使彩灯的亮灭效果更加的显著,而且更有视觉效果,比较让人容易理解其原理。第三章结合各模块总体设计方案31总的设计方案图26该电路由P0(第一控制输出口)、P1(第二控制输出口)、P2(第三控制输出口)、P3(第四控制输出口)实现控制彩灯变化。18、19接晶振,为单片机外部振荡电路。9脚为复位端,SB为复位按钮,按下SB电路复位,电路重新开始工作。SB10UFCKR32PEA/VXTL987D6WIN45OGMHZ图26总的电路原理图设计方案比较简洁节省材料,而且彩灯亮灭方式多,有七种不同的方式,采用高低电平的控制方式。结构简单,易于操作。亮灭的同时节约没必要的电能浪费,节约了资源,适合于生活中运用。32硬件的设计321硬件的封装ALTIUMDESIGNSUMMER09虽然提供了肺腑的原理图元器件库,但不可能包括所有的元器件,必要时需手动设计原理图元器件,建立自己的元器件库。找到所有需要的原理图元器件后,就可以开始绘制原理图了。根据电路复杂程度决定是否需要使用层次原理图。本次毕业设计比较简单,这一部分没有使用。完成原理图后,用ERC(电气规则检查)工具差查错,找到出错的原因并修改原理图电路重新查错到没有原则性错误为止。与原理图元器件库一样,ALTIUMDESIGNSUMMER09也不可能提供所有的元器件的封装。需要时自行设计并建立新的元器件封装库。总体上来讲,根据元件所采用安装技术的不同,可分为通孔安装技术(THROUGHHOLETECHNOLOGY,简称THT)和表面安装技术(SURFACEMOUNTAINTECHNOLOGY,简称SMT)。使用通孔安装技术安装元件时,元件安置在电路板的一面,元件引脚穿过PCB版焊接在令一面上,通孔安装元件需要占用较大的空间,并且要为所有引脚在电路板上钻孔,所以它们的引脚会占用两面的空间,而且焊点也比较大。但从另一方面讲,通孔安装元件与PCB连接较好,机械性能好。例如,排线的插座、接口板插槽等类似接口都需要一定的耐压能力,因此,通常采用通孔安装技术。表面安装元件,引脚焊盘与元件在电路板的同一面,表面安装元件一般比通孔元件体积小,而且不必为焊盘钻孔,甚至还能在PCB板的两面都焊上元件。因此,与使用通孔安装的元件的PCB板比起来,使用表面安装的PCB板上元件布局要密集很多,体积也小很多。此外,应用表面安装技术的封装元件比通孔安装元件要便宜一些,所以目前的PCB设计广泛采用了表面安装元件。本次毕业设计当中,最开始采用的单面板设计,由于设备限制,过于精密的器件不能够应用,所以采用的是通孔安装技术。322布局布线确认原理图没有错误之后,开始PCB板的绘制。首先绘出PCB板的轮廓,确定工艺要求(使用几层板等)。最后将原理图传输到装入网络表和元器件封装后,我们要把元件封装放入工作去,这样需要我们对PCB板中,在网络报表、设计规则和原理图的引导下布局和布线。最后利用设计规则检查工具查错。此过程是电路设计时另一关键环节,它将决定该产品的使用性能,需要考虑的因素很多,不同的电路有不同的要求。元件封装进行布局,ALTIUMDESIGNSUMMER09提供了强大的PCB自动布局功能,PCB编辑器根据一套智能算法可以自动地将元器件分开,最后放置到规划好的布局区域内并进行合理的布局。在自动布局前,首先要设置自动布局约束参数。合理地设置布局布线参数,可以使自动布局布线的结果更加完善,也就相对的减少了手动布局的工作量,节省了设计时间。元件的手动布局是指手动确定元件的为止。元件的自动布局结果中,虽然设置了自动布局的参数,但是自动布局只是对元件进行了初步的放置,自动布局中元件的摆放并不整齐,走线的长度也不是最短,PCB布线效果也不够完美,因此需要对元件的布局进行就一步的调整。在PCB板上,可以通过对元件的移动来完成手动布局的操作,但是单纯的手动移动不够精细,不能非常整齐的摆放元件,为此自动布线会出现一些不合理的布线情况,例如有较多的绕线、走线不美观等。此时可以通过手工布线进行一定的修正,对于元件网络较少的PCB板也可PCB编辑器提供了专门的手动布局操作。以完全采用手工布线。手工布线,要靠用户自己规划元件布局和走线路径,而网格式用户在空间和尺寸上的重要依据。因此,合理地设置网格,会更加方便设计者规划布局和放置导线。用户在设计的不同阶段可依据需要随时调整网格的大小,例如,在元件布局阶段,可将捕捉网格设置的大一点,如20MIL。在布线阶段捕捉网格要设置小一点,如5MIL甚至更小,尤其是在走线密集的区域,视图网格和捕捉网格设置要小一些,以方便观察和走线。323硬件的制版电路设计完成之后,就要进行硬件的制作了。制作硬件电路是制作这个仪器的前提保证,所以也是非常重要的一步。首先就是布局。布局的好坏是影响整个仪器的制作的。布局的第一步先要选好一块合适的试验版,把实物先在没有焊盘的一面布局。考虑到软件调试和以后更换的需要,STC15F104E、电阻、微动开关要插入插座使用,所以布局时使用插座。布局时要考虑连接线,确定好了布局,然后画好所有连接线完成PCB,接下来就是制板和焊接了。用热转印的方法完成电路板的制作,热转印步骤如下第一步利用ALTIUMDESIGN完成PCB图的制作。第二步将PCB图打印到热转印纸上。第三步将打印好PCB的转印纸平铺在覆铜板上,准备转印。第四步用专业的制版机将转印纸上黑色塑料粉压在覆铜板上形成高精度的抗腐层。第五步制版机加温加压成功转印后,进行清理。第六步准备好水、双氧水、盐酸(或三氯化铁溶液)进行腐蚀。第七步将转印制版好的PCB铜板放入专门的腐蚀箱中进行腐蚀,注意不要腐蚀过度,腐蚀结束,准备焊接。第八步清理出焊盘部分,剩下的部分用于阻焊。第九步利用电转将需要插入元器件的铜板上打孔。第十步安装所需预定原件并焊接好。焊接完后,再就是硬件的调试。硬件调试,首先是线路的检查。检查器件是否错焊、漏焊、虚焊,电解电容是否焊反,走线是否正确。再用万用表检查两点之间是否有虚焊。检查无误后,接下来就是上电,这是单片机要插上。在正式上电前,用万用表量一下电源与地是否短路。短路的话,要耐心检查。排除故障。然后进行显示电路,用同样的方法对显示部分进行调试后,给单片机与外部连接的输出的各个引脚加高低不同电平。第四章软件的调试41系统资源在单片机应用系统的开发中,软件的设计是最复杂和困难的,大部分情况下工作量都较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化的设计人员,往往需要同时考虑单片机的软硬件资源分配。软件设计一般可按如下步骤进行,设计流程图可口参见。在考虑一个应用工程项目时就需先分析该系统完成的任务,明确软硬件个承担哪些工作,有时,实际上这种情况很多,就是一些任务可用软件完成,也可以用硬件构成,还需考虑采用软件或硬件它们优势,一般均以最优的方案为首选。象虚定义各输入/输出(I/O)的功能、数据的传输交换形式、与外部设备接口及它们的地址分配、程序存储器和数据存储器的使用区域、主程序子程序使用的空间、显示(如有的话)等数据暂存区的选择、堆栈区的开辟等等因素。42程序流程程序设计伊始,流程图不可能尽善尽美,在编制过程中仍需进行修改和完善,认真地绘制程序流程图,可以起到事倍功半的效果。流程图就是根据系统功能的要求及操作过程,列出主要的各功能模块,复杂程序程序流向多变,需要在初始化时设置各种标志,程序根据重些标志控制程序的流向。当系统中各功能模块的状态改变时,只须修改相应的标志即可,无须具体地管理状态变化对其他模块的影响,这些需要在绘制流程图时,清晰地标识出程序流程中各标志的功能。上述的工作做好了,就可以开始编制程序了,程序编写时,首先需对用到的参数进行定义,和标号的定义一样,使用的字符必须易于理解,可以使用英文单词和汉语拼音的缩写形式,这对今后自己的辨读和排错都是有好处的。然后初始化各特殊功能寄存器的状态,中断口的地址区定义,数据存储区的安排,根据系统的具体情况,估算中断、子程序的使用情况,预留出堆栈区,和需要的数据缓存区,接下来就开始编写程序了。现在的单片机程序还是以汇编语言为主,因为它以简洁、直观、紧凑仍被设计人员乐于接受。高级语言(如C语言)也在单片机设计中发挥越来越重要的角色,性能也越来越好,但不管是使用何种语言,最终还是需要汇编成机器语言,调试正常后,通过烧录器固化到单片机或ROM中。至此,程序编写即告完成。43软件系统中的主程序流程图431主程序流程图本课题的硬件电路相对简单,其中大部分工作要求用软件完成。软件应包括三部分中断程序,然后要由C语言完成。各部分子程序在后几节列出。程序流程首先进行系统及花样的初始化,设置中断方式判断是执行下一个花样还是减一执行下一个花样。主程序一直在判断FLOWER_FLAG的值。从而执行对应的花样程序。FLOWER_FLAG的值在增减中断函数被改变。LED变化一次会显示一次花样变化,一直循环到最后一个花色,当出现死机的时候,按下复位键,然后花色重新开始启动。从一到循环到最后。开始设置中断显示默认花样主循环SWITCHFLOWERFLAG花样1花样2花样3花样4花样5花样6花样循环更换1243567图43主程序流程图432子程序流程图如同图44为彩灯变换的子程序流程图。详细说了在一种花样中高低电平变化,使彩灯产生不同的亮灭方式。图44子程序流程图子程序代码1INCLUDE2INCLUDE中断0FLOWERFLAG1判断并处理FLOWER_FLAG显示FLOWER_FLAG中断返回中断1FLOWER_FLAG1判断并处理FLOWER_FLAG显示FLOWER_FLAG中断返回34DEFINEUCHARUNSIGNEDCHAR5DEFINEUINTUNSIGNEDINT67UINTI89UCHARCODETABLE10XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F,0X7F,0XBF,0XDF,0XEF,0XF7,0XFB,0XFD,0XFE10UCHARCODETABLE20XFD,0XF7,0XDF,0X7F,0XBF,0XEF,0XFB,0XFE11UCHARCODETABLE30XAA,0XAA,0XAA,0XAA,0XAA,0XAA,0XAA,0XAA12UCHARCODETABLE40XF0,0X0F,0X0F,0XF013UCHARCODETABLE50XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F14UCHARCODETABLE60XCC,0X33,0X33,0XCC15UCHARCODETABLE70XFE,0XFC,0XF8,0XF0,0XE0,0XC0,0X80,0X00,0X80,0XC0,0XE0,0XF0,0XF8,0XFC,0XFE,0XFF16UCHARCODETABLE80X7F,0X3F,0X1F,0X0F,0X07,0X03,0X01,0X00,0X01,0X03,0X07,0X0F,0X1F,0X3F,0X7F,0XFF1718VOIDDELAYMSUINTXMS19201UINTI,J211FORIXMSI0I221FORJ110J0J2312425VOIDDIS126271FORI0I2INCLUDE34DEFINEUCHARUNSIGNEDCHAR5DEFINEUINTUNSIGNEDINT67UINTI89UCHARCODETABLE10XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F,0X7F,0XBF,0XDF,0XEF,0XF7,0XFB,0XFD,0XFE10UCHARCODETABLE20XFD,0XF7,0XDF,0X7F,0XBF,0XEF,0XFB,0XFE11UCHARCODETABLE30XAA,0XAA,0XAA,0XAA,0XAA,0XAA,0XAA,0XAA12UCHARCODETABLE40XF0,0X0F,0X0F,0XF013UCHARCODETABLE50XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F14UCHARCODETABLE60XCC,0X33,0X33,0XCC15UCHARCODETABLE70XFE,0XFC,0XF8,0XF0,0XE0,0XC0,0X80,0X00,0X80,0XC0,0XE0,0XF0,0XF8,0XFC,0XFE,0XFF16UCHARCODETABLE80X7F,0X3F,0X1F,0X0F,0X07,0X03,0X01,0X00,0X01,0X03,0X07,0X0F,0X1F,0X3F,0X7F,0XFF1718VOIDDELAYMSUINTXMS19201UINTI,J211FORIXMSI0I221FORJ110J0J2312425VOIDDIS126271FORI0I8I/查表可以简单的显示各种花样实用性更强281292P0TABLE1I302DELAYMS100312321P00XFF331341FORI0I8I/查表可以简单的显示各种花样实用性更强351362P1TABLE1I372DELAYMS100382391P10XFF401411FORI0I8I/查表可以简单的显示各种花样实用性更强421432P2TABLE1I442DELAYMS100452461P20XFF471481FORI0I8I/查表可以简单的显示各种花样实用性更强491502P3TABLE1I512DELAYMS100522531P30XFF541551FORI8I16I/查表可以简单的显示各种花样实用性更强561572P3TABLE1I582DELAYMS100592601P30XFF611621FORI8I16I/查表可以简单的显示各种花样实用性更强631642P2TABLE1I652DELAYMS100662671P20XFF681691FORI8I16I/查表可以简单的显示各种花样实用性更强701712P1TABLE1I722DELAYMS100732741P10XFF751761FORI8I16I/查表可以简单的显示各种花样实用性更强771782P0TABLE1I792DELAYMS100802811P00XFF821P10XFF831P20XFF841P30XFF851DELAYMS2008618788VOIDDIS289901FORI0I4I/查表可以简单的显示各种花样实用性更强911922P0TABLE2I932DELAYMS150942951P00XFF961971FORI0I4I/查表可以简单的显示各种花样实用性更强981992P1TABLE2I1002DELAYM10XFF10311041FORI0I4I/查表可以简单的显示各种花样实用性更强10511062P2TABLE2I1072DELAYM20XFF11011111FORI0I4I/查表可以简单的显示各种花样实用性更强11211132P3TABLE2I1142DELAYM30XFF11711181FORI4I8I/查表可以简单的显示各种花样实用性更强11911202P3TABLE2I1212DELAYM30XFF12411251FORI4I8I/查表可以简单的显示各种花样实用性更强12611272P2TABLE2I1282DELAYM20XFF13111321FORI4I8I/查表可以简单的显示各种花样实用性更强13311342P1TABLE2I1352DELAYM10XFF13811391FORI4I8I/查表可以简单的显示各种花样实用性更强14011412P0TABLE2I1422DELAYM00XFF14511461FORI0I4I/查表可以简单的显示各种花样实用性更强14711482P0TABLE2I1492DELAYM00XFF15211531FORI0I4I/查表可以简单的显示各种花样实用性更强15411552P1TABLE2I1562DELAYM10XFF15911601FORI0I4I/查表可以简单的显示各种花样实用性更强16111622P2TABLE2I1632DELAYM20XFF16611671FORI0I4I/查表可以简单的显示各种花样实用性更强16811692P3TABLE2I1702DELAYM30XFF17311741FORI4I8I/查表可以简单的显示各种花样实用性更强17511762P3TABLE2I1772DELAYM30XFF18011811FORI4I8I/查表可以简单的显示各种花样实用性更强18211832P2TABLE2I1842DELAYM20XFF18711881FORI4I8I/查表可以简单的显示各种花样实用性更强18911902P1TABLE2I1912DELAYM10XFF19411951FORI4I8I/查表可以简单的显示各种花样实用性更强19611972P0TABLE2I1982DELAYM00XFF2011P10XFF2021P20XFF2031P30XFF2041DELAYMS2002051206207VOIDDIS32082091P00XAA2101P10XAA2111P20XAA2121P30XAA2131DELAYMS2002141P00XFF2151P10XFF2161P20XFF2171P30XFF21812191P00X552201P10X552211P20X552221P30X552231DELAYMS2002241P00XFF2251P10XFF2261P20XFF2271P30XFF22812291P00XAA2301P10XAA2311P20XAA2321P30XAA2331DELAYMS2002341P00XFF2351P10XFF2361P20XFF2371P30XFF23812391P00X552401P10X552411P20X552421P30X552431DELAYMS2002441P00XFF2451P10XFF2461P20XFF2471P30XFF24812491P00XAA2501P10XAA2511P20XAA2521P30XAA2531DELAYMS2002541P00XFF2551P10XFF2561P20XFF2571P30XFF25812591P00X552601P10X552611P20X552621P30X552631DELAYMS2002641P00XFF2651P10XFF2661P20XFF2671P30XFF26812691P00XAA2701P10XAA2711P20XAA2721P30XAA2731DELAYMS2002741P00XFF2751P10XFF2761P20XFF2771P30XFF27812791P00X552801P10X552811P20X552821P30X552831DELAYMS2002841P00XFF2851P10XFF2861P20XFF2871P30XFF2881DELAYMS2002891290291VOIDDIS42922931FORI0I2I/查表可以简单的显示各种花样实用性更强29412952P0TABLE4I2962DELAYMS20029722981P00XFF29913001FORI0I2I/查表可以简单的显示各种花样实用性更强30113022P1TABLE4I3032DELAYMS20030423051P10XFF30613071FORI0I2I/查表可以简单的显示各种花样实用性更强30813092P2TABLE4I3102DELAYMS20031123121P20XFF31313141FORI0I2I/查表可以简单的显示各种花样实用性更强31513162P3TABLE4I3172DELAYMS20031823191P30XFF32013211FORI2I4I/查表可以简单的显示各种花样实用性更强32213232P3TABLE4I3242DELAYMS20032523261P30XFF32713281FORI2I4I/查表可以简单的显示各种花样实用性更强32913302P2TABLE4I3312DELAYMS20033223331P20XFF33413351FORI2I4I/查表可以简单的显示各种花样实用性更强33613372P1TABLE4I3382DELAYMS20033923401P10XFF34113421FORI2I4I/查表可以简单的显示各种花样实用性更强34313442P0TABLE4I3452DELAYMS20034623471P00XFF34813491FORI0I2I/查表可以简单的显示各种花样实用性更强35013512P0TABLE4I3522DELAYMS20035323541P00XFF35513561FORI0I2I/查表可以简单的显示各种花样实用性更强35713582P1TABLE4I3592DELAYMS20036023611P10XFF36213631FORI0I2I/查表可以简单的显示各种花样实用性更强36413652P2TABLE4I3662DELAYMS20036723681P20XFF36913701FORI0I2I/查表可以简单的显示各种花样实用性更强37113722P3TABLE4I3732DELAYMS20037423751P30XFF37613771FORI2I4I/查表可以简单的显示各种花样实用性更强37813792P3TABLE4I3802DELAYMS20038123821P30XFF38313841FORI2I4I/查表可以简单的显示各种花样实用性更强38513862P2TABLE4I3872DELAYMS20038823891P20XFF39013911FORI2I4I/查表可以简单的显示各种花样实用性更强39213932P1TABLE4I3942DELAYMS20039523961P10XFF39713981FORI2I4I/查表可以简单的显示各种花样实用性更强39914002P0TABLE4I4012DELAYMS20040224031P00XFF4041P10XFF4051P20XFF4061P30XFF4071DELAYMS2004081409410VOIDDIS54114121P00XFF4131P10XFF4141P20XFF4151P30XFF4161DELAYMS3004171P00X004181P10X004191P20X004201P30X004211DELAYMS3004221P00XFF4231P10XFF4241P20XFF4251P30XFF4261DELAYMS3004271P00X004281P10X004291P20X004301P30X004311DELAYMS3004321P00XFF4331P10XFF4341P20XFF4351P30XFF4361DELAYMS3004371P00X004381P10X004391P20X004401P30X004411DELAYMS3004421P00XFF4431P10XFF4441P20XFF4451P30XFF4461DELAYMS3004471P00X004481P10X004491P20X004501P30X004511DELAYMS3004521P00XFF4531P10XFF4541P20XFF4551P30XFF4561DELAYMS3004571P00X004581P10X004591P20X004601P30X004611DELAYMS3004621P00XFF4631P10XFF4641P20XFF4651P30XFF4661DELAYMS2004671468469VOIDDIS64704711FORI0I2I/查表可以简单的显示各种花样实用性更强47214732P0TABLE6I4742DELAYMS20047524761P00XFF47714781FORI0I2I/查表可以简单的显示各种花样实用性更强47914802P1TABLE6I4812DELAYMS20048224831P10XFF48414851FORI0I2I/查表可以简单的显示各种花样实用性更强48614872P2TABLE6I4882DELAYMS20048924901P20XFF49114921FORI0I2I/查表可以简单的显示各种花样实用性更强49314942P3TABLE6I4952DELAYMS20049624971P30XFF49814991FORI2I4I/查表可以简单的显示各种花样实用性更强50015012P3TABLE6I5022DELAYMS20050325041P30XFF50515061FORI2I4I/查表可以简单的显示各种花样实用性更强50715082P2TABLE6I5092DELAYMS20051025111P20XFF51215131FORI2I4I/查表可以简单的显示各种花样实用性更强51415152P1TABLE6I5162DELAYMS20051725181P10XFF51915201FORI2I4I/查表可以简单的显示各种花样实用性更强52115222P0TABLE6I5232DELAYMS2005

温馨提示

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

评论

0/150

提交评论