基于单片机的跑马灯控制系统设计课程设计.docx

上传人:b****3 文档编号:11716367 上传时间:2023-06-02 格式:DOCX 页数:30 大小:149.53KB
下载 相关 举报
基于单片机的跑马灯控制系统设计课程设计.docx_第1页
第1页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第2页
第2页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第3页
第3页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第4页
第4页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第5页
第5页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第6页
第6页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第7页
第7页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第8页
第8页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第9页
第9页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第10页
第10页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第11页
第11页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第12页
第12页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第13页
第13页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第14页
第14页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第15页
第15页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第16页
第16页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第17页
第17页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第18页
第18页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第19页
第19页 / 共30页
基于单片机的跑马灯控制系统设计课程设计.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的跑马灯控制系统设计课程设计.docx

《基于单片机的跑马灯控制系统设计课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的跑马灯控制系统设计课程设计.docx(30页珍藏版)》请在冰点文库上搜索。

基于单片机的跑马灯控制系统设计课程设计.docx

基于单片机的跑马灯控制系统设计课程设计

江西环境工程职业学院大专毕业生

毕业论文(毕业设计)

 

题目:

基于单片机的可控制跑马灯的设计

 

 

 

摘要

 

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

而51单片机是各单片机中最为典型和最有代表性的一种。

本课程设计是基于MCS51系列单片机所设计的,用AT89S52芯片控制跑马灯(流水灯),整个系统有8种跑马灯模式可以选择,K1是选择模式键,并将相应的模式在LED七段数码管中显示出来,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。

整个系统可以实现对跑马灯模式的多层控制,还可以进行加减速。

关键词:

MCS51、跑马灯、加减速、七段数码管

 

摘要.................................................................................................................................................2

绪论.................................................................................................................................................4

第一章本设计意义和主要任务、内容概述.............................................................................5

1.1设计内容概述....................................................................................................................5

1.2设计的主要任务................................................................................................................5

1.3设计要求............................................................................................................................5

第二章系统总体方案及硬件电路设计.....................................................................................6

2.1AT89C51的硬件结构........................................................................................................6

2.2AT89C51的工作模式.........................................................................................................9

2.3AT89C51程序存储器的加密............................................................................................10

2.4数码管显示原理...............................................................................................................10

2.5单片机控制原理...............................................................................................................12

2.6硬件电路设计...................................................................................................................13

第三章系统的软件设计..............................................................................................................14

3.1程序流程图.......................................................................................................................14

3.2定时/计数器.....................................................................................................................15

3.3程序代码...........................................................................................................................15

第四章总结................................................................................................................................16

致谢................................................................................................................................................17

附录................................................................................................................................................18

参考文献........................................................................................................................................22

 

绪论

在生活和生产的各领域中,凡是有制动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面带地下,凡是能想象到的地方几乎都有使用单片机的需求。

现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而没有实现的项目,因此,单片机的应用大有想象和拓展空间。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保真安全等。

但是单片机应用的意义绝不仅限于它的广阔范围以及所带来俄经济效益上,更重要的意义还在于:

单片机的应用正从根本上改变者传统的控制系统设计思想和设计方法。

从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件方法来实现了。

这种以软件取代硬件并提高系统系能的控制系统‘‘软化’’技术,称之为微控制技术。

微控制技术是一种全新的概念,是对传统控制技术的一次革命。

随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

在众多的微控技术中,我选择了较为熟悉的AT89Z51单片机,由于按键硬件去抖效果逊色于软件去抖,所以我选用软件去抖,根据任务书描述的功能设计的外围资源较少,而LED电路接到I0口的方法。

总体下来软、硬件都较为简易,这样设计时,成功率课大大增高。

 

第一章本设计的意义和主要任务

1.1设计内容概述

本设计选择采用AT89C51单片机为核心。

AT89C51是一个低电压、高性能CMOS8位单片机带有K字节的可反复擦写的程序存储器。

和128字节的存取数据存储器RAM,这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。

片内含有8位中央处理器和闪烁存储单位,有较强的功能的AT89C51单片机能够被应用到控制领域中

AT89C51提供以下的功能标准:

4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内振荡器和时钟电路。

另外,AT89C51还可以进行OHZ的静态逻辑操作,并支持两种软件的节电模式。

闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。

掉电方式保存随机存取数据存储器中的内容,但振荡器停止工作并禁止其它所有部件的工作直到下一个复位。

 

1.2设计任务

选择采用AT89C51单片机为核心,使用简单的程序实现跑马灯显示效果设计。

 

1.3设计要求

实现16个红色LED的亮、灭显示等。

安排3个按键,其中一个按键用于控制16只LED灯模式的输出,另二个用于控制16只LED灯速度的输出。

