基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx

上传人:b****1 文档编号:2414237 上传时间:2022-10-29 格式:DOCX 页数:21 大小:765.27KB
下载 相关 举报
基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx_第1页
第1页 / 共21页
基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx_第2页
第2页 / 共21页
基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx_第3页
第3页 / 共21页
基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx_第4页
第4页 / 共21页
基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx

《基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx》由会员分享,可在线阅读,更多相关《基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx(21页珍藏版)》请在冰豆网上搜索。

基于8255扩展的多模式跑马灯设计毕业设计论文 精品.docx

基于8255扩展的多模式跑马灯设计毕业设计论文精品

基于8255扩展的多模式跑马灯设计

一、设计目的

为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。

通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

1、通过本设计,使学生综合运用《单片机技术原理与应用》、《DSP原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。

2、学会使用KEILC和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。

3、了解单片机接口应用开发的全过程:

分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。

二、设计内容与要求

内容:

用8155或8255扩展IO实现16个LED的跑马灯,提供多种跑马灯运行模式。

要求:

1、掌握原理图画法,在PROTEUS平台上用单片机完成所选题目的原理图设计。

2、在KEILC平台上使用C语言编程实现编程,并调试通过。

3、在PROTEUS平台上利用设计好的原理图和调试好的程序完成整个仿真。

4、按设计报告要求完成课程设计报告。

三、系统总体设计

3.1、问题分析

本次课程设计的题目是单片机课程设计,根据我们所学的单片机知识和本次课设的内容要求,我们知道虽然在80C52系列单片机中,有四个8位I/O端口,但真正能够提供给用户使用的只有P1口,因为P0口和P2口通常需要用来传送外部存储器的地址和数据,P3口也需要使用它的第二功能。

因此,单片机提供给用户的I/O接口线并不多,对于复杂的一些的应用系统都应该进行I/O口的扩展。

而本次课设又要求跑马灯有多种运行模式,而这些操作模式可以完全由8255的控制寄存器的控制字决定。

利用8255的控制字模式来定义8255输出口的个数,驱动所需的LED灯的个数,从而实现课设的目的。

3.2、方案提出

本次课程设计的内容是用8155或8255扩展I/O实现16个LED的跑马灯,并且要提供多种跑马灯运行模式。

基于这一设计内容和上面的问题分析,我提出利用AT89C52驱动扩展8255数据输出口来实现16个LED跑马灯的显示,并且利用AT89C52的外围按键电路(设置三个按按键,其中一个按键用于控制16只LED灯模式的输出,另两个用于控制16只LED灯速度的输出。

)实现16个LED的不同运行模式。

3.3、设计思路

根据以上方案,AT89C52的P2.5--P2.7三个接口接按键电路,不论加速、减速还是运行模式都是由单片机内部的程序控制;P0口接7段共阳数码管,用来显示跑马灯的9种不同运行模式;P0口接8255的输入口D0--D7;8255的PA、PB口外接16个LED,通过程序控制这两个端口的电平高低,将16个LED的正极接+5V电源,负极接PA和PB口,即PA和PB口的相应端口为高电平时,LED的两端都为高电平,所以LED不亮,当LED的相应端口为低电平时就能被点亮。

再通过程序循环让各个LED以不同的方式被点亮来达到跑马的效果,并且其中要有一定的延时,延时时间要大于人眼视觉暂留时间,否则人眼看上去每个灯都是亮的也就没有跑马效果。

3.4、系统总体框图

图1系统总体框图

四、系统硬件设计

4.1、整体电路设计

4.1.1、电路设计及功能

本设计采用AT89C52驱动可编程接口芯片8255的扩展来实现LED的多种显示模式。

让AT89C52芯片的P0口与8255芯片的三态双向数据总线D0--D7连接,实现数据传送。

当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

8255的地址选择线A1、A0分别与AT89C52的P2.1和P2.0连接,通过定义不同的地址来选择8255芯片的PA口或PB口工作。

读写命令线分别与单片机的读写命令线相连,片选线和复位线直接接地。

同时16个LED灯的左侧8个从左到右依次与PA7--PA0口相连,右侧8个从左到右也依次与PB7--PB0口相连,通过K1按键可以选择不同的运行模式,通过K2、K3按键可以选择不同的速度,本次设计实现了9种跑马灯的运行模式。

4.1.2、硬件原理框图

图2硬件原理框图

4.1.3、电路原理图

图3电路原理图

4.2、单元电路设计

4.2.1、单片机最小系统

