基于8255扩展的多模式跑马灯设计毕业设计论文 精品Word文件下载.docx
- 文档编号:15331238
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:21
- 大小:765.27KB
基于8255扩展的多模式跑马灯设计毕业设计论文 精品Word文件下载.docx
《基于8255扩展的多模式跑马灯设计毕业设计论文 精品Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于8255扩展的多模式跑马灯设计毕业设计论文 精品Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
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、按键电路设计
按键电路主要向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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于8255扩展的多模式跑马灯设计毕业设计论文 精品 基于 8255 扩展 模式 跑马 设计 毕业设计 论文