最后还有1个7段共阴数码管,用于显示模式,根据显示模式的变化,16只LED灯循环显示不同,还用于显示速度的大小,显示的数字越大,则16只LED灯流动的更快,否则就慢。

 

第二章系统总体方案及硬件电力设计

2.1AT89C51的硬件结构

AT89C51共有40条引脚,引脚排列如图2-1所示。

图2-1AT89C51的引脚排列图

AT89C51主要特性如下:

1.与MCS-51兼容。

2.4K字节可编程闪烁存储器。

3.寿命:

1000写/擦循环。

4.数据保留时间为10年。

5.全静态工作为OHz-24MHz。

6.三级程序存储器锁定。

7.128乘18位内部RAM。

8.32可编程I/O线。

9.两个16位定时器/计数器。

10.5个中断源。

11.可编程串行通道。

12.低功耗的闲置和掉电模式。

13.片内振荡器和时钟电路。

PO口为了一个8位漏极开路双向I/O口,每脚课吸收8TTL门电流。

当PO口的管脚第一次写1时,被定义为高阻输入。

PO能够用于外部程序数据存储器,它可被定义为数据/地址的第八位。

在FIASH编程时,PO口作为原码输入口,当FIASH进行校验时,PO输出原码,此时PO外部必须被拉高。

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器嫩接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口为一个内部上拉电阻的8位双向I/O口,P2缓冲器可接收,输出4个TTL门电流,当P2口被写‘‘1’’时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入是,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址高八位。

在给出地址‘‘1’’时它利用内部上位优势,当对外部八位地址数据存储器进行续写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入‘‘1’’后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口:

P3.0RXD(串行输入口);P3.1TXD(串行输出口);P3.2/INT1(外部中断0);P3.3/INT1(外部中断1);P3.4T0(记时器0外部输入);P3.5T1(记时器1外部输入);P3.6/WR(外部数据存储器写选通);P3.7/RD(外部数据存储器选通)。

表2-1P3口第二功能列表

端口引脚

第二功能

P3.0

RXD

P3.1

TXD

P3.2

INTO

P3.3

INT1

P3.4

T0

P3.5

T1

P3.6

WR

P3.7

RD

RST为复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ATL/PROG为当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期书出正脉冲信号,此频率为振荡器频率的1/6,因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0.此时ALE只有在执行MOVX,MOVX指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,位置无效。

 

PSEN为外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

 

EA/VPP为当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器,注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部存储器。

在FLASH编程期间,次引脚也用于施加12V编程电源(VPP)。

 

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

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

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

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

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

AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端,这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自然振动器。

外接石英晶体及电容C1,C2接在放大器的反馈回路中构成并联振荡电路。

对外接电容C1,C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。

如果使用石英晶体,我们推荐电容使用30PF+_10PF,而如果使用陶瓷振荡器建议选择40PF+-10PF。

用户也可采用外部时钟。

采用外部时钟的电路如图所示。

这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。

由于外部时钟信号是通过一个二分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。

2.2AT89C51的工作模式

AT89C51共用2种工作模式,分别为闲散节电模式和掉电模式。

下面进行介绍。

AT89C51有两种可用软件编程的省电模式,它们是闲散模式和掉电工作模式。

这两种方式是控制专用寄存器PCON中的PD和IDL位来实现的。

PD是掉电模式,当PD=1时,激活带掉电工作模式,单片机进入掉电工作状态。

IDL是闲散等待方式,当IDL=1,激活闲散工作状态,单片机进入睡眠状态。

如需要同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。

在闲散工作模式状态,中央处理器CPU保持睡眠状态,而所有片内的外设仍保持激活状态,这种方式由软件产生。

此时,片内随机存取数据存储器和所有特殊功能寄存器的内容保持不变,闲散模式可由任何允许的中断请求或硬件复位终止,终止闲散工作模式的方法有两种,一是任何一条被允许中断的事件激活,IDL被硬件清除,即刻终止闲散工作模式。

程序会首先影响中断,进入终端服务程序,执行完中断服务程序,并紧随RETI指令后,下一条要执行的指令就是使单片机进入闲散工作模式,那条指令后面的一条指令。

二是通过硬件复位也可将闲散工作模式终止,需要注意的是:

当硬件复位来终止闲散工作模式时,中央处理器CPU通常是从激活空闲模式那条指令的下一条开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期有效,在这种情况下,内部禁止中央处理器CPU访问内RAM,而允许访问其它端口,为了避免可能对端口产生的意外写入:

激活闲散模式的那条指令后面的一条指令不应是一条对端口或外部存储器的希望如指令。

