收藏 分享(赏)

基于单片机的位流水灯控制系统毕业论文设计.doc

上传人:dzzj200808 文档编号:2353293 上传时间:2018-09-12 格式:DOC 页数:21 大小:191.51KB
下载 相关 举报
基于单片机的位流水灯控制系统毕业论文设计.doc_第1页
第1页 / 共21页
基于单片机的位流水灯控制系统毕业论文设计.doc_第2页
第2页 / 共21页
基于单片机的位流水灯控制系统毕业论文设计.doc_第3页
第3页 / 共21页
基于单片机的位流水灯控制系统毕业论文设计.doc_第4页
第4页 / 共21页
基于单片机的位流水灯控制系统毕业论文设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、I基于 51 单片机的 8 位流水灯控制系统摘 要社会上普遍存在的 LED 流水灯,俨然已成为众多商户对外宣传的重要方式;LED 流水灯其实是有一个小芯片控制运营的,这就是理论中阐述的单片机。它是体型较小的集成电路芯片,能够把非常大规模的集成电路技术和拥有数据处理能力的CPU、 RAM、ROM、多种 I/O 口和断连系统、具备定时功能的器件 /等功能集中生产到一块非常小的硅片上,构成一个体型小且比较完善的微型计算机系统,单片机理论称之为单片微控制器,它不仅仅是完成任何一个具备逻辑功能的芯片,而是把一个计算机的系统集成到一个非常小的芯片上。相当于一个微小型的计算机,与市面的同类计算机相比,单片机

2、缺少了 I/O 设备。总而言之:芯片是计算机中最为重要的部分。它的特点是:体积较小、质量也比较轻、价格低廉、给学习、应用和开发提供了非常便利的条件。单片微控制器(芯片)的使用安慰非常广泛,例如:实施监控器、通讯仪器、电视、车载无线设备等。任何产品只要装载了最新款的单片机,他就能够促进加快产品升级换代的速度,任何一种普通家电只要加载单片机均被冠以类似于:智能数字电视、智能无人驾驶等。科学技术更新的速度越来越快,在电子这个领域中自动化、智能化的控制系统以凭借其体积小、成本低、功能强、应用广泛等优势已成为电子领域的主流。本文主要是通过基于 51 单片机最为经典的 8 位流水灯控制系统的设计(控制)原

3、理、设计思路、系统工作原理等几个方面展开介绍、分析、探讨。关键词:单片机 流水灯 控制系统IIABSTRACT LED light water exists in the society, has become an important way for many businesses propaganda; LED water lamp is actually a small chip control operation, it is expounded in theory. It is a single chip integrated circuit chip smaller, to ver

4、y large scale integrated circuit technology and owns the data the processing capability of the CPU, RAM, ROM, a variety of I/O port and disconnect system, with timing function devices / functions concentrated production to a very small piece of silicon, a small size and relatively perfect microcompu

5、ter system theory called monolithic single-chip microcontroller, it is not only Complete any logical function of the chip, but a computer system integrated into a very small chip. The equivalent of a micro computer, compared with the market similar computer chip, the lack of I/O devices. In short: t

6、he chip is the most important part of the computer. It features is a small volume, the quality is relatively light, the price is low, to learn, to provide a very convenient condition for the application and development of single-chip microcontroller (chip). The use of comfort is very extensive, such

7、 as: the implementation of monitor, communication equipment, TV, wireless equipment. Any product as long as the latest monolithic loading Machine, he will be able to accelerate the pace of product upgrades, any kind of ordinary household appliances as long as the load is similar to the single chip i

8、s called: intelligent digital TV, intelligent unmanned and so onScience and technology updates faster and faster, in the field of electronic automation, intelligent control system by virtue of its small volume, low cost, strong function, wide application and other advantages has become the mainstrea

9、m of electronic field. This paper is mainly through the design of the 8 light water classic control system based on 51 MCU (the control principle, design idea, several) the working principle of the system and other aspects of the analysis, to explore.Key word: Ownership Structure Financial System Re

10、ference Inspiration.III目 录1 引言U D CI一 引言 .71.1 设计的背景 .71.1 设计的目的 .7二 系统板总体设计 .82.1 硬件的组成 .82.2 AT89C51 引脚功能 .82.3 晶振 102.4 复位状态 112.5 流水灯硬件原理图 132.6 MCS-51 系列单片机内部采用模块式结构 .142.7 元件清单 14三 统板相应程序设计 163.1 位控法 163.2 C 语言编程 173.2.1 C 语言程序 173.2.2 编程注意事项 183.3 测试及结果 21实验总结 .22致 谢 .23参考文献 .24基于 51 单片机的 8 位

