欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    流水灯控制系统设计.docx

    • 资源ID:500602       资源大小:93.50KB        全文页数:17页
    • 资源格式: DOCX        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    流水灯控制系统设计.docx

    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发送数据或状态信

    12、息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=O时,允许CPlJ将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方

    13、式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 AO,Al:地址选择线,用来选择8255的PA口,PB11,PC口和控制存放器.当A0=0,Al=O时,PA口被选择;当A0=0,Al=I时,PB被选择;当AO=I,Al=O时,PC口被选择;当Ao=LAl=I时,控制存放器被选择.8255A的工作方式:方式0:根本输入输出方式,适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式,适用于查询和中断方式的接口电路方式2:双向选通传送方式,适用于与双向传送数据的外设和查询和中断方式的接口电路图2.8工作方式

    14、控制字图2.9C按位置位/复位控制字8255A初始化编程:8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。方式控制字用于设置端口A,B,C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7PC0中某一条口线PCi(i=07)的电平。两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。图2.108255A与LED及开关的连接及外部接线图第3章软件设计3.1 程序流程设计3.1.1 主程序流程图3.1主程序流程图3.1.2程序流程图左向移动流水

    15、灯图3.2左向移动流水灯子程序图右向移动流水灯图3.3左向移动流水灯子程序图3.1.3 系统硬件连接图图3.4系统硬件连接图3.1.4 源程序设计(附录)3.2设计最终理想结果及原理3.2.1 左向移动流水灯(1)现象左向移动流水灯的实验现象是首先最右边的灯亮,然后是最右边的灯灭,此时右起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。(2)原理左向移动流水灯是根据发光二极管的显示原理,首先点亮最右的二极管,然后进位置一,通过带进位的循环左移指令编写程序以实现模拟流水灯的左向移动。3.2.2 右向移动流水灯(1)现象右向移动流水灯的实验现象是首先最左边的灯亮,然后是最左边的灯灭,此时

    16、左起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。(2)原理右向移动流水灯是根据发光二极管的显示原理,首先点亮最左的二极管,然后进位置一,通过带进位的循环右移指令编写程序以实现模拟流水灯的右向移动。设计心得在此,我们郑重感谢系里给我们提供的这次珍贵的锻炼时机以及吴学娟老师的热情指导与帮助。在我们遇到困难而无法解决的时候,吴学娟老师给我们提供了很多有用的方案建议,并为我们提供了对我们极为有用的资料;当我们有些问题不懂疑惑时,吴学娟老师也耐心给了我们做了清楚的解释,在此我们表示真挚的感谢。这次微机原理课程设计我学到了很多在书本上所没有学到过的知识。以前在上课的时候对于编程工具的使用还处

    17、于一知半解的状态上,但是经过一段时间的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个存放器的内容以及当存放器不够用时如何用存储单元代替存放器、怎么去使用循环嵌套、怎么去正确使用8255芯片等方面都有了很大程度的提高。通过课程设计,我们学到了很多东西。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处

    18、对以前所学过的知识理解得不够深刻,掌握得不够牢固,但总的来说还是圆满的。感谢所有帮过我们的老师和同学们,他们都很热情帮助我们,为我们提供了他们力所能及的帮助,在此我们对他们表示真挚的感谢。参考文献1周荷琴,吴秀清编著.微机原理与接口技术合肥:中国科学技术大学出版社,2008.62潘新民,王燕芳编著.微型计算机控制技术北京:高等教育出版社,2004o3周明德编著微型计算机系统原理及应用北京:人民邮电出版社,2007.SEGMENTASSUME CSiCODE附录:;端口地址PORT_APORT_BPORT_CP0RT_CTL;代码段CODESTART:EQUOFOHEQU0F2HEQU0F4H

    19、EQU0F6HKl:K2:LI:L10:MOVDX,PORT_CTL;指向控制口Moval,100ooooib;控制字OUTDX,AL;写入控制字MO:MOVDX,PORT_C;检测开关信号INAL,DXTESTALOlH;检测按键1是否被按下JZKlTESTAL,02H;检测按键2是否被按下JZK2JMPTHEEND;无有效按键时输出CALLLlJMPMOCALLL2JMPMO;模拟流水灯左移MOVDX,PORT_B;设置B口输出MOVAL,07FHOUTDX,AL;B口输出ROLAL,1CALLDELAY;AL带进位左移一位;调用延时子程序MOVDX,PORT_CINAL,DXTESTAL

    20、OlHJZLlORETL2:MOVDX,PORT_B;模拟流水灯右移MOVAL,OFEHL20:OUTDX,AL;B口输出RORAL,1;AL带进位右+移一位CALLDELAY;调用延时子程序MOVDX,PORT_CINAL,DXTESTAL,02HJZL20RETTHEEND:MOVAL,OFFHMOVDX,PORT_BOUTDX,ALJMPMODELAY:MOVBX,200;用双层循环嵌套实现延时功能DELI:MOVCX,1000DEL2:L00PDEL2DECBXJNZDELlRETCODEENDSENDSTARTRESET:复位输入线,当该输入端处于高电平时,所有内部存放器(包括控制

    21、存放器)均被去除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=O时,表示芯片被选中,允许8255与CPU进行通讯;/CS=I时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD=O且/CS=O时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,即/WR=O且/CS=O时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状

    22、态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 PB0PB7:端UB输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。AO,Al:地址选择线,用来选择8255的PA口,PB口,PC口和控制存放器.当AO=O,Al=O时,PA口被选择;当AO=0,Al=I时,PB口被选择;当A0=l,Al=O时,PC口被选择;当AO=LAl=I时,控制存放器被选择.8255A的工作方式:方式0:根本输入输出方式,适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式,适用于查询和中断方式的接口电路方式2:双向选通传送方式,适用于与双向传送数据的外设和查询和中断方式的接口电路参考文献1周荷琴,吴秀清编著.微机原理与接口技术合肥:中国科学技术大学出版社,2008.62潘新民,王燕芳编著.微型计算机控制技术北京:高等教育出版社,2004o3周明德编著微型计算机系统原理及应用北京:人民邮电出版社,2007o


    注意事项

    本文(流水灯控制系统设计.docx)为本站会员(peixunshi0)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开