课程设计(论文)-利用8255A芯片实现流水灯闪烁设计

上传人:aa****6 文档编号:30009444 上传时间:2018-01-26 格式:DOC 页数:22 大小:611.50KB
返回 下载 相关 举报
课程设计(论文)-利用8255A芯片实现流水灯闪烁设计_第1页
第1页 / 共22页
课程设计(论文)-利用8255A芯片实现流水灯闪烁设计_第2页
第2页 / 共22页
课程设计(论文)-利用8255A芯片实现流水灯闪烁设计_第3页
第3页 / 共22页
课程设计(论文)-利用8255A芯片实现流水灯闪烁设计_第4页
第4页 / 共22页
课程设计(论文)-利用8255A芯片实现流水灯闪烁设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《课程设计(论文)-利用8255A芯片实现流水灯闪烁设计》由会员分享,可在线阅读,更多相关《课程设计(论文)-利用8255A芯片实现流水灯闪烁设计(22页珍藏版)》请在金锄头文库上搜索。

1、利用 8255A 芯片实现流水灯闪烁设计- 1 -目录摘要2第 1 章 利用 8255A 芯片实现流水灯闪烁设计的概述2第 2 章 三种方案的 论述与最终方案的确定22.1 第一种方案的论述22.2 第二种方案的论述52.3 第三种方案 (最终方案) 的论证10第 3 章 测试结果及体会心得 13第 4 章 致谢14第 5 章 参考文献 14附录 1 方案一 Proteus 仿真电路效果图15附录 2 方案一 源程序代 码16附录 3 方案二 Proteus 仿真电路效果图18附录 4 方案二 源程序代 码19附录 5 方案三(最终方案) Proteus 仿真电路效果图20附录 6 方案三(最

2、终方案) 源程序代码21利用 8255A 芯片实现流水灯闪烁设计- 2 -摘要:8255A 是一种通用的可编程并行 I/O 接口芯片(Programmable Peripherial Interface) ,它是为Inter 系列微处理器设计的配套电路,也可用于其它微处理器系统中。通过对它进行编程,芯片可工作于不同的工作方式。此次课程设计的目的就是利用端口和 8255 协同工作来实现 LED 显示功能,对 8255A 芯片进行编程使流水灯左移或右移,通过延时程序使流水灯进行顺序点亮。通过这次课程设计掌握 8255A 的功能特点、工作原理以及显示器接口的基本原理与方法技术。关键词:8086 芯片

3、 AT89C51 单片机 8255A 芯片 LED 流水灯第 1 章 利用 8255A 芯片实现流水灯闪烁设计的概述流水灯在日常的生活中有着广泛的应用,例如,许多楼面上的彩灯广告就是应用了流水灯设计。此次的课程设计的题目是利用了端口和 8255A 协同工作来实现 LED 显示功能,编写程序,使用 8255 的 A 口和 B 口均为输出,接 8 个或 16 个发光二极管,实现流水灯的显示效果。在实验中 8255A 的 A 和 B 两个端口不能同时赋值,从而我们可以用通用寄存器 BX 对所需要赋值的数据进行存储,因为 BX 可以分从高 8 位寄存器 BH 和低 8 位寄存器 BL 两部分进行独立的

4、操作,我们用寄存器 BH 对 A 口进行赋值,用寄存器 BL 对 B 口进行赋值,通过延时一段时间再对 BH和 BL 进行移位和输出,实现了流水灯的效果。第 2 章 三种方案的 论述与最终方案的确定2.1 第一种方案的 论述第一种方案,我们使用了 8086CPU 芯片与 8255A 芯片一起实现了流水灯闪烁的设计,同时还使用了地址锁存器 74LS373 芯片。74ls373 是常用的地址锁存器芯片,它是一个是带三态缓冲输出的 8D 触发器,在单片机系统中为了扩展外部存储器,通常需要一块 74ls373 芯片。在方案一中,当 8086CPU 的引脚 ALE(地址锁存允许信号,输出,高电平有效,用

5、作地址锁存器74LS373 的锁存控制信号)处于下降沿时将 8086CPU 输出的地址信息进行锁存,以定义8255A 的工作方式。下面先对 74LS373 芯片进行简介:1.地址锁存器 74LS373 的内部电路与工作原理利用 8255A 芯片实现流水灯闪烁设计- 3 -引脚功能图注:管脚引出端功能符号:D0D7 数据输入端 OE 三态允许控制端(低电平有效)Q0 Q7 输出端 LE 锁存允许端74373 三态缓冲输出的 8D 锁存器(3S,锁存允许输入有回环特性),其输出端 Q0Q7 可直接与总线相连,74LS373 的 LE 端直接与 8086CPU 的 ALE 信号连接。1 脚是三态允许