11、流水灯控制系统4一 引言1.1 设计的背景社会上普遍存在的 LED 流水灯,俨然已成为众多商户对外宣传的重要方式;LED 流水灯其实是有一个小芯片控制运营的,这就是理论中阐述的单片机。它是体型较小的集成电路芯片,能够把非常大规模的集成电路技术和拥有数据处理能力的CPU、 RAM、ROM、多种 I/O 口和断连系统、具备定时功能的器件 /等功能集中生产到一块非常小的硅片上,构成一个体型小且比较完善的微型计算机系统,单片机理论称之为单片微控制器,它不仅仅是完成任何一个具备逻辑功能的芯片,而是把一个计算机的系统集成到一个非常小的芯片上。相当于一个微小型的计算机,与市面的同类计算机相比,单片机缺少了

12、I/O 设备。总而言之:芯片是计算机中最为重要的部分。它的特点是:体积较小、质量也比较轻、价格低廉、给学习、应用和开发提供了非常便利的条件。单片微控制器(芯片)的使用安慰非常广泛,例如:实施监控器、通讯仪器、电视、车载无线设备等。任何产品只要装载了最新款的单片机,他就能够促进加快产品升级换代的速度,任何一种普通家电只要加载单片机均被冠以类似于:智能数字电视、智能无人驾驶等。科学技术更新的速度越来越快,在电子这个领域中自动化、智能化的控制系统以凭借其体积小、成本低、功能强、应用广泛等优势已成为电子领域的主流。本文主要是通过基于 51 单片机最为经典的 8 位流水灯控制系统的设计(控制)原理、设计

13、思路、系统工作原理等几个方面展开介绍、分析、探讨。不言而喻 51 系列的单片机可以说是目前应用领域最为广泛的一种 8 位单片机之一,它凭借着体积小功能强成本低应用面广这些优势。经历了数十年革新、发展,51系列的单片机到目前为止已经具备了规模庞大,功能齐全,资源丰富等这些独特且实用的特点。现如今技术日新月异、层出不穷,以电子领域和自动化智能控制领域来说,以前的分立元件或具备数字逻辑电路的任何控制系统,潜移默化之中正一步步被单片机智能控制系统逐步取代了。 这篇论文用单片机结合 LED 制作了一种新型的 8 位 LED 流水灯控制系统的设计,AT89C51 作为主控核心来说,凭借着软件逐步实现对 L

14、ED 流水灯进行各种方式的控制。这个系统他的特点是体积较小、硬件也少、电路的结构简单和易于操作等这些优点。1.1 设计的目的我们日常生活当中随处可见的 LED 彩灯,他具有美学效果,同时还为周边人群提供欣赏的独特“景观”;这边论文主要围绕用 51 集成块编程实现控制电路的原理,实现单基于 51 单片机的 8 位流水灯控制系统5片机流水灯控制的功能。而且同时在文中也详细的介绍说明了硬件电路和相应的程序,通过这次撰写毕业论文熟悉且熟练地掌握单片机的工作原理,进而实现理论知识和实践应用完美结合的最终目的。基于 51 单片机的 8 位流水灯控制系统6二 系统板总体设计2.1 硬件的组成参照单片机系统扩

15、展与系统配置的情况,单片机应用系统简单的划分为“最小系统”、“最小功耗系统”和典型系统等。AT89C51 单片机是国外通信供应商 ATMEL 研制的电压低、性能搞的 CMOS 8 位单片机,内在资源极为丰富:具备 4kB 闪存的优势、搭载着 128BRAM 和三十二根 I / O 口线、配备了 2 个 16 位定时/计数器和诸多个向量两级断开结构、2 个全双工的串行口,具有 4.255.50V 的电压工作范围和 024MHz 工作频率,使用 AT89C51 单片机时无须外扩存储器。所以,我设计的这个流水灯可以说是一个具有8 个发光二极管的单片机“最小系统”,这就是由发光二极管、晶振、复位等电路

