基于51单片机的8位流水灯控制系统毕业论文设计_第1页
基于51单片机的8位流水灯控制系统毕业论文设计_第2页
基于51单片机的8位流水灯控制系统毕业论文设计_第3页
基于51单片机的8位流水灯控制系统毕业论文设计_第4页
基于51单片机的8位流水灯控制系统毕业论文设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

I基于51单片机的8位流水灯控制系统社会上普遍存在的LED流水灯,俨然已成为众多商户对外宣传的重要方式;LED流水灯其实是有一个小芯片控制运营的,这就是理论中阐述的单片机。它是体型较小的集成电路芯片,能够把非常大规模的集成电路技术和拥有数据处理能力的CPU、RAM、ROM、多种I/O口和断连系统、具备定时功能的器件/等功能集中生产到一块非常小的硅片上,构成一个体型小且比较完善的微型计算机系统,单片机理论称之为单片微控制器,它不仅仅是完成任何一个具备逻辑功能的芯片,而是把一个计算机的系统集成到一个非常小的芯片上。相当于一个微小型的计算机,与市面的同类计算机相比,单片机缺少了I/O设备。总而言之:芯片是计算机中最为重要的部分。它的特点是:体积较小、质量也比较轻、价格低廉、给学习、应用和开发提供了非常便利的条件。单片微控制器(芯片)的使用安慰非常广泛,例如:实施监控器、通讯仪器、电视、车载无线设备等。任何产品只要装载了最新款的单片机,他就能够促进加快产品升级换代的速度,任何一种普通家电只要加载单片机均被冠以类似于:智能数字电视、智能无人驾驶等。科学技术更新的速度越来越快,在电子这个领域中自动化、智能化的控制系统以凭借其体积小、成本低、功能强、应用广泛等优势已成为电子领域的主流。本文主要是通过基于51单片机最为经典的8位流水灯控制系统的设计(控制)原理、设计思路、系统工作原理等几个方面展开介绍、分析、探讨。关键词:单片机流水灯控制系统ILEDlightwaterexistsinthesociety,hasbecomeanimportantwayformanybusinessespropaganda;LEDwaterlampisactuallyasmallchipcontroloperation,itisexpoundedintheory.Itisasinglechipintegratedcircuitchipsmaller,toverylargescaleintegratedcircuittechnologyandownsthedatatheprocessingcapabilityoftheCPU,RAM,ROM,avarietyofI/Oportanddisconnectsystem,withtimingfunctiondevices/functionsconcentratedproductiontoaverysmallpieceofsilicon,asmallsizeandrelativelyperfectmicrocomputersystemtheorycalledmonolithicsingle-chipmicrocontroller,itisnotonlyCompleteanylogicalfunctionofthechip,butacomputersystemintegratedintoaverysmallchip.Theequivalentofamicrocomputer,comparedwiththemarketsimilarcomputerchip,thelackofI/Odevices.Inshort:thechipisthemostimportantpartofthecomputer.Itfeaturesisasmallvolume,thequalityisrelativelylight.thepriceislow,tolearn,toprovideaveryconvenientconditionfortheapplicationanddevelopmentofsingle-chipmicrocontroller(chip).Theuseofcomfortisveryextensive,suchastheimplementationofmonitor,communicationequipment,TV,wirelessequipment.AnyproductaslongasthelatestmonolithicloadingMachine,hewillbeabletoacceleratethepaceofproductupgrades,anykindofordinaryhouseholdappliancesaslongastheloadissimilartothesinglechipiscalled:intelligentdigitalTV,intelligentunmannedandsoonScienceandtechnologyupdatesfasterandfaster,inthefieldofelectronicautomation,intelligentcontrolsystembyvirtueofitssmallvolume,lowcost,strongfunction,wideapplicationandotheradvantageshasbecomethemainstreamofelectronicfield.Thispaperismainlythroughthedesignofthe8lightwaterclassiccontrolsystembasedon51MCU(thecontrolprinciple,designidea,several)theworkingprincipleofthesystemandotheraspectsoftheanalysis,toexplore.Keyword:OwnershipStructureFinancialSystemReferenceInspiration1引言UDC 错误!未定义书签。一引言 41.1设计的背景 41.1设计的目的 4二系统板总体设计 62.1硬件的组成 2.2AT89C51引脚功能 62.3晶振 82.4复位状态 92.5流水灯硬件原理图 2.6MCS-51系列单片机内部采用模块式结构 2.7元件清单 三统板相应程序设计 3.1位控法 3.2C语言编程 3.2.1C语言程序 3.2.2编程注意事项 3.3测试及结果 实验总结 20参考文献 21基于51单片机的8位流水灯控制系统41.1设计的背景社会上普遍存在的LED流水灯,俨然已成为众多商户对外宣传的重要方式;LED流水灯其实是有一个小芯片控制运营的,这就是理论中阐述的单片机。它是体型较小的集成电路芯片,能够把非常大规模的集成电路技术和拥有数据处理能力的CPU、RAM、ROM、多种I/O口和断连系统、具备定时功能的器件/等功能集中生产到一块非常小的硅片上,构成一个体型小且比较完善的微型计算机系统,单片机理论称之为单片微控制器,它不仅仅是完成任何一个具备逻辑功能的芯片,而是把一个计算机的系统集成到一个非常小的芯片上。相当于一个微小型的计算机,与市面的同类计算机相比,单片机缺少了I/O设备。总而言之:芯片是计算机中最为重要的部分。它的特点是:体积较小、质量也比较轻、价格低廉、给学习、应用和开发提供了非常便利的条件。单片微控制器(芯片)的使用安慰非常广泛,例如:实施监控器、通讯仪器、电视、车载无线设备等。任何产品只要装载了最新款的单片机,他就能够促进加快产品升级换代的速度,任何一种普通家电只要加载单片机均被冠以类似于:智能数字电视、智能无人驾驶等。科学技术更新的速度越来越快,在电子这个领域中自动化、智能化的控制系统以凭借其体积小、成本低、功能强、应用广泛等优势已成为电子领域的主流。本文主要是通过基于51单片机最为经典的8位流水灯控制系统的设计(控制)原理、设计思路、系统工作原理等几个方面展开介绍、分析、探讨。不言而喻51系列的单片机可以说是目前应用领域最为广泛的一种8位单片机之一,它凭借着体积小、功能强、成本低、应用面广这些优势。经历了数十年革新、发展,51系列的单片机到目前为止已经具备了规模庞大,功能齐全,资源丰富等这些独特且实用的特点。现如今技术日新月异、层出不穷,以电子领域和自动化智能控制领域来说,以前的分立元件或具备数字逻辑电路的任何控制系统,潜移默化之中正一步步被单片机智能控制系统逐步取代了。这篇论文用单片机结合LED制作了一种新型的8位LED流水灯控制系统的设计,AT89C51作为主控核心来说,凭借着软件逐步实现对LED流水灯进行各种方式的控制。这个系统他的特点是体积较小、硬件也少、电路的结构简单和易于操作等这些优1.1设计的目的我们日常生活当中随处可见的LED彩灯,他具有美学效果,同时还为周边人群提供欣赏的独特“景观”;这边论文主要围绕用51集成块编程实现控制电路的原理,实现单片基于51单片机的8位流水灯控制系统5机流水灯控制的功能。而且同时在文中也详细的介绍说明了硬件电路和相应的程序,通过这次撰写毕业论文熟悉且熟练地掌握单片机的工作原理,进而实现理论知识和实践应用完美结合的最终目的。基于51单片机的8位流水灯控制系统6XTAL1XTAL138二系统板总体设计2.1硬件的组成参照单片机系统扩展与系统配置的情况,单片机应用系统简单的划分为“最小系统”、“最小功耗系统”和典型系统等。AT89C51单片机是国外通信供应商ATMEL研制的电压低、性能搞的CMOS8位单片机,内在资源极为丰富:具备4kB闪存的优势、搭载着128BRAM和三十二根I/O口线、配备了2个16位定时/计数器和诸多个向量两级断开结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。所以,我设计的这个流水灯可以说是一个具有8个发光二极管的单片机“最小系统”,这就是由发光二极管、晶振、复位····等电路和必备的软件系统组成的单个单片机“最小系统”。P0P0P0POPOPPP2.P2.P2.P2.P2..2D2.4/IAD4.5/AD56P2.2图1AT89C51引脚图VCC:供电电压。PO口:PO口是一个八位漏级开路、双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚首次被写入1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行矫验的时候,PO输出原码,这个时候PO外部就必然要接上拉电阻。P1口:简单的说P1口就是一个自身内部提供上拉电阻的八位双向I/O口,P1口缓冲器可以接收输出4TTL门电流。P1口管脚再被读入1后,被内部上拉为高,可以用作输入,P1口被外部下拉为低电平时,这时输出电流,原因是内部上拉的缘由。在FLASH编程和基于51单片机的8位流水灯控制系统7校验时,P1口就是作为低八位的地址接受。P2口:可以说P2口就是一个内部上拉电阻的8位双向I/O口,P2口缓冲器如同P1口均可以接收,输出的也是4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,因此作为输入。P2口在被作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用作外部程序存储器或十六位地址外部数据存储器进行程序、数据存取的时候,P2口输出地址高八位。在给出地址“1”时,它凭借内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其独特功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚和P2\P1物理属性功能基本差不多,8个带内部上拉电阻的双向I/O口,也被称之为写入口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口也是可以输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外部中断0)P3.3/INT1(外部中断1)P3.4TO(计时器0外部输入)P3.5T1(计时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口还可以给闪烁编程和编程校验接收一些控制信号信息。RST:简而言之就是“复位输入”。如果振荡器复位器件时,必然要保证RST脚两个机器周期的高电平时间。ALE/PROG:当芯片访问外部存储器的时候,地址锁存允许的可以输出电平用作锁存地址的地位字节。/PSEN:理论上称之为“外部程序存储器的选通信号”。在由外部程序存储器取指期间,所有机器周期两次/PSEN有效。但是如果访问外部的数据存储器时,这两次有效的/PSEN信号将不会出现。/EA:当/EA保持低电平时,则在这个期间外部程序存储器8(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,这个区间内部程序存储器。XTAL1:简单说这是反向振荡放大器的输入和内部时钟工作电路的输入。XTAL2:(作为输出口)来自反向振荡器的输出。2.3晶振晶振,构成原理是:是从石英晶体上被按必然方位角切割下来的薄片(就是所谓的晶片也就是石英晶体谐振器,别称也叫做石英晶体或者直接叫晶体、晶振等;在封装的自身内部添加IC然后组成振荡电路的晶体元件称之为晶体振荡器。晶体振荡器是其中最主要控制CPU的时钟频率,也就是产生高低电平的“周期”(备注:产生一个高电平,和一个低电平叫做一个周期,)简而叙述:来次频率越高,电脑在单位时间里处理的速度就越快,晶振自己不会产生振荡,但它基本上是以一个固定的频率与外电路发生谐振,他有一个前提条件是外部电路的振荡频率必然与晶振的自身固有振荡频率是相同的,最起码也是要极其接近,要不然电路就会停振。这次8位流水灯控制系统设计,基本上采用1MHZ晶振和30PF的电容器,共同组成一个基本上非常稳定的自身振荡器。电容器的大小有时候会有三个影响:第一:震荡频率的高低;第二:振荡器的稳定性;第三起振的快速性。这三点影响正是为单片机提供标准1图2时钟电路基于51单片机的8位流水灯控制系统92.4复位状态复位是单片机最原始的状态,也称为“单片机初始化操作”,它的主要功能是将程序计数器PC可以初始化为0000H(也就是原始状态),它能够让单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行中出现错误或操作不当出现错误使系统处于死锁状态时,这时候复位的方式只有一种:那就是重新启动单片机,这种情况在现实中是最普遍存在的。当单片机重新启动正常复位以后,除P1.0~P1.7的端口锁存器被设置成FFH、堆栈指针SP设置成07H和串行口的SBUF没有确定值外,其它各专用寄存器包括程序计数器PC均被设置成00H。这个时候单片机内部的RAM不会受到复位的直接影响,档案偏激上电后RAM中的大多数内容是随机的。在此次论文设计中熟悉这些独特功能寄存器的复位状态,对于熟练操作单片机,简短应用程序中的初始化部分是是特别重要的。单片机复位:第一种上电自动复位,第二种手动按键复位两种方式是单片机的复位操作的两种方式。上电自动复位操作前提条件是接通电源后自动实现复位操作。如《图3复位电路图》所示。上电的一瞬间由于电容C上无储能,其端电压几乎是零,RST得到高电平,电容器C随着逐渐的的充电,RST引脚上的高电平也会慢慢的下降,当RST引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。只要高电平能保持复位所需要的时间(大约两个机器周期),单片机基本上就会实现复位。9基于51单片机的8位流水灯控制系统2.5流水灯硬件原理图图4流水灯硬件原理图起来,那就只有把P1.0口的电平变为低电平(比较稳妥的方式);反向思考,如果要接在接在P1.1~P1.7口的另外7个LED信号指示灯的点亮和熄灭的方法就是和LED1的方式是一样的。因此,我们要想成功的实现8位流水灯功能,第一,在操作上是不能出错的,极管LED1~LED8规范的准确的依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯指令的时间很短,在操作控制二极管信号指示灯点亮或者熄灭的时基于51单片机的8位流水灯控制系统2.6MCS-51系列单片机内部采用模块式结构结构框架图程序存储器程序存储器数据存储器时钟电路POP1P2P3定时/计数器1定时/计数器0总线控制中断控制并行口控制图5MCS-51系列单片机组成框图从图中可以看出来,MCS-51系列的单片机微控系统主要由以下部件通过片内总线连接而成:第一是中央处理器(CPU)、第二是数据存储器(RAM)、第三是程序存储器(ROM)、并行输入/输出口(PO口~P3口)、串行口、定时器/计数器、中断控制、总线控制及时钟2.7元件清单元件规格数量电容30pf/1nf电阻8220Ω/10KΩ发光二极管单片机芯片AT89C511晶振1图6元件清单表基于51单片机的8位流水灯控制系统相应亮灯方式相应亮灯方式2.8程序流程图在运行的程序中LIGHT7是很多种多种亮灯方式结合循环延时子程序DELAY为100毫秒延时,在这个当中延时子程序DELAY1为100毫秒延时端口P1.0~P1.07控制的16个发光二极管亮灯方式程序中有标注。P1.0=0?跳至主程序,设置外部中P1.0=0?断0有效,电平触发主程序等待中断P1.2=0?中断到来?P1.3=0?继续等待中断P1.4=0?P1.5=0?P1.6=0?中断?继续循环图7程序流程图基于51单片机的8位流水灯控制系统三统板相应程序设计本文中所述的硬件结构原理图组建和搭建完成上电之后,这个时候一般我们还是看不到流水灯循环往复的亮灭现象,这就需要我们来下指令告诉单片机怎么正确的进行工作,方法一:通过编写程序控制单片机管脚电平的高低变化,来实现发光二极管(信号指示灯)的一部分,同时更是单片机理论学习的特别重点和难点。下面我们以最简单的流水灯控制功能即实现8个或16个LED灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。位控法是最传统而且又比较简单容易理解的方法,位控法也是市面上面使用最为广泛LJMPMAINMAIN:MOVA,#OFEH;初值11111110送入AMOV30H,#7;30单元作计数器,初始为左移次数LEFT:MOVP1,A;A送入P1口(初始点亮P1.0)DJNZ30H,LEFT;未够7次继续左移MOV30H,#7;重置计数器,为右移次数RIGHT:MOVP1.A;A送入P1口LCALLDELAY;延时DJNZ30H,RIGHT;未够7次继续右移AJMPMAINDELAY:MOVR5,#195;延时基于51单片机的8位流水灯控制系统DJNZDJNZR5,C13.2.1C语言程序在3.1章节当中所述的程序设计是逐个进行控制P1.0至P1.7端口的每个来操作实现的,接下来我将会使用C语言程序运用程序来控制各个端口赋值来实现P1.0至P1.7的发光二极管的亮灯与灭灯的,在这里我可以把初始值11111110赋值给led,并将led赋值给P1.0端口,操做完之后每隔100毫秒左右的时间led左移一位改变P1.1端口,实现P1.0端口的灭灯和P1.1端口的亮灯,那么我们可以按照这个方法对其他几个端口依次进行操作执行,最终就可以实现每个端口按照顺序依次亮灯与灭灯,按照这样的操作方式,当P1.7端口灭灯时,led就会又变回11111110,这样一来就完成流水灯的循环工作,这样就可以实现我们想看到的流水灯效果了。#include<reg51.h>#include<intrins.h>#defineucharunsignedcharvoiddelay_ms(ucharms);//延时毫秒@12M,ms最大值255{ucharled;uchari;基于51单片机的8位流水灯控制系统P1=led;delay_ms(100);led=crol(led,1);//led值送入P1口//延时100ms//led值循环左移1位{P1=led;led=_cror_(led,1);//led值循环左移1位while(ms--)//延时毫秒@12M,ms最大值255for(i=0;i<124;i++);3.2.2编程注意事项程序编辑注意事项中要重点说明的是,按照从程序语言编写的规范准则,程序编制的源代码(简称源程序)的正确书写格式、输入格式和书写符号要求必须依下列原则:各行程序书写的格式应为:重点标明号:命令、参数、注释。也就是说他是由最为重要的四大部分组合而成的,这四大部分每个部份的顺序是要参照规则来实现的,不能颠倒顺序,也不能减少或者增多,简而言之绝大部分操作环境下这四部分缺一不可,但有些操作环境下依实际要求也是可以缺省掉其中的一部份或几部份,也可以全部省略掉或者删除掉,也就是只需显示空白行就可以了。我们在编辑程序的时候第二方面就是注意需要在正确使用标号时标号后面必须有“:”(英文输入法下输入的冒号),在编写的程序当中“命令语句”和“重要且必须的参数”之间一定要用用空格分开(备注:这里所说的空格是指一个空格字符,而不是多个甚至更基于51单片机的8位流水灯控制系统多空格字符,切记也不能使用回车键),在编写的程序当中如果编写的命令有2个及以上的参数,那么就要注意参数与参数两个中间一定必须用“,”(英文输入法下输入的逗号)分开,程序在编写过程当中有些时候需要对某一个程序进行注释时,注释前必须用“;”(英文输入法下输入分号),“;”在这个后面的语句我们可以写任何真确的符合对程序解释的字符,在这里可以包括汉语字体等不同的语言用于解释前面的汇编语句,这个是不况下我们对汇编语言还不是很熟悉,也不是很直观,所以我们在以后在编写源程序时,也理应着重培养自己,使我们养成多写注释的标号被称之为标志程序中某一行的符号名,我们在完成程序编辑以后编译后标号的数值就是标号所在行代码的地址。在宏汇编ASM51当中标号的很多情况下标号的长度不会受到任何限制,但是要切记标号中一定不能包含‘:或其它的一些特殊符号(英文输入法下输入的冒号或其它符号),同时我们也不能用汉字,但是我们可以用数字作为标号,前提条件是必须用字母开头。如果我们把标号作为参数用(就像我们对标号进行转移地址操作),在命令后面出现时,在这里必须舍去‘:'(就像上述程序中我叙述的AJMPSTART经过刚刚讲述的汇编语言程序的规则,下面我将编辑源程序的具体内容简单首先我们需要启动KEIL单片机集成开发环境软件,建立一个新工程liu01.UV2,然后将上面的源程序liu01.asm分别导入到新建的工程中,先设置好KEIL工程的编译参数,编译得到hex格式的目标文件liu01.hex,使用ISP编程器我们将程序目标文件liu01.he写到AT89S51

温馨提示

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

评论

0/150

提交评论