您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理与接口技术课程设计报告
微机原理与接口设计报告学院:信息科学与工程学院_______T班级:G学号:G姓名:_G指导老师:梁建武、杨迎泽G完成时间:2012年06月24号G目录一、设计目的…………………………………………………1二、设计任务及要求…………………………………………11、设计任务………………………………………………………………………………12、设计内容………………………………………………………………………………13、设计器材………………………………………………………………………………2三、设计原理及设计方案的选择……………………………31、设计原理………………………………………………………………………………32、系统原理………………………………………………………………………………42.18255的工作原理及内部结构…………………………………………………………………42.2发光二极管显示原理……………………………………………………………………………5四、总体设计…………………………………………………5五、详细设计…………………………………………………61、电路设计………………………………………………………………………………62、延时模块设计…………………………………………………………………………63、交通灯主程序设计……………………………………………………………………7六、运行结果及说明…………………………………………9七、课程设计总结及体会……………………………………9八、参考文献…………………………………………………10九、程序源代码…………………………………………………10-1-一、设计目的1、了解交通灯管理的基本工作原理。2、熟练掌握8255A可编程并行接口芯片的接口编程方法,掌握8255A在不同工作方式下通过输出对显示灯的控制。3、熟练掌握8253芯片的编程及应用,掌握不同方式下定时计数的方法,知道用8253芯片控制时间和申请中断。4、熟练掌握8259芯片的编程及应用,掌握8259芯片对中断的控制。5、熟悉掌握对硬件的运用,能够通过软件编程来达到对硬件的控制。6、掌握多位LED显示问题的解决。7、学习单板方式下扩展简单I/O接口的方法以及双色灯的使用。8、进一步学习微处理器的编程技术。二、设计任务及要求1、设计任务这次课程设计的题目是交通灯控制的设计与实现,主要是模拟十字路口的红绿灯。交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255A的B口和C口实现对灯的亮与灭进行控制。首先,要了解的是8255A是如何工作的,包括它的B、C口和控制端口是如何写数据的,还包括芯片的初始化等。在编写程序时得先规划好红绿黄所要接的端口,继而编写相应的端口控制程序。对于红绿灯的持续时间我用到的软件延时。最后要在实验室通过一个软件进行调试,调试通过后即可看到设计的结果。2、设计内容城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计,通过设计实现以下功能:本实验本要用12个发光二级管,由于实验板上只有8个发光二级管,所以-2-我只是用到其中的六个发光二级管实现了相邻两个路口的红绿灯控制。其总共分有四个状态:1.状态一:刚开始是设置的是所有路口都禁止车辆通行,故所有的路口都是亮红灯,维持5秒;然后跳到下一个状态。2.状态二:第一个状态结束,紧接着就是南北(假设南北路口)路口的红灯熄灭,绿灯亮起,此路口可以通车,东西路口红灯继续亮着,这个状态持续15秒。3.状态三:东西方向的红灯熄灭(老师指出的缺陷:东西路口不该所有的灯都熄灭,应持续到南北路口黄灯闪烁之后再熄灭),南北方向的黄灯闪烁三次后,转为东西方向放行15秒钟。即南北方向的红灯和东西方向的绿灯同时点亮15秒钟。4.状态四:东西方向放行15秒钟后,转为东西方向的黄灯闪烁5秒钟,以警示将切换红绿灯。5.东西方向的黄灯闪烁5秒钟后,再转为南北方向车辆放行15秒钟。如此循环重复。十字路口交通灯分布示意图3、设计器材超想—3000TB综合实验/仿真系统导线若干-3-微机原理及接口技术试验箱三、设计原理及设计方案的选择1、设计原理实验原理图如图5—9所示,PB4~PB7分别与发光二极管电路L1~L12相连,本实验为模拟交通灯实验。交通灯的亮灭规则如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口黄灯开始闪烁,闪烁若干次以后,1、3路口的红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间以后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。8255A的PB4~PB7对应黄灯,PC0~PC3对应红灯,PC4~PC7对应绿灯。8255A工作与模式0,并置为输出。由于个发光二极管为共阳极,使其点亮应使8255A相应端口清0.图5—9-4-2、系统原理本次课程设计使用到的芯片就只有8255,使用这块芯片首先应该明白了解这块芯片的功能、工作方式以及初始化方式等。2.18255的工作原理及内部结构:图1:8255的内部结构及引脚1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。2)两个端口B和C:B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。3)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。8255A的工作方式:方式0---基本输入输出方式;方式1---选通输入输出方式;方式2---双向选通输入输出方式。-5-图2:8255工作方式控制字和C口按位置位/复位控制字格式2.2发光二极管显示原理:发光二极管显示模块由8255的B口和C口来控制发光二极管的亮灭。各口控制的二极管以及各二极管的亮灭及颜色控制如下所示:PB4一L2PC0一L3PC4一L1PB5一L5PC1一L6PC5一L4PB6一L8PC2一L9PC6一L7PB7一L11PC3一L12PC7一L10这个设计在试验箱上仿真时只利用L1~L6这六个发光二级光来简单模拟。四、总体设计整体实验设计思想如下图所示:开始清LED芯片8255初始化东南西北方向红灯都亮5秒-6-五、详细设计1、电路设计本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,因此在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图所示。硬件电路由控制模块、发光二极管构成。2、延时模块设计在设计任务时,由于期间交通灯闪烁的情况,设计时先让交通灯亮,在采用软件延时的方法来让其亮一段时间,在设置让其灭,再延时后让其亮,这样交通灯就会出现一闪一闪的情况了。在设计软件延时,利用执行一条指令所需要的指令周期来达到延长时间的目的。其程序设计如下:DELAY1:PUSHAXPUSHCXMOVCX,0030HDELY2:CALLDELAY2LOOPDELY2POPCXPOPAXRETDELAY2:PUSHCX南北方向绿灯亮,东西方向红灯亮15秒南北方向黄灯闪烁,东西方向红灯亮熄灭南北方向红灯亮,东西方向绿灯亮15秒东西方向黄灯闪烁5秒,南北方向红灯熄灭-7-MOVCX,8000HDELA1:LOOPDELA1POPCXRET3、交通灯主程序设计主程序实现4种状态及循环,其程序如下:START:MOVAX,0HMOVDS,AXMOVAL,82HMOVDX,IOCONPTOUTDX,ALMOVAL,00HNOPNOPMOVBYTEPTRDS:[0501H],ALMOVDX,IOCONPTMOVAL,80HOUTDX,ALMOVDX,IOBPTMOVAL,DS:[0501H]ORAL,0F0HOUTDX,ALMOVDX,IOCPTMOVAL,0FHOUTDX,ALCALLDELAY1IOLED0:MOVAL,01011010BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ANDAL,0F0HOUTDX,ALMOVCX,8HIOLED1:MOVDX,IOBPTMOVAL,DS:[0501H]ORAL,01011111BOUTDX,ALCALLDELAY2ANDAL,00000000B-8-OUTDX,ALCALLDELAY2LOOPIOLED1MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2MOVAL,10100101BOUTDX,ALCALLDELAY1CALLDELAY1ANDAL,0F0HOUTDX,ALMOVCX,8HIOLED2:MOVDX,IOBPTMOVAL,DS:[0501H]ORAL,10101111BOUTDX,ALCALLDELAY2ANDAL,00000000BOUTDX,ALCALLDELAY2LOOPIOLED2MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2JMPIOLED0DELAY1:PUSHAXPUSHCXMOVCX,0030HDELY2:CALLDELAY2LOOPDELY2POPCXPOPAXRETDELAY2:PUSHCXMOVCX,8000HDELA1:LOOPDELA1POPCXRETCODEENDS1ENDSTART-9-六、运行结果及说明1.刚开始是设置的是所有路口都禁止车辆通行,故所有的路口都是亮红灯,维持5秒;然后跳到下一个状态。2.第一个状态结束,紧接着就是南北(假设南北路口)路口的红灯熄灭,绿灯亮起,此路口可以通车,东西路口红灯继续亮着,这个状态持续15秒。3.东西方向的红灯熄灭(老师指出的缺陷:东西路口不该所有的灯都熄灭,应持续到南北路口黄灯闪烁之后再熄灭),南北方向的黄灯闪烁三次后,转为东西方向放行15秒钟。即南北方向的红灯和东西方向的绿灯同时点亮15秒钟。4.东西方向放行15秒钟后,转为东西方向的黄灯闪烁5秒钟,以警示将切换红绿灯。5.东西方向的黄灯闪烁5秒钟后,再转为南北方向车辆放行15秒钟。如此循环重复。七、课程设计总结及体会本次实验较为成功,实现了交通灯的基本功能,但也还有不足之处。比如设计交通灯黄灯闪烁的时候,其使用了软件延时来控制灯亮灭的时间实现闪烁的效果,这样的话就会使软件延时和硬件计时同时存在调用,这样就会产生时间差,比实际的时间稍有延迟,虽在不影响闪烁效果前提下计过程中延时次说已经很短,但偏差还是存在,另外就是在黄灯开始闪烁的同时其相邻路口的红灯熄灭了,现实中是要等黄灯闪烁完毕再熄灭的。经过将近一个星期的接口课程设计及学习,虽然实现的功能不是很多,并且其中还是有些问题,但是还是基本符合要求,,最主要的就是在设计过程中,让我学到了很多在课本中学不到的知识,收获颇丰。而且也让我更深层次了解了接口,懂得了怎样快速学习运用软件来编程,来设计东西。懂得怎样快速把自己所学的运用到实际中。在这个过程中我过得很充实,很有意义。此次实习可以说是获益匪浅。通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要-10-的是明白写程序的态度:仔细谨慎,精益求精。在实际操作过程中犯的一些错误还会有意外的收获,感觉设计很有意思。在具体操作中对这学期所学的接口技术的理论知识得到巩固,尤其是对于书本中的比较重要的芯片,平时在做题目过程中,总感觉对于芯片的应用更多的是被动的通过题目来熟悉再理解,而这次是通过实际操作然后在理解的基础上再熟记于心。这是一种飞跃的进步。达到设计的基本目的,也发现自己的不足之出,在以后的上机中应更加
本文标题:微机原理与接口技术课程设计报告
链接地址:https://www.777doc.com/doc-7040569 .html