16、和必备的软件系统组成的单个单片机“最小系统”。2.2 AT89C51 引脚功能XTAL218 XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/A1 38P0.2/AD2 37P0.3/A3 36P0.4/AD4 35P0.5/A5 34P0.6/AD6 3P0.7/A7 32P1.01 P1.12 P1.23 P1.34P1.45 P1.56 P1.67 P1.78P3.0/RXD10P3.1/TX 1P3.2/INT0 12P3.3/IT1 13P3.4/T0 14P3.7/RD17P3.6/W16P3.5/T1 15P2.7/A15 28P2.0/A

17、8 21P2.1/A9 2P2.2/A10 23P2.3/A1 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51图 1 AT89C51 引脚图VCC:供电电压。PO 口:PO 口是一个八位漏级开路、双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0口的管脚首次被写入 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行矫验的时候,P O 输出原码,这个时候 P0 外部就必然要接上拉电阻。P1 口:简单的说 P1 口就是一个自身内部提供上拉

18、电阻的八位双向 I/O 口,P1 口缓冲器可以接收输出 4 TTL 门电流。P1 口管脚再被读入 1 后,被内部上拉为高,可以用作输入,P1 口被外部下拉为低电平时,这时输出电流,原因是内部上拉的缘由。在 FLASH基于 51 单片机的 8 位流水灯控制系统7编程和校验时,P1 口就是作为低八位的地址接受。P2 口:可以说 P2 口就是一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器如同 P1口均可以接收,输出的也是 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,因此作为输入。P2 口在被作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上

19、拉的缘故。P2 口当用作外部程序存储器或十六位地址外部数据存储器进行程序、数据存取的时候,P2 口输出地址高八位。在给出地址“1”时,它凭借内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其独特功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚和 P2P1 物理属性功能基本差不多,8 个带内部上拉电阻的双向 I/O口,也被称之为写入口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口也是可以输出电流(ILL )这是由于上拉的缘故。P3

20、 口也可作为 AT89C51 的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(计时器 0 外部输入)P3.5 T1(计时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器 读选通)P3 口还可以给闪烁编程和编程校验接收一些控制信号信息。RST:简而言之就是 “复位输入”。如果振荡器复位器件时,必然要保证 RST 脚两个机器周期的高电平时间。 ALE/PROG:当芯片访问外部存储器的时候,地址锁存允许的可以输出电

