单片机课程设计花样流水灯.docx

上传人:b****3 文档编号:4923545 上传时间:2022-12-11 格式:DOCX 页数:23 大小:343.16KB
下载 相关 举报
单片机课程设计花样流水灯.docx_第1页
第1页 / 共23页
单片机课程设计花样流水灯.docx_第2页
第2页 / 共23页
单片机课程设计花样流水灯.docx_第3页
第3页 / 共23页
单片机课程设计花样流水灯.docx_第4页
第4页 / 共23页
单片机课程设计花样流水灯.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

单片机课程设计花样流水灯.docx

《单片机课程设计花样流水灯.docx》由会员分享,可在线阅读,更多相关《单片机课程设计花样流水灯.docx(23页珍藏版)》请在冰豆网上搜索。

单片机课程设计花样流水灯.docx

单片机课程设计花样流水灯

郑州华信学院

课程设计任务书

题目:

花样流水灯设计

专业、班级11电气工程及其自动化

(1)

学号**********姓名汪志杰

主要内容、基本要求、主要参考资料等:

主要内容:

利用单片机控制16个发光二极管模拟的彩灯按照一定的规律点亮、熄灭、闪烁。

基本要求:

1.实现发光二极管的多样化显示;

2.利用proteus软件完成设计电路和仿真;

3.掌握相关芯片和电子元件的使用方法;

4.通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实践能力和理论联系实际的能力。

主要参考资料:

[1]李全利,单片机原理及接口技术[M],高等教育出版社

[2]王文杰,单片机应用技术[M],冶金工业出版社

