流水灯控制系统设计.docx
《流水灯控制系统设计.docx》由会员分享,可在线阅读,更多相关《流水灯控制系统设计.docx(17页珍藏版)》请在三一文库上搜索。
1、第1章方案的论述以及与最终方案确实定1-1.1 第一种方案的论述-1-1.2 第二种方案的论证-I-1.3 第三种方案的论述-1-1.4 最终方案确实定-1-第2章硬件设计22.1 总体方案设计分析-2-2.2 系统逻辑框图-2-2.3 主要元器件简介-2-2.3.1 8086CPU-2-地址锁存器74LS373的内部电路与工作原理3-可编程外围接口芯片8255A的简介4第3章软件设计63.1 程序流程设计-6-主程序流程6-程序流程图7系统硬件连接图-8源程序设计(附录)8-3.2 设计最终理想结果及原理-8-左向移动流水灯-8-右向移动流水灯8设计心得.9参考文献10-附录H-第1章方案的
2、论述以及与最终方案确实定1.1 第一种方案的论述第种方案,使用AT89C51单片机实现流水灯闪烁设计。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.255.5OV的电压工作范围和024MHZ工作频率,使用AT89C51单片机时无须外扩存储器。因此,方案一中设计的流水灯实际上是一个带有八个发光二极管的单片机最小应用系统,即由发光二极管、晶振、复位、电源等电路和必要软件组成的单个单片机。1.2 第二种方案的论证第二种方案,我们
3、使用了AT89C51单片机与8255A芯片一起实现了流水灯闪烁的设计。74LS373是常用的地址锁存器芯片,它是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块741s373芯片。我们了解到741s373是常用的地址锁存器芯片,它是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块741s373芯片。1.3 第三种方案的论述第三种方案,使用8086CPU芯片并行8255A芯片一起实现了流水灯闪烁的设计,同时还使用了地址锁存器74LS373芯片。从前两种方案中,我们分别熟悉与掌握了地址锁存器74LS373芯片和8086CPU。在方案中
4、当8086CPlJ的引脚ALE处于下降沿时将8086CPU输出的地址信息进行锁存,以定义8255A的工作方式。在方案中,我们将详细地介绍8255A的内部电路、功能特点、工作原理以及在电路中的功能扩展与应用,这也是我们这次课程设计中一个需要重点掌握的芯片。1.4最终方案确实定通过课程设计的要求和以上的论证,我们决定采用第三种方案,即以8086CPU为核心、并行接口芯片8255A和3个逻辑电平开关设计多路流水灯控制程序。第2章硬件设计2.1 总体方案设计分析在本实验中要求用8255A的B口做为输出,接8个发光二极管,从而实现8位流水灯的显示效果,根本的接线可以如下列图所示。在C口的低三位接3个逻
5、辑电平开关,实现3个扩展功能的控制,在PB0-PB7口分别对应的接八个发光二极管。8个发光二极管竖向安放,自上到下对应两种模拟流水形式的自左到右。2.2 系统逻辑框图图2.1系统逻辑框图2.3 主要元器件简介2.3.1 8086CPUIntel8086是一个由InteI于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久,Intel8088就推出了,拥有一个外部的8位数据总线,允许廉价的芯片用途。它是以8080和8085的设计为根底,拥有类似的存放器组,但是数据总线扩充为16位。总线界面单元(BUSInterfaceUnit)透过6字节预存(prefecth)的队列(queue)喂
6、指令给执行单元(ExecutionUnit),所以取指令和执行是同步的,8086CPU有20条地址线,可直接寻址IMB的存储空间,每一个存储单元可以存放一个字节18位)二进制信息。图2.28086CPU外部引脚图2.38086CPU内部结构框图Intel8086拥有四个16位的通用存放器,也能够当作八个8位存放器来存取,以及四个16位索引存放器(包含了堆栈指标)。资料存放器通常由指令隐含地使用,针对暂存值需要复杂的存放器配置。它提供64K8位元的输出输入(或32K16位元),以及固定的向量中断。大局部的指令只能够存取一个内存位址,所以其中一个操作数必须是一个存放器。运算结果会储存在操作数中的一
7、个存放器。Intel8086有四个内存区段(Segment)存放器,可以从索引存放器来设定。区段存放器可以让CPU利用特殊的方式存取1MB内存。8086把段地址左移4位然后把它加上偏移地址。大局部的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大局部被接受(也甚至有用),可以完全地控制分段,使在编程中使用指针(如C编程语言)变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于IMB难。而8086的寻址方式改变让内存扩充较有效率。2.3.2 地址锁存器74LS373的内部电路
8、与工作原理图2.4引脚功能图注:管脚引出端功能符号:D0D7数据输入端OE三态允许控制端(低电平有效)Q0Q7输出端LE锁存允许端74373三态缓冲输出的8D锁存器(3S,锁存允许输入有回环特性),其输出端Q0Q7可直接与总线相连,74LS373的LE端直接与8086CPU的ALE信号连接。1脚是三态允许控制端(0E),是低电平有效。当1脚是高电平时,不管输入3(DO)4(Dl)、7(D2)8(D3)13(D4)14(D5)17(D6)18(D7)如何,也不管11脚(LE锁存允许端)如何,输出290)、591)、6(。2)、993)、12(Q4)、15(Q5)16(Q6)、19(Q7)全部呈现
9、高阻状态(或者叫浮空状态)。当1脚是低电平时,只要11脚(LE锁存允许端)上出现一个下降沿,输出2(QO)、5(Ql)6(Q2)、9(Q3)12(Q4)15(Q5)16(Q6)19(Q7)立即呈现输入脚3(DO)、4(Dl)7(D2)8(D3)13(D4)14(D5)17(D6)18(D7)的状态。11脚是锁存允许端(LE),当LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。当三态允许控制端OE为低电平时,三态门导通,允许Q0Q7输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q0Q7状态与输入端D1D7状态相同;当
10、LE发生负的跳变时,输入端D0D7数据锁入Q0Q70图2.58086CPU与74LS37374LSI38的连接及外部接线图2.3.3可编程外围接口芯片8255A的简介8255A是Intel公司生产的一种通用的可编程并行I/O接口芯片,它是为Inter系列微处理器设计的配套电路,也可用于其它微处理器系统中。通过对它进行编程,芯片可工作于不同的工作方式。8255A有3个8位并行I/O口,具有3个通道3种工作方式,其各口功能可由软件选择,使用灵活,通用性强。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口;同时必须具有与外设连接的接DA、B、Co由于8
11、255可编程,所以必须具有逻辑控制局部,因而8255内部结构分为3个局部:与CPU连接局部、与外设连接局部、控制局部。图2.68255A的外部引脚图2.78255A的内部结构注:管脚引出端功能符号: RESET:复位输入线,当该输入端处于高电平时,所有内部存放器(包括控制存放器)均被去除,所有1/0口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=O时,表示芯片被选中,允许8255与CPU进行通讯;/CS=I时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时.,即/RD=O且/CS=O时,允许8255通过数据总线向CPU发送数据或状态信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流水 控制系统 设计