6、控制端 (OE),是低电平有效。当 1 脚是高电平时,不管输入 3(D0)、4(D1)、7(D2)、8(D3)、13(D4)、14(D5) 、17(D6)、18(D7)如何,也不管 11 脚(LE 锁存允许端)如何,输出 2(Q0)、 5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7) 全部呈现高阻状态(或者叫浮空状态) 。当 1 脚是低电平时,只要 11 脚(LE 锁存允许端)上出现一个下降沿,输出 2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5) 、16(Q6)、19(Q7)立即呈现输入脚 3(D0)、4(D1) 、7(D2

7、)、8(D3)、13(D4)、14(D5) 、17(D6)、18(D7)的状态。11 脚是锁存允许端(LE),当 LE 由高变低时,输出端 8 位信息被锁存,直到 LE 端再次有效。 当三态允许控制端 OE 为低电平时,三态门导通,允许 Q0Q7 输出,OE 为高电平时,输出悬空。当 74LS373 用作地址锁存器时,应使 OE 为低电平,此时锁存使能端 C 为高电平时,利用 8255A 芯片实现流水灯闪烁设计- 4 -输出 Q0Q7 状态与输入端 D1D7 状态相同;当 LE 发生负的跳变时,输入端 D0D7 数据锁入 Q0Q7。2.方案一的工作流程简述电路图硬件连接:硬件连线图注:8086

8、CPU 芯片与 74LS373 芯片在方案一中视为 PC 总线接口模块 8255A 的引脚 WR(写选通信号)、 RD(读选通信号)分别连到 PC 总线接口模块的WR 端口、RD 端口。 8255A 的数据端( AD0AD7)、地址线(A0A1)分别连到 PC 总线接口模块的数据线(D0D7)、地址线( A1A2)。 8255 模块选通线 CS 连到 PC 总线接口模块的 IOY1(CS 片选信号,低电平有效,由地址总线经 I/O 端口译码电路产生)。 8255 的 PA0PA7 连到发光二极管的 L1L8;8255 的 PB0PB7 连到发光二极管的L9L16。程序流程简述:8255A 的片

9、选信号 CS 与地相连,处于低电平有效状态, 8086CPU 与 8255A 之间始终保持通信,8086CPU 对 8255A 进行读/写等操作。当 8086CPU 的地址锁存信号 ALE 处于高电平有效时,在 T1 状态,8086CPU 通过地址/数据总线上传送地址信息,在 ALE 的下降沿将地址信息锁存到地址锁存器 74LS373 中,定义了 8255A 的工作方式,使其 A 口和 B 口为输出口,定利用 8255A 芯片实现流水灯闪烁设计- 5 -义了 8255A 各端口地址。8086CPU 先后写 A、B 口的起始数据,并调用延时子程序点亮 A 口灯、B 口灯。然后分别调用左移、右移指

10、令将 A 口起始数据左移再写入 A 口、B 口起始数据右移再写入 B 口,点亮下一站盏灯,以此循环实现流水灯效果。程序框图结论:第一种方案虽然实现了流水灯闪烁效果,但由于 8086CPU 芯片所需的程序无法通过KC51 实现编程,不能达到本次课程设计的培训目的,即对单片机的程序编程进行训练掌握,要求较高,方案实现的难度较大,所以我们没有把方案一作为最终方案。2.2 第二种方案的 论述第二种方案,我们使用了 AT89C51 单片机实现了流水灯闪烁设计。AT89C51 单片机是美国 ATMEL 公司生产的低电压、高性能 CMOS 8 位单片机,具有丰富的内部资源:4kB 闪存、128BRAM、32

11、 根 I/O 口线、2 个 16 位定时/计数器、5 个向量两级中断结构、2 个全双工的串行口,具有 4.255.50V 的电压工作范围和 024MHz 工作频率,使用 AT89C51 单片机时无利用 8255A 芯片实现流水灯闪烁设计- 6 -须外扩存储器。因此,方案二中设计的流水灯实际上是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。下面先对 AT89C51 单片机进行简介:1. AT89C51 单片机的简介AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4K bytes的可反复

12、擦写的只读程序存储器(PEROM)和 128 bytes 的随机存取存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用8 位中央处理器( CPU)和 Flash 存储单元,功能强大 AT89C51 单片机可以提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89C51 管脚分布注:管脚引出端功能符号:VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定

13、义为数据/地址的第八位。在 FIASH 编程时,P0 口利用 8255A 芯片实现流水灯闪烁设计- 7 -作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当

14、 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口。 P3 口同时为闪烁编程和编程校验接收一些控制信号。P3 口管脚备选功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 / INT0(外部中断 0)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号