[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社

[4]单片机实验指导书,天煌教仪

[5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社

 

完成期限:

指导教师签名:

课程负责人签名:

年月日

郑州华信学院

课程设计说明书

 

题目:

花样流水灯设计

 

******

院(系):

机电工程学院

专业班级:

11电气工程及其自动化

(1)班

学号:

**********

*******

 

成绩:

 

时间:

2013年12月17日至2013年12月28日

summary2

摘要

随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。

LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。

这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。

此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

因此有必要对现有的彩灯控制器进行改进。

流水灯是一串按一定的规律像流水一样连续闪亮。

流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。

流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。

通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。

本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。

关键词:

AT89C51,LED灯,单片机,花样流水灯

Summary

Withthecontinuousimprovementofpeople'slivingenvironmentandlandscaping,inmanycasesyoucanseethechangingcolorneonlightsflashing.LEDlamplightingbecauseofitsrichcolor,lowcostandsimplecontrolfeaturesandhasbeenwidelyusedtodecoratethestreetswithlightsandcitybuildingshasbecomeafashion.However,LEDlightcontrolleronthemarketmostofeachdesignwithfullhardwarecircuit,thecircuitstructureiscomplex,singlefunction,sothatoncetheproductionoffinishedproductsonlyinaccordancewithafixedpatternshiny,cannotbebasedondifferentoccasionsrequiredifferenttimeperiodsadjustthedynamicparametersofthelightingtime,mode,blinkfrequency.Thislanterncontrollerstructurestendtohavetoomanychips,circuitcomplexity,powerconsumptionandothershortcomings.Inaddition,fromthepointofviewfunctionaleffects,lightingpatternsandstyleslessmonotonous,lackofuseroperability,theimpactoflightingeffects.Thereforeitisnecessarytoimprovetheexistinglanterncontroller.

Isaseriesoflightwateraccordingtocertainruleslikewatercontinuouslyflashing.Lightwatercontrolisanapplicationoftheprogrammablecontroller,whichcontrolsthethinkinginthefieldofindustrialcontroltechnologyisalsoapplicable.Lightwatercontrolavarietyofmethodsareavailable,butthemodernprogrammablecontroller,theuseofshiftregisterstoachievethemostconvenient.Usuallyregistersinonedirectionlefttomovethelamp;achievetwo-waymobilelampswithbi-directionalshiftregister.InthiscasetheuseofinexpensivemicrocontrollerAT89C51seriesLEDbulbstoachievearichcolorvariation.

Keywords:

AT89C51,LEDlights,microcontroller,synchronizedlightwater

 

1课程设计的目的和要求

1.1设计目的

近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。

流水灯,可以更简单、方便的使用。

通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。

培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。

1.2设计要求

设计流水灯的基本要求:

设计一个流水灯,应用AT89C51试验系统,电路开启后红、绿两种颜色的灯在时钟信号作用下按一定规律转换状态。

2总体设计

2.1硬件总体设计

2.1.1设计思想

整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,进入用户设定模式状态。

基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。

本方案以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。

在主控模块上设有晶振电路和16个LED显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。

2.1.2原件清单

2.1.3模块分析

(1)核心部件

89C51单片机是整个彩灯循环系统的核心是控制彩灯循环闪烁等等一切功能的部件;其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

(2)复位系统

电路中C1、R2……组成复位电路,它的作用是将单片机内部特殊功能寄存器和端口寄存器恢复到初始状态,从内部FLASH存储器的初始状态开始执行

(3)震荡系统

单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。

而时钟电路就用于产生单片机工作所需要的时钟信号。

(4)闪烁系统

利用单片机的P口控制:

LED的发光闪烁,再利用编程实现流水灯的电路,用软件来实现对LED的控制,每个LED接一个限流电阻,来控制流入LED发光管的电流。

图2-1硬件系统方框图

2.2软件总体设计

用查表的方法控制点亮流水灯,即移位的思想

0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左边单个点亮

0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;//右边逐个点亮

0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左边逐个熄灭

0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右边单个点亮

0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;//左边逐个点亮

0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右边逐个熄灭

0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左边逐两个点亮

0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;//右边逐两个点亮

0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;//左边逐三个亮

0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;//右边逐三个亮

3硬件设计

3.1AT89C51单片机的硬件结构

由图3-1可以看出,单片机内部主要包含下列几个部件:

      一个8位CPU;

      一个时钟电路;

      4Kbyte程序存储器;

      128byte数据存储器;

      两个16位定时/计数器;

      64Kbyte扩展总线控制电路;

      四个8-bit并行I/O端口;

      一个可编程串行接口;

      五个中断源,其中包括两个优先级嵌套中断。

图3-1AT89C51硬件结构框图

3.1.1主要特性

AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。

片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。

因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。

3.1.2主要引脚功能

1.电源引脚Vcc和Vss

Vcc:

电源端,接+5V。

Vss:

接地端。

通常在Vcc和Vss引脚之间接0.1μ高频滤波电容。

2.时钟电路引脚XTAL1和XTAL2

XTAL1:

接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。

XTAL2:

接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。

3.地址锁存允许ALE

在系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。

当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6的固定频率向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。

4.外部程序存储器读选通信号

是读外部程序存储器的选通信号,低电平有效。

CPU从外部存储器取指令时,它在每个机器周期中两次有效。

5.程序存储器地址允许输入端

/VPP

为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。

为低电平时,CPU只执行片外程序存储器指令。

对于8031,由于其无片内ROM,故

必须接低电平。

6.复位信号RST

该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。

此外,该引脚还有掉电保护功能,若在该端接+5V备用电源,在使用中若Vcc掉电,可保护片内RAM中信息不丢失。

7.输入/输出口引脚P0、P1、P2和P3

P0口(P0.0~P0.7):

该端口为漏极开路的8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线的复用端口。

P1口(P1.0~P1.7):

它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。

P2口(P2.0~P2.7):

它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。

在访问外部程序存储器时,它作存储器的高8位地址线。

P3口(P3.0~P3.7):

P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。

3.1.3外部总线结构

所谓总线,就是连接单片机与各外部器件的一组公共的信号线。

当系统要求扩展时,单片机要与一定数量的外部器件和外围设备连接。

如果各部件及每一种外围设备都分别用各自的一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。

为了简化硬件电路的设计和系统结构,常用一组线路,并配以适当的接口电路来与各个外部器件和外围设备连接,这组共用的连接线路就是总线。

采用总线结构便于扩展外部器件和外围设备,而统一的总线标准则使不同设备间的互连更容易实现。

利用片外引脚可以构造MCS-51系列单片机的三总线结构。

单片机的引脚除了电源端VCC、接地端VSS、复位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0~P1.7以外,其余的引脚都是为实现系统扩展而设置的。

用这些引脚构造的单片机系统的三总线结构如图3-2所示。

图3-2MCS-51系列单片机片外三总线结构

(1)地址总线(AddressBus,AB):

MCS-51系列单片机总共有16根地址线A15~A0,片外存储器可寻址范围达64KB(216=65536字节),由P2口直接提供高8位地址A15~A8,P0口经地址锁存器提供低8位地址A7~A0。

(2)数据总线(DataBus,DB):

MCS-51系列单片机总共有8根数据线D7~D0,全由P0口提供。

由于P0口是分时复用总线,分时输送低8位地址(通过地址锁存器锁存)和高8位数据信息。

(3)控制总线(ControlBus,CB):

控制总线由P3口的第二功能

(P3.6)、

(P3.7)和3根独立的控制线

、ALE、

组成。

3.1.4振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度

3.1.5芯片擦除

AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2硬件电路设计

3.2.1复位电路

如图3-2所示,当要对晶片重置时,只要按此开关就能完成LED和开关的重置。

复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。

单片机的RST管脚为主机提供了一个外部复位信号输入口。

复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。

单片机的复位方式可由手动复位方式完成。

RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4μS以上才能完成复位操作。

图2.10中,在通电瞬间,由于RC的充电过程,在RST端出现一定宽度的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位

图3-3复位信号输入端

CPU在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。

在单片机复位期间,AlE和

信号都不产生。

复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器状态如表3-1。

表3-1部分专用寄存器复位状态

寄存器

寄存器

PC

0000H

ACC

00H

B

00H

PSW

00H

SP

07H

DPTR

0000H

P0~P3

0FFH

IP

XXX00000

IE

0XX00000

TMOD

00H

TCON

00H

TL0,TL1

00H

TH0,TH1

00H

SCON

00H

SBUF

不定

PCON

0XXX0000

上电瞬间由于电容C上无储能,其端电压近似为零,RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,当RST引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。

只要高电平能保持复位所需要的时间(约两个机器周期),单片机就能实现复位。

3.2.2震荡电路

为彩灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉冲。

这时外部的脉冲信号是经单片机89C51的XTAL2引脚注入的;在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。

晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。

由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。

如图3-3所示

 

图3-4震荡电路

   晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。

时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。

CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

MCS-51单片机时钟电路示意图如图4所示。

图3-5MCS-51单片机时钟振荡电路示意图

振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。

振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。

片内时钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。

在图3-4中,使用晶体振荡器时,C1、C2取值30±10pF;使用陶瓷振荡器时,C1、C2取值40±10pF。

C1、C2的取值虽然没有严格的要求,但电容的大小影响振荡电路的稳定性和快速性,通常取值20~30pF。

在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。

也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。

这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接地。

对外部信号的占空比没有要求,但高低电平持续的时间不应小于20ns。

这种方式常用于多块芯片同时工作,便于同步。

其外部脉冲接入方式如图3-6所示。

图3-6MCS-51单片机外部时钟输入接线图

 

所谓时序,是指在指令执行过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的先后关系。

CPU发出的控制信号有两类:

一类是用于单片机内部的,用户不能直接接触此类信号,不必对它作过多了解;另一类是通过控制总线送到片外的,人们通常以时序图的形式来表示相关信号的波形及出现的先后次序。

为了说明信号的时间关系,需要定义时序单位。

89C51的时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。

如图3-4所示。

3.2.3LED电路显示

如图所示,P0口控制LED灯D1~D8的显示,P2口控制LED灯D10~D17的显示。

限流电阻为470欧姆,经过的电流大概为10mA。

 

4软件设计

4.1主程序设计

voidmain()

{

uchari;//定义一个无符号字符型局部变量i

while

(1)

{//从数组中读取数据送至P0和P2口显示

for(i=0;i<136;i++)//加入for循环,共136个流水灯控制码,大括号中的程序循环执行136次

{

P0=Pattern_P0[i];//数组控制流水灯亮暗

P2=Pattern_P2[i];

DelayMS(100);//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定

}

}

4.2子程序设计

//延时

voidDelayMS(uintx)

{

uchari;

while(x--)

{

for(i=0;i<120;i++);

}}

4.3流水灯控制码程序设计

设计两个数组分别存储红灯和绿灯的流水灯控制码,让后用查表的方式点亮流水灯,主要代码如下:

ucharcodePattern_P0[]=

{

0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1