1、方案设计与论证

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。

对51系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路、电源电路。

本设计没有用到晶振电路。

无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。

而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。

2、复位电路设计

无论是在单片机刚开始接上电源时,还是运行过程中发生故障时都需要复位。

复位电路用于将单片机内部各状态恢复到一个确定的初始值,并从这个状态开始工作。

单片机的复位条件:

必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。

单片机的复位形式:

上电复位、按键复位。

上电复位电路中,利用电容充电来实现复位。

在电源接通瞬间,RST引脚上的电位是高电平,电源接通后对电容进行快速充电,随着充电的进行,RST引脚上的电位也会逐渐下降为低电平。

只要保证RST引脚上高电平出现的时间大于两个机器周期,便可以实现正常复位。

按键复位电路中,当按键没有按下时,电路同上电复位电路。

如在单片机运行过程中,按下复位键K4,已经充好电的电容会快速通过200Ω电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复位的条件实现按键复位。

本设计采用按键复位。

图4复位电路图

3、芯片简介

  AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

图5AT89C52引脚排列图

4.2.2、按键电路设计

1、方案设计与论证

按键电路主要向AT89C52单片机发送动作信息来控制整个系统。

K1是选择模式键,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。

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

模式、加速、减速分别接P2.5、P2.6、P2.7口,再通过按键接地。

当按键按下时向单片机发送低电平信号,当单片机采集到低电平信号时,启动中断进而转向处理相应的中断处理程序,实现预期的功能。

基于本设计要求选择的按键是不带锁存的,向单片机发开关信号,即低电平信号。

图6按键电路图

4.2.3、显示电路设计

1、LED显示部分

显示部分用16个发光二极管分别接在PA和PB口,通过程序控制PA和PB的16个端口按照一定的方式依次为低电平以点亮相应端口的LED。

图7LED显示电路图

2、数码管显示部分

选取共阳极数码管,它有7段每段都有一个引脚,通过单片机的I/O口向其写低电平并用电阻限流就可以点亮相应的段,通过0--9十进制编出相应的数码显示数字编码。

本设计数码管显示的模式共9种,相应模式由数码管显示出来,每当模式按钮按下时,相应的模式加一,数码管显示相应模式。

共阳数码管简介:

 

图8数码管引脚图

表1常用字符的八段显示码

图9数码显示电路图

4.2.4、I/O扩展

本设计采用8255进行I/O口扩展。

8255的地址选择线A1、A0分别与AT89C52的P2.1和P2.0连接,当A1A0=00时,选择PA口工作,当A1A0=01时,选择PB口工作。

读写命令线分别与单片机的读写命令线相连,片选线和复位线直接接地。

8255芯片简介如下:

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

8255引脚功能:

RESET:

复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:

芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。

RD:

读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:

写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。

D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在以下三种方式下工作:

方式0——基本输入输出方式;方式1——选通输入/出方式;方式2——双向选通输入/输出方式。

PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

工作于三种方式中的任何一种。

PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

不能工作于方式二。

PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

不能工作于方式一或二。

A1、A0:

地址选择线,用来选择8255的PA口、PB口、PC口和控制寄存器。

当A1=0、A0=0时,PA口被选择;

当A1=0、A0=1时,PB口被选择;

当A1=1、A0=0时,PC口被选择;

当A1=1、A0=1时,控制寄存器被选择。

 

五、系统软件设计

5.1、程序流程图

程序设计思路:

主程序中默认执行0模式跑马灯。

在中断服务程序中,首先读取按键状态,然后延时10ms,再次读取按键状态。

把两次获得的按键状态比较,如果不同,就表示是抖动,退出中断;否则,就去判断是哪个按键按下。

如果是K1,就执行下一个跑马模式;如果是K2,就执行跑马加速;如果是K3,就执行跑马减速。

图10主程序流程图

图11中断子程序流程图

5.2、算法

1、程序的开始,先包含相应函数的头文件名,再定义8255控制字、PA口、PB口以及各个参数和及各个位等。

2、编译三个函数,分别是voidDelay()函数、voidLed_Display()函数和voidKeyProcess()函数,它们依次是延时函数、LED显示函数和按键处理函数。

3、主函数中,开中断,启动定时器,设置8255的PA、PB口为输出口,并且用while

(1)函数进行按键的判断和处理。

4、延时函数中,使用while()和for(;;;)构成的嵌套函数来达到延时的目的。

5、LED显示函数中,让PA

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

当前位置:首页 > 求职职场 > 面试

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

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