21、平用作锁存地址的地位字节。 /PSEN:理论上称之为“ 外部程序存储器的选通信号 ”。在由外部程序存储器取指期间,所有机器周期两次/PSEN 有效。但是如果访问外部的数据存储器时,这两次有效的/PSEN 信号将不会出现。 /EA :当/EA 保持低电平时,则在这个期间外部程序存储器基于 51 单片机的 8 位流水灯控制系统8(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为RESET;当/EA 端保持高电平时,这个区间内部程序存储器。 XTAL1:简单说这是反向振荡放大器的输入和内部时钟工作电路的输入。XTAL2:(作为输出口)来自反向振荡器的输出

22、。2.3 晶振晶振,构成原理是:是从石英晶体上被按必然方位角切割下来的薄片(就是所谓的晶片也就是石英晶体谐振器,别称也叫做石英晶体或者直接叫晶体、晶振等;在封装的自身内部添加 IC 然后组成振荡电路的晶体元件称之为晶体振荡器。晶体振荡器是其中最主要控制 CPU 的时钟频率 ,也就是产生高低电平的“周期”(备注:产生一个高电平,和一个低电平叫做一个周期,)简而叙述:来次频率越高,电脑在单位时间里处理的速度就越快,晶振自己不会产生振荡,但它基本上是以一个固定的频率与外电路发生谐振,他有一个前提条件是外部电路的振荡频率必然与晶振的自身固有振荡频率是相同的,最起码也是要极其接近,要不然电路就会停振。这

23、次 8 位流水灯控制系统设计,基本上采用 1MHZ 晶振和 30PF 的电容器,共同组成一个基本上非常稳定的自身振荡器。电容器的大小有时候会有三个影响:第一:震荡频率的高低;第二:振荡器的稳定性;第三起振的快速性。这三点影响正是为单片机提供标准时钟。X1CRYSTALC130pfC230pfC41nF图 2 时钟电路基于 51 单片机的 8 位流水灯控制系统92.4 复位状态复位是单片机最原始的状态,也称为“单片机初始化操作”,它的主要功能是将程序计数器 PC 可以初始化为 0000H(也就是原始状态),它能够让单片机从 0000H 单元开始执行程序。除了进入系统的正常初始化之外,当程序运行中

24、出现错误或操作不当出现错误使系统处于死锁状态时,这时候复位的方式只有一种:那就是重新启动单片机,这种情况在现实中是最普遍存在的。当单片机重新启动正常复位以后,除 P1.0P1.7 的端口锁存器被设置成 FFH、堆栈指针 SP 设置成 07H 和串行口的 SBUF 没有确定值外,其它各专用寄存器包括程序计数器PC 均被设置成 00H。这个时候单片机内部的 RAM 不会受到复位的直接影响,档案偏激上电后 RAM 中的大多数内容是随机的。在此次论文设计中熟悉这些独特功能寄存器的复位状态,对于熟练操作单片机,简短应用程序中的初始化部分是是特别重要的。单片机复位:第一种上电自动复位,第二种手动按键复位两

25、种方式是单片机的复位操作的两种方式。上电自动复位操作前提条件是接通电源后自动实现复位操作。如图 3 复位电路图所示。上电的一瞬间由于电容 C 上无储能,其端电压几乎是零,RST 得到高电平,电容器 C 随着逐渐的的充电,RST 引脚上的高电平也会慢慢的下降,当 RST 引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。只要高电平能保持复位所需要的时间(大约两个机器周期),单片机基本上就会实现复位。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.

26、5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51R1610kC41nF图 3 复位电路基于 51 单片机的 8 位流水灯控制系统102.5 流水灯

27、硬件原理图流水灯具体硬件构成如图所示:A21A03A45A76A0 A1 A2 A3 A4 A5 A6 A7A7 A6 A5 A4 A3 A2 A1 A0XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.011.2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T 1P3.2/IN0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92

28、P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1AT89C51R620R520R420R320R220R120R020 R720X1CRYSTALR1610kC130pfC230pfC41nF D2LE-YELOWD3LE-YELOWD4LE-YELOWD5LE-YELOWD6LE-YELOWD7LE-YELOWD8LE-YELOW D1LE-YELOWR1420R1320R1220R120R1020R920R820 R1520D10LE-YELOWD1LE-YELOWD12LE-YELOWD13LE-YELOWD14LE-YELOWD15LE-YELO

29、W D9LE-YELOWD16LE-YELOW图 4 流水灯硬件原理图从以上流水灯原理图中可以很明显看出来,如若要让接在 P1.0 口的 LED1 指示信号亮起来,那就只有把 P1.0 口的电平变为低电平(比较稳妥的方式);反向思考,如果要接在 P1.0 口的 LED1 信号指示灯熄灭,只有把 P1.0 口的电平变为高电平;参照这种方式,其实接在 P1.1P1.7 口的另外 7 个 LED 信号指示灯的点亮和熄灭的方法就是和 LED1 的方式是一样的。因此,我们要想成功的实现 8 位流水灯功能,第一,在操作上是不能出错的,要心思缜密;第二,程序运行也是不能出错的,具体规范操作流程简单来说就是将

30、发光二极管 LED1LED8 规范的准确的依次点亮、熄灭, 8 只 LED 灯便会一亮一暗的做流水灯了。在这里我们需要注意一点,很多问题由于我们人眼的视觉暂留效应和单片机执行每条指令的时间很短,在操作控制二极管信号指示灯点亮或者熄灭的时候应该适当的延长一会时间,要不然我们很难看到“流水灯的流水效果了”。基于 51 单片机的 8 位流水灯控制系统112.6 MCS-51 系列单片机内部采用模块式结构结构框架图中断控制定时 / 计数器 1定时 / 计数器 0程序存储器 数据存储器4 K / 8 K 字节 R O M1 2 8 / 2 5 6 字节 R A M串行口时钟电路C P U总线控制并行 口

31、P 0 P 1 P 2 P 3T X D R X D控制图 5 MCS-51 系列单片机组成框图从图中可以看出来,MCS-51 系列的单片机微控系统主要由以下部件通过片内总线连接而成:第一是中央处理器(CPU)、第二是数据存储器(RAM)、第三是程序存储器(ROM)、并行输入/ 输出口( P0 口P3 口)、串行口、定时器/ 计数器、中断控制、总线控制及时钟电路。2.7 元件清单元件 规格 数量电容 30pf/1nf 2/1电阻 8220/10K 16/1发光二极管 2v 10mA 16单片机芯片 AT89C51 1晶振 1MHz 1图 6 元件清单表基于 51 单片机的 8 位流水灯控制系统

32、122.8 程序流程图在运行的程序中 LIGHT7 是很多种多种亮灯方式结合循环延时子程序 DELAY 为 100毫秒延时,在这个当中延时子程序 DELAY1 为 100 毫秒延时端口 P1.0P1.07 控制的 16个发光二极管亮灯方式程序中有标注。开 始跳至主程序,设置外部中断 0 有效,电平触发主程序等待中断中断到来?继续等待中断P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?P1.5=0?P1.6=0?中断?继续循环D1D2D3D4D5D6D7相应亮灯方式图 7 程序流程图基于 51 单片机的 8 位流水灯控制系统13三 统板相应程序设计单片机当中硬件组成部分和软

33、件组成部分是单片机应用系统中最为重要的两大模块,本文中所述的硬件结构原理图组建和搭建完成上电之后,这个时候一般我们还是看不到流水灯循环往复的亮灭现象,这就需要我们来下指令告诉单片机怎么正确的进行工作,方法一:通过编写程序控制单片机管脚电平的高低变化,来实现发光二极管(信号指示灯)的一会变亮,一会熄灭。单片机应用系统中软件编程是唯一一个极其重要的组成部分也是微一部分,同时更是单片机理论学习的特别重点和难点。下面我们以最简单的流水灯控制功能即实现 8 个或 16 个 LED 灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。3.1 位控法位控法是最传统而且又比较简单容易理解的方法,位控法也是市

34、面上面使用最为广泛的一种方法,他的采用顺序程序结构,用位指令进行控制 P1 口的每一个位输出高低电平,从而来控制相应 LED 灯的亮灭。程序如下:ORG 0000H LJMP MAINORG 0030HMAIN: MOV A,#0FEH ;初值 11111110 送入 AMOV 30H,#7 ;30 单元作计数器,初始为左移次数LEFT: MOV P1,A ;A 送入 P1 口(初始点亮 P1.0)LCALL DELAY ;延时RL A ;循环左移DJNZ 30H,LEFT ;未够 7 次继续左移MOV 30H,#7 ;重置计数器,为右移次数RIGHT: MOV P1,A ;A 送入 P1 口

35、LCALL DELAY ;延时RR A ;循环右移DJNZ 30H,RIGHT ;未够 7 次继续右移AJMP MAIN DELAY: MOV R5,#195 ;延时基于 51 单片机的 8 位流水灯控制系统14C1: MOV R6,#255DJNZ R6,$ DJNZ R5,C1 RET END3.2 C 语言编程3.2.1 C 语言程序在 3.1 章节当中所述的程序设计是逐个进行控制 P1.0 至 P1.7 端口的每个来操作实现的,接下来我将会使用 C 语言程序运用程序来控制各个端口赋值来实现 P1.0 至 P1.7 的发光二极管的亮灯与灭灯的,在这里我可以把初始值 11111110 赋值

36、给 led,并将 led 赋值给P1.0 端口,操做完之后每隔 100 毫秒左右的时间 led 左移一位改变 P1.1 端口,实现 P1.0端口的灭灯和 P1.1 端口的亮灯,那么我们可以按照这个方法对其他几个端口依次进行操作执行,最终就可以实现每个端口按照顺序依次亮灯与灭灯,按照这样的操作方式,当P1.7 端口灭灯时, led 就会又变回 11111110,这样一来就完成流水灯的循环工作,这样就可以实现我们想看到的流水灯效果了。#include #include #define uchar unsigned char void delay_ms(uchar ms); /延时毫秒12M,ms

37、最大值 255void main() uchar led; /为 P1 口赋值的变量uchar i; /循环控制变量while(1) led = 0xfe; /初值为 11111110for(i = 0; i 7; i+) 基于 51 单片机的 8 位流水灯控制系统15 P1 = led; /led 值送入 P1 口delay_ms(100); /延时 100msled = _crol_(led, 1); /led 值循环左移 1 位 for(i = 0; i 7; i+) P1 = led; /led 值送入 P1 口delay_ms(100); /延时 100msled = _cror_(

38、led, 1); /led 值循环左移 1 位 void delay_ms(uchar ms) /延时毫秒12M,ms 最大值 255 uchar i; while(ms-)for(i = 0 ;i124; i+); 3.2.2 编程注意事项 程序编辑注意事项中要重点说明的是,按照从程序语言编写的规范准则,程序编制的源代码(简称源程序)的正确书写格式、输入格式和书写符号要求必须依下列原则:各行程序书写的格式应为:重点标明号: 命令 、参数 、注释 。也就是说他是由最为重要的四大部分组合而成的,这四大部分每个部份的顺序是要参照规则来实现的,不能颠倒顺序,也不能减少或者增多,简而言之绝大部分操作环

39、境下这四部分缺一不可,但有些操作环境下依实际要求也是可以缺省掉其中的一部份或几部份,也可以全部省略掉或者删除掉,也就是只需显示空白行就可以了。我们在编辑程序的时候第二方面就是注意需要在正确使用标号时标号后面必须有“:”(英文输入法下输入的冒号),在编写的程序当中“命令语句”和“重要且必须基于 51 单片机的 8 位流水灯控制系统16的参数”之间一定要用用空格分开(备注:这里所说的空格是指一个空格字符,而不是多个甚至更多空格字符,切记也不能使用回车键),在编写的程序当中如果编写的命令有 2 个及以上的参数,那么就要注意参数与参数两个中间一定必须用“,”(英文输入法下输入的逗号)分开,程序在编写过

40、程当中有些时候需要对某一个程序进行注释时,注释前必须用“;”(英文输入法下输入分号),“;”在这个后面的语句我们可以写任何真确的符合对程序解释的字符,在这里可以包括汉语字体等不同的语言用于解释前面的汇编语句,这个是不会参与汇编得,也不会生成代码,对程序仅仅起到了解释并不影响程序的运行。大多数情况下我们对汇编语言还不是很熟悉,也不是很直观,所以我们在以后在编写源程序时,也理应着重培养自己,使我们养成多写注释的习惯,这样有一个最大的优点就是有利于我们今后源程序的阅读和维护。 标号被称之为标志程序中某一行的符号名,我们在完成程序编辑以后编译后标号的数值就是标号所在行代码的地址。在宏汇编 ASM51

41、当中标号的很多情况下标号的长度不会受到任何限制,但是要切记标号中一定不能包含:或其它的一些特殊符号(英文输入法下输入的冒号或其它符号),同时我们也不能用汉字,但是我们可以用数字作为标号,前提条件是必须用字母开头。如果我们把标号作为参数用(就像我们对标号进行转移地址操作),在命令后面出现时,在这里必须舍去:(就像上述程序中我叙述的 AJMP START 中的 START 是不能再有冒号)。还有就是程序语言每一行切记只能有一个标号,一个标号只能用在一处,如果我们在程序中有两行用了同一个标号,那么程序在汇编时就会报错。由于标号的长度没有限制,我们是可以使用有一定意义又比较简明的英文或者汉语拼音进行说

42、明,这样就会使的源程序读起来非常方便、整洁易懂。最后一点要说明的是在源程序中的字母不区分大小写,也就是说 MSC 和 msc 系统识别都是相同的,这里要值得住一下:不要用大小写方式去区分不同的标号。经过刚刚讲述的汇编语言程序的规则,下面我将编辑源程序的具体内容简单概述下。首先我们需要启动 KEIL 单片机集成开发环境软件,建立一个新工程 liu01.UV2,然后将上面的源程序 liu01.asm 分别导入到新建的工程中,先设置好 KEIL 工程的编译参数,编译得到 hex 格式的目标文件 liu01.hex,使用 ISP 编程器 我们将程序目标文件 liu01.he 写到 AT89S51 单片

43、机中,然后我们就可以将写好的 AT89S51 从编程器上取下,放到“ S51增强型单片机实验板 ”上通电,这时候我们想要的效果就看到了,LED1LED8 的“ 流水“ 效果尽收眼底。基于 51 单片机的 8 位流水灯控制系统17至此,流水灯的整个控制系统基本上可以宣告成功,在详细的描述了工作原理,我们还可以将发光二极管的顺序按照自己想要看到效果进行改变一下,我们先同一时间将流水灯从“左向右流 “改为从 “右向左流“,也可以改为 “两边向内流“、“内部向外流“ 很多种方式我们可以个性化按照自己要求设置,前面几个章节我们通过几种方式实现了让 LED 流水是去逐个控制 P1 端口的每个位来实现流水灯

44、效果,虽然程序感觉有些复杂,还有一种新的思路也可以编辑程序从而进行实现。另外一种程序编写的思路:我们可以让程序从一开始就给 P1 口送一个数,此数本身就让 P1.0 先降低,让其他位变高,继而在让这个数据从低向高位移动也可以实现等同的效果。例如 80c51 指令中没有出现让 P1 数据移动的任何指令,但是存在对累加器 ACC中部分数据左移或右移的指令,ACC 在指令中经常被书写为 A(英文输入法下的大写的A),累加器 A 数据左移指令为“RL A“ ,累加器数据右移指令为“RR A“,累加器在数据传输和数据处理过程中作用是极其重要的,累加器 ACC 一把宁况下为 8 位。累加器可以和单片机内部

45、所有单字节寄存器进行交换数据,实际上 P1 和其他端口在单片机中也是一个寄存器。至此我们可以将需移动的数据先放到 ACC 中,让它移动,然后将 ACC 移动之后的数据再转送到 P1 口,这种方式也是可以实现“流水”效果。基于 51 单片机的 8 位流水灯控制系统183.3 测试及结果首先把程序加载到 proteus 中的流水灯电路中,接下来我们就可以看到流水灯的工作状态,最上面一排 8 个发光二极管从左往右依次循环亮灯和灭灯,然后,从右往左依次循环亮灯与灭灯,下面一排发光二极管依次从右往左循环亮灯与灭灯,然后,从左往右依次循环亮灯和灭灯。就如下图所示 A21A03A45A76A0 A1 A2

46、A3 A4 A5 A6 A7A7 A6 A5 A4 A3 A2 A1 A0XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.011.2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T1P3.2/IN0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/142

47、7U1AT89C51R620R520R420R320R220R120R020 R720X1CRYSTALR1610kC130pfC230pfC41nF D2LE-YELOWD3LE-YELOWD4LE-YELOWD5LE-YELOWD6LE-YELOWD7LE-YELOWD8LE-YELOW D1LE-YELOWR1420R1320R1220R120R1020R920R820 R1520D10LE-YELOWD1LE-YELOWD12LE-YELOWD13LE-YELOWD14LE-YELOWD15LE-YELOW D9LE-YELOWD16LE-YELOW图 8 仿真结果上面的任何一个程序编

48、写好后,我们可以通过编译软件对程序进行编译,在得到单片机识别成功的二进制代码后,然后我们通过编程器把识别成功后的二进制代码写 AT89C51单片机中,然后连接好电路通电,LED1LED8 的“流水”效果就显现在眼前。基于 51 单片机的 8 位流水灯控制系统19实验总结基于 51 单片机的 8 位流水灯控制系统是我此次的论文设计,诚然流水灯其实就是一组普普通通灯,但是在单片机控制系统的控制下经过我们设置好的指令可以实现这些普通灯按照顺序和时间来发亮和熄灭,这两个时间在一定的时间间隔下,就会体现出我们意想不到的视觉效果,这同时也可以成为城市一道亮丽的风景。基于 51 单片机的8 位流水灯控制系统

49、主要运用的是 AT89C51 单片机,运用 AT89C51 单片机与晶振电路和复位电路进行控制发光二极管的亮灯和灭灯。经过这次论文设计,我真正的熟练了以前学过的理论知识,同时也检验了自身理论知识的掌握的正确性和实用性,还有通过这次撰写基于 51 单片机的 8 位流水灯控制系统这篇论文真正让我巩固了单片机原理、单片机设置、程序书写等这方面的专业知识,正真起到了理论知识与实践操作的完美结合。最大的收获莫过于通过此次论文设计,使我明白了要有明确且有清晰的设计思路,缜密的分析过程。在写论文之前我仅仅知识粗略的了解部分关于 AT89C51 单片机的内部结构和部分操作原理。基于 51 单片机的 8 位流水灯控制系统20致 谢时间飞逝,如过缝白驹。现如今呆坐于此,脑海中充斥着四年大学生活经历的种种片断,我却不知该言何事。是我课程上考得的高分?是我编写高效的算法?还是我四年来做过的项目?显然,这些都是肤浅的。成长总是伴随着痛苦和欢笑,谦虚和骄傲;大师的引导和内心的碰撞让我找到未来的方向和自身的价值。能加入武工院度过四年大学生活,我感到十分幸

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报