在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在中指掉电模式前被冻结。

退出掉电模式的唯一方法是硬件复位,复位后将从新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效且必须保持一定时间以使振荡器从新启动并稳定工作。

闲散和掉电模式外部引脚状态如表2-2所示。

模式

程序存储器

ALE

PSEN

P0

P1

P2

P3

闲散模式

内部

1

1

数据

数据

数据

数据

闲散模式

内部

1

1

浮空

数据

地址

数据

掉电模式

外部

0

0

数据

数据

数据

数据

掉电模式

外部

0

0

数据

数据

数据

数据

表2-2闲散和掉电模式外部引脚状态

2.3AT89C51程序存储器加密

AT89C51可使用对芯片上的三个加密位LB1,LB2,LB3进行编程(P)或不编程(U)得到如表2-3所示。

程序加密位

程序加密位

程序加密位

程序加密位

保护类型

1

U

U

U

没有程序保护功能

2

P

U

U

禁止从外部程序存储器中执行MOVC指令读取内部程序指令存储器的内容

3

P

P

U

除上表功能外,还禁止程序校验

4

P

P

P

除以上功能外,同时禁止外部执行

表2-3程序加密位的配置工作,被锁存的EA电平与这个引脚当前辑电平一致。

机密位只能通过整片擦除的方法清除

当LB1被编程时,在复位期间,EA端的电平被锁存,如果单片机上电后一直没有复位,锁存起来的初始值是一个不确定数,这个不确定数会一直保存到真正位置。

为了是单片机正常2.4数码管显示原理

数码管实际上是由7个发光管组成8节字形构成的,加上小数点就是8个,我们分别把它们命名为a、b、c、d、e、f、g。

图2-2数码管内部结构图

假设我们显示一个数字2,那么a、b、g、e、d这5个段的发光管两就可以了,c、f、h不亮,同时由于接法为共阴接法,那么为低电平时灭,为高电平是亮。

从高往低排列,P1.7-P1.0写成二进制为01011011,把他转化为16进制则为0x5b。

我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。

显示

P聱1.7小数点

P1.6g

P1.5小f

P1.4e

P1.3d

P1.2c

P1.1b

P1.0a

16进制代码

0

0

0

1

1

1

1

1

1

0x3f

1

0

0

0

0

0

1

1

0

0x06

2

0

1

0

1

1

0

1

1

0x5b

3

0

1

0

0

1

1

1

1

0x4f

4

0

1

1

0

0

1

1

0

0x66

5

0

1

1

0

1

1

0

1

0x6d

6

0

1

1

1

1

1

0

1

0x7d

7

0

0

0

0

0

1

1

1

0x07

8

0

1

1

1

1

1

1

1

0x7f

9

0

1

1

0

1

1

1

1

0x6f

a

0

1

1

1

0

1

1

1

0x77

b

0

1

1

1

1

1

0

0

0x7c

c

0

0

1

1

1

0

0

1

0x39

d

0

1

0

1

1

1

1

0

0x5e

e

0

1

1

1

1

0

1

1

0x7b

f

0

1

1

1

0

0

0

1

0x71

-

0

1

0

0

0

0

0

0

0x40

表2-4共阴极数码管显示

数码管的接口有静态和动态两种接口。

静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接VCC,本次课程设计由于所需数码管较多,故不可用些种方法接线。

这种接法占用接口多,仅能接少量数码管。

动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一个接口完成各数码管的轮流点亮,本设计采用此方法。

 

2.5单片机控制原理

图2-5可调控的跑马灯电路原理图

 

2.6硬件电路设计

本设计使用AT89C51芯片作为控制芯片,利用P0口和P1口共连接16个发光二极管,且P0口还连接了一个7段数码管,还有P2口1脚、2脚、3脚分别连接了3个按键。

按键是用来控制跑马灯的显示模式和跑马灯的运行速度,数码管是用来显示跑马灯运行模式,应用PROTEUS软件画出电路原理图如2-6所示。

 

图2-6所示可以调控的跑马灯原理图

 

第三章系统的软件设计

由设计给出的功能要求,并结合硬件电路图设计和资源分配,来进行软件设计。

步骤为先画出软件流程,然后根据流程图在Keiluvision3开发环境下使用C语言进行编写代码和仿真调试,最后在手中已有的51开放板上进行脱机实验。

进过不断修改之后,代码趋于完善。

3.1程序流程图

图3-1所示程序流程图

3.2定时/计数器

可调控的跑马灯其实就是一个计数器,本次论文设计就是利用单片机中的定时/计数器来实现其计数模式的功能。

在51单片机中有两个16位的定时/计数器To,T1,分别由THo、TL1和TH1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2