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

下载本文档

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

文档简介

湖北理工学院毕业设计 毕 业 设 计(论文) 题 目:基于单片机的多样彩灯设计 教 学 院:电气与电子信息工程学院 专业名称: 电气工程及其自动化 学 号: 学生姓名: 指导教师: 2014 年 5 月 30 日 摘 要单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。单片机即单片微型计算机,是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。本文介绍一种新型的彩灯控制系统的设计方法,以AT89S51单片机作为主控核心,与按键,显示器等较少的辅助硬件电路相结合,利用软件实现对彩灯进行控制。本系统具有体积小,硬件少,电路结构简单及容易操作等优点。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。关键词AT89S51单片机;彩灯控制器;模块设计 AbstractSCM is a major piece of computer components are integrated into the chip microcomputer. SCM is microcomputer is a set of CPU, RAM, ROM, the timing, number and variety of integrated micro-controller interface. This paper introduced the design way of a new-style lampion control system that used AT8S51 single chip as the control core, combined with little assistant hardware such as keyboard display, and took software program to control lampion. This system had temerity of small volume, few of hard wares ,circuit configuration simple and easy to operate, and so on.This article first describes the hardware system principle of work, and attaches by the system structure diagram performs to explain, emphatically introduced this system applies various hardware connection technology and each interface module function and the work process, next, elaborated in detail procedure each module and the realization process. This design take the digital integrated circuit technology as the foundation, the monolithic integrated circuit technology is core. KeywordsLampion AT89S51single chip Lampion controller Module design 目录第1章 引 言11.1课题主要来源11.2课题研究的意义11.3单片机的特点和发展21.3.1单片机特点21.3.2 单片机的发展21.4论文方案进行比较和取舍31.4.1电子设计方案141.4.2单片机设计方案241.5方案图流程图5第二章 系统的工作原理及运行特性62.1电源模块62.1.1单相桥式整流及滤波电路62.1.2 集成稳压器62.2时钟电路72.3单片机的最小系统图82.4复位电路92.4.1手动按钮复位92.4.2上电复位92.5显示模块10第三章结合各模块总体设计方案113.1总的设计方案113.2.硬件的设计123.2.1硬件的封装123.2.2布局布线133.2.3硬件的制版14第四章软件的调试.154.1.系统资源154.2 程序流程154.3软件系统中的主程序流程图164.3.1主程序流程图164.3.2子程序流程图174.4软硬件的结合调试204.4.1程序采用汇编语言编写204.4.2安装USB转串口线的驱动。214.5彩灯亮灭方式介绍和原理224.5.1跑马灯22 4. 5.2流水灯24第五章 工作总结和前景展望255.1工作前景和展望255.2工作总结25致谢26参考文献27附录一 主程序28 第1章 引 言1.1课题主要来源我国使用单片机是在1982 年,五年时间里发展很快。在上海召开了全国首届单片机开发与应用交流会,有的地方还成立了单片机应用协会,那是全国第一次高潮。截止今日,单片机应用快速发展,在因特网输入一个“单片机”的搜索,将会看到很多介绍单片机的网页,而且这还不算国外的。和它相关的杂志现在已经出现了非常多,例如由单片机界的泰斗何立民主编的单片机与嵌入式系统应用现在已经普及电子界,在2004年5月,在多个大城市所做的专业人才需求报表中,单片机精英的需量位居世界第一。一块小小的单片机,为何有如此的魔力?我们第一步从它的结构来说:单片机,可以称单片微电脑或单片微型计算机。它是把中央处理器、随机存取存储器、只读存储器、输入输出端口等主要计算机功能结构都集中在一块集成电路芯片上的。计算机的生产加快了人类改造和建造世界的脚步,但是它体积还是比较大的。不利于安装,相比之下微计算机就适应了这种。,它改变了什么呢?展望现在生活的各个阶段,从导弹的精确导航结构,到飞机,坦克上各种仪表的组成和控制。,从计算机的网络通讯与数据传输,到工业中自动化过程的控制和一些精密数据处理,还有生活中比较普遍使用的多种的电子卡等,这些都和开单片机相关联。在这之前单片机没有问世时,这些物品也是可以生产的,但是只能使用复杂的模拟电路,可是这样生产出来的产品看着体积比较大,成本也比较高,而且由于长期使用,元器件可能会出现老化,控制的准确度很可能也会达不到合格。在微型计算机产生以后,许多的国家始普及。1.2课题研究的意义 节日彩灯是我们中华民族从古至今流传下来的具有民族特色并且是集综合性与观赏性于一体的一种工艺品。它的吸引力在于他对中华民族传统文化的继承与发扬,并且结合现代节日的特点,生产出了各种各样适合不同场合的产品,这体现了与时俱进的基本要求。根据历史记载,在汉武帝时期,民间百姓就开始有在正月十五元宵节燃灯的风俗习惯,然后才慢慢演变成为今天众所周知的元宵灯节、灯会。并且进入21世纪以后,随着科学技术的普及和应用,以及彩灯在技术上的突破使得传统的彩灯发生了翻天覆地的变化,不再只是使用烛火等传统火源,而是用了电来代替。不仅仅是继承了中华民族的传统彩灯理念,更多的是对制造节日彩灯的理念有了更高的创新,因此才逐渐演变形成了现代彩灯。自新中国成立以来,节日彩灯艺术更是得到了前所未有的发展随着我国科学技术的快速发展,节日彩灯的种类更是种类频多,五彩斑斓。尤其是现在光学、声学、电磁学等现代科技日趋成熟,因此越来越多的设计师将传统制作工艺与现代科学技术结合起来,生产出了更多具有实用性、观赏性。所以怎样研究使彩灯的效果更佳的漂亮,更加的样式多样话,就成了我们主要的研究对象。综合考虑智能彩灯在生产生活中的需要,以单片机为基础,分析彩灯设计的方案,相应的彩灯控制实现部分电路的设计,分析和比较系统的各种控制方法,优化控制策略,总结出切实可行的控制策略,设计出符合需求的控制程序,实现单片机多样彩灯智能化操作的目标。1.3单片机的特点和发展1.3.1单片机特点(1)高集成度,体积小,高可靠性(2)控制功能强(3)低电压,低功耗,便于生产便携式产品 (4)易扩展1.3.2 单片机的发展智能仪器仪表单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。智能设备机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子还有分布式系统的前端模块等等。都与单片机有关是生活中不可缺少的组成部分。1.4论文方案进行比较和取舍 彩灯控制器大致可分为两种方案实现。一种是利用电子电路装置控制,另一种是采用单片机控制,两种方式各自有自己的优缺点,下面进行比较选择一种比较适合的方法,来进行研究。完成本次的设计目标。比较哪个控制更佳的简单,操作容易,产生的效果更加的美观漂亮,对于材料上,节省成本也是考率选择哪种方法的重要组成部分。在生活中比较实用,能够广泛的实用这一研究课题发光二极管的英简称LED,发明于20世纪60年代,几十年来,发光二极管在各种电路及嵌入式系统中得到了广泛的应用,跑马灯使用的“小灯”就是8个并排的LED。LED发光二极管将电能转变成光能,可由-V族半导体材料制成。当工作在正向偏置状态时,LED发光二极管与普通的二极管极其相似,其同样具备单向导电特性,不同之处仅在于当加上正向偏置时,LED发光二极管将向外发光,此时能量通过PN结的载流子过程从电能转换为光能。所以选择它作为彩灯。1.4.1电子设计方案1 振荡电路控制电路译码器LED显示电路计数器图1-1彩灯控制器硬件框图 如图1-1 根据设计任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。 1.4.2单片机设计方案2 AT89S51单片机时钟电路复位电路按键控制电路直流5V电源电路供电信号LED彩灯 图1-2单片机彩灯控制系统硬件框图 如图1-2 本电路采用单片机控制,有效的利用了单片机的所有P0P3口,实现户外广告灯牌、家庭装饰彩灯的多种变化、多种样式的绚丽效果。该电路由P0(第一控制输出口)、P1(第二控制输出口)、P2(第三控制输出口)、P3(第四控制输出口)实现控制彩灯变化。 18、19接晶振,为单片机外部振荡电路。9 脚为复位端,SB为复位按钮,按下SB电路复位,电路重新开始工作。总的设计方案为三十二路彩灯控制其中包含控制电路还有,复位电路,显示电路,介绍了硬件电路的总电路图和各个电路图的子模块图,以及各个模块的理论原理。比较细致的学习各个打下了良好的基础。相比较之下单片机体积比较小巧,使用灵活,而且成本比较低,在使用中比较节省能源,控制类型比较丰富。能后产生绚丽的视觉效果,而且是当前比较流行的控制手段,许多国家都在使用运用比较广泛,在中国的发展前景比较深远,相比较别的控制类型就比较优越,而且还节省资源,对于生活,生产都有很多的用处,本次设计是利用单片机的多样的彩灯控制,利用AT89S51单片机来实现彩灯的多样的控制,控制比较简单,原理比较容易让人们所接受。同时展现出七种不同的样式变换。本次课题主要研究的就是 了解当今社会对单片机的的使用情况及发展应用前景;树立起科学技术与工程实际相统一的辩证观点;培养综合应用所学理论知识分析解决工程实际问题的能力,了解电气工程的建设程序;掌握电气工程设计,编程的方法步骤。并在进行工程设计、工程制图、文字处理等方面得到初步训练,为今后从事电气工程方面的设计、建设、运行及管理工作,打下必要的基础。所以选择使用单片机来控制。1.5方案图流程图本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。其硬件构成框图如图1-2所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光二极管和5V直流电源电路组成。如图1.3 电源处理模块单片机模块输出显示模块 图1.3总的方案设计流程图此设计可以在不改变电路的情况下,只需要更改一下程序就可以完全做到,不同的彩灯亮灭方案。 第二章 系统的工作原理及运行特性2.1电源模块2.1.1单相桥式整流及滤波电路本电源采用SEP2W10整流桥,整流桥相当于四个整流二极管,所以和二极管整流的原理是一样的,利用二极管的单向导性。它是一种圆形的整流桥,电流2A,最大耐压1000V,很多电子产品上面会用到。2.1.2 集成稳压器输入电源经过SEP2W10整流桥整流及平滑电容C1滤波后得到非稳定812V直流电压加到7805输入端, C3为输入稳定电容,当稳压器输入阻抗降低时,防止发生振荡,可采用0.11uF的陶瓷电容,若平滑电容C1离7805很近时,此电容可省去,故将此电容省去。C4为输出稳定电容,对于降低输出纹波、输出噪声及负载电流变化的影响有较好的效果,采用0.1uF的陶瓷电容。此外,有时还接入保护二极管电源原理图如图2-1所示。 如图2-1稳压电路的设计图2.2时钟电路时钟电路 89S51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图2-2所示。图2-2中,电容器Cl,C2起稳定振荡频率19、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。 AT89S51X1 X2C1 C2GND 图2-2内部振荡方式的外部电路 如图2-2外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。 2.3单片机的最小系统图要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。单片机最小系统如下图2-3所示。 图2-3单片机的最小系统图时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。2.4复位电路 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。2.4.1手动按钮复位 如图2-4手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求2.4.2上电复位 AT89S51的上电复位电路如图2-4所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2-3的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个度电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 如图2-4复位电路2.5显示模块显示电路为三十二路彩灯控制,可以变换出不同种类型的多样变化,是效果更佳的艳丽,从而充分的利用了单片机的引脚等,是变化更佳的有视觉效果,从而提高了利用率,本设计还具有实用性,更能引用到实际中去,比较节省电力,色彩斑斓,比较具有说服力。同时变化的多样性也为单片机的控制优点受到更高的追捧。 图2.5显示模块的电路原理图 充分利用了单片的所有引脚,使彩灯的亮灭效果更加的显著,而且更有视觉效果,比较让人容易理解其原理。 第三章结合各模块总体设计方案3.1总的设计方案图2-6该电路由P0(第一控制输出口)、P1(第二控制输出口)、P2(第三控制输出口)、P3(第四控制输出口)实现控制彩灯变化。 18、19接晶振,为单片机外部振荡电路。9脚为复位端,SB为复位按钮,按下SB电路复位,电路重新开始工作。 图2-6总的电路原理图设计 方案比较简洁节省材料,而且彩灯亮灭方式多,有七种不同的方式,采用高低电平的控制方式。结构简单,易于操作。亮灭的同时节约没必要的电能浪费,节约了资源,适合于生活中运用。3.2.硬件的设计3.2.1硬件的封装Altium Design Summer 09虽然提供了肺腑的原理图元器件库,但不可能包括所有的元器件,必要时需手动设计原理图元器件,建立自己的元器件库。找到所有需要的原理图元器件后,就可以开始绘制原理图了。根据电路复杂程度决定是否需要使用层次原理图。本次毕业设计比较简单,这一部分没有使用。完成原理图后,用ERC(电气规则检查)工具差查错,找到出错的原因并修改原理图电路重新查错到没有原则性错误为止。与原理图元器件库一样,Altium Design Summer 09也不可能提供所有的元器件的封装。需要时自行设计并建立新的元器件封装库。总体上来讲,根据元件所采用安装技术的不同,可分为通孔安装技术(Through Hole Technology, 简称THT)和表面安装技术(Surface Mountain Technology ,简称SMT)。使用通孔安装技术安装元件时,元件安置在电路板的一面,元件引脚穿过PCB版焊接在令一面上,通孔安装元件需要占用较大的空间,并且要为所有引脚在电路板上钻孔,所以它们的引脚会占用两面的空间,而且焊点也比较大。但从另一方面讲,通孔安装元件与PCB连接较好,机械性能好。例如,排线的插座、接口板插槽等类似接口都需要一定的耐压能力,因此,通常采用通孔安装技术。表面安装元件,引脚焊盘与元件在电路板的同一面,表面安装元件一般比通孔元件体积小,而且不必为焊盘钻孔,甚至还能在PCB板的两面都焊上元件。因此,与使用通孔安装的元件的PCB板比起来,使用表面安装的PCB板上元件布局要密集很多,体积也小很多。此外,应用表面安装技术的封装元件比通孔安装元件要便宜一些,所以目前的PCB设计广泛采用了表面安装元件。本次毕业设计当中,最开始采用的单面板设计,由于设备限制,过于精密的器件不能够应用,所以采用的是通孔安装技术。3.2.2布局布线确认原理图没有错误之后,开始PCB板的绘制。首先绘出PCB板的轮廓,确定工艺要求(使用几层板等)。最后将原理图传输到装入网络表和元器件封装后,我们要把元件封装放入工作去,这样需要我们对PCB板中,在网络报表、设计规则和原理图的引导下布局和布线。最后利用设计规则检查工具查错。此过程是电路设计时另一关键环节,它将决定该产品的使用性能,需要考虑的因素很多,不同的电路有不同的要求。 元件封装进行布局,Altium Design Summer 09提供了强大的PCB自动布局功能,PCB编辑器根据一套智能算法可以自动地将元器件分开,最后放置到规划好的布局区域内并进行合理的布局。在自动布局前,首先要设置自动布局约束参数。合理地设置布局布线参数,可以使自动布局布线的结果更加完善,也就相对的减少了手动布局的工作量,节省了设计时间。元件的手动布局是指手动确定元件的为止。元件的自动布局结果中,虽然设置了自动布局的参数,但是自动布局只是对元件进行了初步的放置,自动布局中元件的摆放并不整齐,走线的长度也不是最短,PCB布线效果也不够完美,因此需要对元件的布局进行就一步的调整。在PCB板上,可以通过对元件的移动来完成手动布局的操作,但是单纯的手动移动不够精细,不能非常整齐的摆放元件,为此自动布线会出现一些不合理的布线情况,例如有较多的绕线、走线不美观等。此时可以通过手工布线进行一定的修正,对于元件网络较少的PCB板也可PCB编辑器提供了专门的手动布局操作。以完全采用手工布线。手工布线,要靠用户自己规划元件布局和走线路径,而网格式用户在空间和尺寸上的重要依据。因此,合理地设置网格,会更加方便设计者规划布局和放置导线。用户在设计的不同阶段可依据需要随时调整网格的大小,例如,在元件布局阶段,可将捕捉网格设置的大一点,如20mil。在布线阶段捕捉网格要设置小一点,如5mil甚至更小,尤其是在走线密集的区域,视图网格和捕捉网格设置要小一些,以方便观察和走线。3.2.3硬件的制版电路设计完成之后,就要进行硬件的制作了。制作硬件电路是制作这个仪器的前提保证,所以也是非常重要的一步。首先就是布局。布局的好坏是影响整个仪器的制作的。布局的第一步先要选好一块合适的试验版,把实物先在没有焊盘的一面布局。考虑到软件调试和以后更换的需要,STC15F104E、电阻、微动开关要插入插座使用,所以布局时使用插座。布局时要考虑连接线,确定好了布局,然后画好所有连接线完成PCB,接下来就是制板和焊接了。用热转印的方法完成电路板的制作,热转印步骤如下:第一步:利用Altium Design完成PCB图的制作。第二步:将PCB图打印到热转印纸上。第三步:将打印好PCB的转印纸平铺在覆铜板上,准备转印。第四步:用专业的制版机将转印纸上黑色塑料粉压在覆铜板上形成高精度的抗腐层。第五步:制版机加温加压成功转印后,进行清理。第六步:准备好水、双氧水、盐酸(或三氯化铁溶液)进行腐蚀。第七步:将转印制版好的PCB铜板放入专门的腐蚀箱中进行腐蚀,注意不要腐蚀过度,腐蚀结束,准备焊接。第八步:清理出焊盘部分,剩下的部分用于阻焊。第九步:利用电转将需要插入元器件的铜板上打孔。第十步:安装所需预定原件并焊接好。焊接完后,再就是硬件的调试。硬件调试,首先是线路的检查。检查器件是否错焊、漏焊、虚焊,电解电容是否焊反,走线是否正确。再用万用表检查两点之间是否有虚焊。检查无误后,接下来就是上电,这是单片机要插上。在正式上电前,用万用表量一下电源与地是否短路。短路的话,要耐心检查。排除故障。然后进行显示电路,用同样的方法对显示部分进行调试后,给单片机与外部连接的输出的各个引脚加高低不同电平。 第四章软件的调试 4.1.系统资源 在单片机应用系统的开发中,软件的设计是最复杂和困难的,大部分情况下工作量都较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化的设计人员,往往需要同时考虑单片机的软硬件资源分配。软件设计一般可按如下步骤进行,设计流程图可口参见。 在考虑一个应用工程项目时就需先分析该系统完成的任务,明确软硬件个承担哪些工作,有时,实际上这种情况很多,就是一些任务可用软件完成,也可以用硬件构成,还需考虑采用软件或硬件它们优势,一般均以最优的方案为首选。象虚定义各输入/输出(I/O)的功能、数据的传输交换形式、与外部设备接口及它们的地址分配、程序存储器和数据存储器的使用区域、主程序子程序使用的空间、显示(如有的话)等数据暂存区的选择、堆栈区的开辟等等因素。4.2 程序流程 程序设计伊始,流程图不可能尽善尽美,在编制过程中仍需进行修改和完善,认真地绘制程序流程图,可以起到事倍功半的效果。 流程图就是根据系统功能的要求及操作过程,列出主要的各功能模块,复杂程序程序流向多变,需要在初始化时设置各种标志,程序根据重些标志控制程序的流向。当系统中各功能模块的状态改变时,只须修改相应的标志即可,无须具体地管理状态变化对其他模块的影响,这些需要在绘制流程图时,清晰地标识出程序流程中各标志的功能。 上述的工作做好了,就可以开始编制程序了,程序编写时,首先需对用到的参数进行定义,和标号的定义一样,使用的字符必须易于理解,可以使用英文单词和汉语拼音的缩写形式,这对今后自己的辨读和排错都是有好处的。然后初始化各特殊功能寄存器的状态,中断口的地址区定义,数据存储区的安排,根据系统的具体情况,估算中断、子程序的使用情况,预留出堆栈区,和需要的数据缓存区,接下来就开始编写程序了。 现在的单片机程序还是以汇编语言为主,因为它以简洁、直观、紧凑仍被设计人员乐于接受。高级语言(如C语言)也在单片机设计中发挥越来越重要的角色,性能也越来越好,但不管是使用何种语言,最终还是需要汇编成机器语言,调试正常后,通过烧录器固化到单片机或ROM中。至此,程序编写即告完成。 4.3软件系统中的主程序流程图4.3.1主程序流程图本课题的硬件电路相对简单,其中大部分工作要求用软件完成。软件应包括三部分:中断程序,然后要由C语言完成。各部分子程序在后几节列出。程序流程:首先进行系统及花样的初始化,设置中断方式判断是执行下一个花样还是减一执行下一个花样。主程序一直在判断flower_Flag的值。从而执行对应的花样程序。flower_Flag的值在增减中断函数被改变。LED变化一次会显示一次花样变化,一直循环到最后一个花色,当出现死机的时候,按下复位键,然后花色重新开始启动。从一到循环到最后。开始设置中断显示默认花样主循环SwitchFlower Flag花样1花样2花样3花样4花样5花样6花样循环更换1243567 图4-3主程序流程图4.3.2子程序流程图 如同图4-4为彩灯变换的子程序流程图。详细说了在一种花样中高低电平变化,使彩灯产生不同的亮灭方式。中断0Flower Flag1判断并处理Flower_Flag显示Flower_Flag中断返回中断1Flower_Flag-1判断并处理Flower_Flag显示Flower_Flag中断返回 图4-4子程序流程图 子程序代码 1 #include 2 #include 3 4 #define uchar unsigned char 5 #define uint unsigned int 6 7 uint i; 8 9 uchar code table1= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe; 10 uchar code table2= 0xfd,0xf7,0xdf,0x7f,0xbf,0xef,0xfb,0xfe; 11 uchar code table3= 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa; 12 uchar code table4= 0xf0,0x0f,0x0f,0xf0; 13 uchar code table5= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; 14 uchar code table6= 0xcc,0x33,0x33,0xcc; 15 uchar code table7= 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff; 16 uchar code table8= 0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff; 17 18 void delayms(uint xms) 19 20 1 uint i,j; 21 1 for(i=xms;i0;i-) 22 1 for(j=110;j0;j-); 23 1 24 25 void dis1() 26 27 1 for(i=0;i8;i+)/查表可以简单的显示各种花样 实用性更强 28 1 29 2 P0=table1i; 30 2 delayms(100); 31 2 32 1 P0=0xff; 33 1 34 1 for(i=0;i8;i+)/查表可以简单的显示各种花样 实用性更强 35 1 36 2 P1=table1i; 37 2 delayms(100); 38 2 39 1 P1=0xff; 40 1 41 1 for(i=0;i8;i+)/查表可以简单的显示各种花样 实用性更强 42 1 43 2 P2=table1i; 44 2 delayms(100); 45 2 46 1 P2=0xff; 47 1 48 1 for(i=0;i8;i+)/查表可以简单的显示各种花样 实用性更强 49 1 50 2 P3=table1i; 51 2 delayms(100); 52 2 53 1 P3=0xff; 54 1 55 1 for(i=8;i16;i+)/查表可以简单的显示各种花样 实用性更强 56 1 57 2 P3=table1i; 58 2 delayms(100); 59 2 60 1 P3=0xff; 61 1 62 1 for(i=8;i16;i+)/查表可以简单的显示各种花样 实用性更强 63 1 64 2 P2=table1i; 65 2 delayms(100); 66 2 67 1 P2=0xff; 68 1 69 1 for(i=8;i16;i+)/查表可以简单的显示各种花样 实用性更强 70 1 71 2 P1=table1i; 72 2 delayms(100); 73 2 74 1 P1=0xff; 75 1 76 1 for(i=8;i16;i+)/查表可以简单的显示各种花样 实用性更强 77 1 78 2 P0=table1i; 79 2 delayms(100); 80 2 81 1 P0=0xff; 82 1 P1=0xff; 83 1 P2=0xff; 84 1 P3=0xff; 85 1 delayms(200); 86 1 87 4.4软硬件的结合调试4.4.1程序采用汇编语言编写经常用到AT系列单片机,但是在Keil C 中没有对应的单片机型号,调试起来就比较麻烦,最近经过试验,终于导入成功,将STC单片机型号加入到Keil uVision4 中,并且与通用型号共存,能够分别选择使用。1、 先从AT官方网站上下载对应版本的 *.CDB文件,在此选在UV2.CDB文件。2、下载完成后,有两种方法将UV2.CDB文件加入:一种是直接将UV2.CDB 文件复制到Keil安装目录下的UV4文件夹下,这样将覆盖掉原来的文件,建议将原来的文件备份。当再次打开Keil uVision34后,新建工程中的元件库就全部变成了AT系列,没有之前我们常见的AT89系列等。如果还要用到这些通用元件,可以将原来备份的UV4.CDB重新复制回来。这样才工程中就又可以用到之前的通用元件了。但是复制过来之后,STC系列就没有了,只剩下通用系列了,二者只能存在一个。另一种方法是将下载的UV2.CDB 重命名,命名为AT.CDB ,然后复制到Keil安装目录下UV4文件夹,这样就不会和原文件覆盖。然后打开Keil安装目录下的TOOLS.INI 文件 ,在 BOOK0=UV4RELEASE_NOTES.HTM(uVision Release Notes) 下面加入CDB0=UV4STC.CDB(STC CPU Data Base),然后保存即可。然后打开Keil uVision4,在新建的工程中,会出现一个数据库选择项,在这里选择“STC CPU Data Base”即可。如果需要用AT89系列,选择“Generic CPU Data Base“即可。经过这样的设置后,可以避免反复复制UV4.CDB文件到UV4文件中,为在不同工程中使用不同的元件提供了方便。完成Keil的配置后,先编每一个测试模块。在测试模块中实现七彩效果,不必要求有渐变的效果,在LED上面加上灯罩,并确认单片机可用。其次,在保证每一个子程序都正确的前提下,把所有子程序都结合起来进行调试,保证没有语法错误,并可以用端口来验证是否正确最后,在能基本实现功能的条件下,对程序再进行反复的修改,使其达到指标要求。在做好软件和硬件的调试之后,就可以把两者结合到一起了。把程序下载到单片机中,看其是否实现所要求的功能,如果不行,则要进行反复的调试,不断的对软件和硬件进行修改。在程序设计时,由于使用的是TTL级别的单片机,所以出现很多的问题,后来有部分功能未解决。由于最开始的AT下载器选择有问题,故下载时遇到很多的问题,下面给出STC的下载过程:4.4.2安装USB转串口线的驱动。先连接上USB转串口线。系统会提示找到新硬件。选择“取消”,驱动安装程序是HL340点击INSTALL,进行安装。安装好后,会提示。然后,我们在设备管理器中查看USB转串口线所占

温馨提示

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

评论

0/150

提交评论