微机接口课程设计(红路灯)_第1页
微机接口课程设计(红路灯)_第2页
微机接口课程设计(红路灯)_第3页
微机接口课程设计(红路灯)_第4页
微机接口课程设计(红路灯)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告书姓名:学号:指导老师:职称:助教设计地点:硬件实验室4407起讫时间:2012.6.25-2012.6.29完成报告书时间:2012年06月29日计算机科学与技术系编印二零一二年六月第0页课程设计要求各专业学生应根据课程任教老师的要求,做出选题计划,并按下列要求完成课程设计任务。一、学生应按照老师的要求完成规定的课程设计任务量。二、课程设计报告书要求格式统一,字迹工整,语言简练,文字通顺,按课程设计格式要求书写。程序清单不够填写时统一用A4纸补充并粘贴。对不按格式要求书写或打印的报告书一律不收,也不得进行答辩和评分。三、必须独立完成课程设计,不得相互抄袭。在答辩和批阅过程中发现源程序相同或有大面积抄袭现象,课程任教老师有权通知学生重做,不得给予评分,并通报综合教研室。四、学生课程设计结束后应提交的材料:(1)课程设计报告书;(2)包含完整的、正确的源程序代码(含电子文档);(3)设计体会与心得,要求深入、具体、生动、1000字以上;(4)答辨材料(介绍课程设计要点)。南京理工大学科技学院课程设计报告书第16页选题内容及要求编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。倒计时采用硬件计时的方法,如采用8253定时/计数器芯片。同时将中断控制器接口芯片8259A引入系统中,让其实现能服务于某种特殊的情况的功能,如出现交通事故或到晚上9点以后,交通灯控制系统全显示黄灯灯,待事故处理完毕或时间到了正常工作时间时能自动启动该系统。当按下任意键则停止运行,返回DOS。要完成本次设计,首先必须了解交通灯的亮灭规律。设有一个十字路口,1、3位南北方向,2、4位东西方向。初态为4个红灯全亮,禁止通行:1、3路口绿灯亮,2、4路口红灯亮;1、3路口绿灯灭;1、3路口黄灯闪烁;4个路口红灯全亮2、4路口绿灯亮,同时1、3路口红灯亮;2、4路口绿灯灭;2、4路口黄灯闪烁;转向(1)循环执行。设计电路并在实验台上连接线路,应连线如图2所示:L1~L4接PB4~PB7,控制黄灯;L5~L8接PC0~PC3,控制红灯;L9~L12接PC4~PC7,控制绿灯;CS接地址译码器218H~21FH插空。各发光二极管通过电阻接+5V。因此,要使其点亮应使8255A相应端口位清零。教师评价情况指导老师评语:指导老师:_____________(签名)日期:年月日学生答辩情况综合成绩评定情况综合评价等级:__________________注:共分五个等级(1.优2、良3、中4、合格5、不合格)课程设计考核情况一、设计课题编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。当按下任意键则停止运行,返回DOS。二、设计目的通过对红绿黄LED发光二极管的控制,熟练掌握8255A可编程并行接口的编程方法。三、操作环境TDN-CM++教学实验系统一套,PC微机一台四、设计场所4407硬件实验室五、设计过程(设计内容及主要模块)电路图图(1)设计电路图2.实验流程图主程序图如下:图(2)设计主程序图子流程图:每个状态(BT0、BT1、BT2、BT3)的流程,它是说明8255A和8254是如何控制模拟交通灯的(如下图)图(3)交通灯子程序图设计思想8255A设计:(1)端口A、B、C工作在方式0;(2)端口A、B作为输出口,端口C高四位输入。端口A来控制LED显示管以显示十字路口的红、绿以及黄灯,端口B输出线接至到数码管上使用一位实现时间倒计时。PC6用于读取开关K0的状态控制白天和黑夜,PC7用于检测8254的OUT0口实现定时。8254A设计:(1)工作在方式2下实现计时器功能;(2)设置时间常数为4800H;设计数器0的计数初值为18432,由CLK0接收频率为18.432KHZ的脉冲信号,则输出的频率OUT0为1HZ,所以每计数完一次为1秒钟。状态D7D6D5D4D3D2D1D0STATE000100001STATE100100100STATE200010010STATE300011000STATE4返回STATE0HEIYE100110000HEIYE200000000图(4)十字路口红绿灯具体分配图备注:1)D0:表示南北绿灯;D1:表示东西绿灯;D2:表示南北黄灯;D3:表示东西黄灯;D4:表示南北红灯;D5:表示东西红灯。2)“STATE0”表示白天状态0,即南北绿灯,东西红灯;“STATE1”表示白天状态1,即南北黄灯,东西红灯;“STATE2”表示白天状态2,即南北红灯,东西绿灯;“STATE3”表示白天状态3,即南北红灯,东西黄灯;3)“HEIYE”表示黑夜状态“HEIYE1”表示黄灯亮;“HEIYE2”表示灯全灭(交替形成黑夜状态的黄灯闪烁)。六、设计中用到的课程知识点8255A芯片8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。8254芯片8254是Intel公司生产的可编程定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:(1)有3个独立的16位计数器;(2)每个计数器可按二进制或十进制(BCD)计数;(3)每个计数器可编程工作于6种不同工作方式;(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz);(5)8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=fCLKi÷fOUTi其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表1所示。读回控制字格式如表2所示。当读回控制字的D4位为0时,由该读回控制字D1~D2位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。图18254的内部接口和引脚表18254的方式控制字格式表28254读出控制字格式表38254状态字格式七、设计中遇到的问题及解决方法问题1:在调用七段码时,黄灯和绿灯、红灯的显示时间不一样,怎样调用。解决方法:定义两个七段码,分别用于绿灯红灯显示和黄灯显示来简化调用程序。问题2:不知如何实现黑夜功能。解决方法:初始化8255后,就应该检测c口的pc6的状态是否有效,若为1,即跳转至黑夜功能;且每个状态执行完之后,都要检测pc6的状态,若为1时,也跳转到黑夜功能。问题3:怎么实现紧急状态。解决方法:中断处理过程时必须要做保护现场、开中断、中断服务、关中断、恢复现场、开中断返回这几步。并不是仅仅编写中断处理程序即可,不然程序报错。问题4:中断处理程序使用的栈如何获取。解决方法:查找资料发现,栈是自己在程序首部自己定义的,并非系统生成的。八、课程设计体会与心得初学微机接口时,觉得这门学科比较难,很难掌握。由于不太习惯此类机器代码,在学8255时,一直战战兢兢。但是,当学完8255后,再来学习8253和8259时,明显觉得接收和吸收知识的能力明显提高。掌握8255的使用其实不是很难。只要有并行操作,就需要用到8255。它有其固定的一套程序方式,即为方式控制字初始化,然后对其A\B\C接口进行相应的输入或输出操作。8253(此实验中为8254)的使用与8255类似,由于它是定时计数的功能,所以在方式控制字初始化之后,还要再编写时间常数。在未编写紧急情况时,路口红绿灯很好快即解决问题。紧急情况处理比较繁琐,即为8259所要实现的功能,在实验时,硬件方面很好解决,连一个脉冲即可解决问题,可是软件方面就很难下手了。在整个实验过程中,为程序代码,大家上网查询,一起分析讨论,等到理清头绪,花了不少时间。8259不比前两种芯片程序的简单,它的程序本该有的套路就比前两者的复杂。不谈在从主程序跳转到中断服务程序所要执行现场保护的过程,中断程序的代码就较为复杂难写。首先装入中断入口地址,入口地址还要分为2步,要分别装入偏移地址和段地址,初始化程序也比较复杂,在有参考代码的情况下,与同学一起翻书才将源代码写好。整个实验过程持续大概5天左右的时间,从刚开始不知如何编写紧急情况,到后来同学一起讨论、查阅资料将中断程序实现出来,觉得自己学习能力进步不少,大家心里也有点小小的自豪感。课程设,能加强同学之间的合作,拉进同学间距离。在课上所学的知识,并非全懂,有的是通过实验发现问题,有的本来就没有听懂,在最后的课程设计中,通过同学间的合作,大家一起能发现和解决很多自己一直都是问号的问题。在帮助别人时,你也能加强对原有知识的掌握。我觉得,这次实验,8259这个以前看见就惧怕的困难,通过这次中断程序的锻炼,能够熟悉掌握了。每一个问题都有一百种解决方法,遇到问题,解决问题,加强同学之间的合作,并勤奋的翻阅资料,勤动手动脑,很多难题都能解决。程序清单;*****************************************************************IOY0EQU0e400H;片选IOY0对应的端口始地址IOY1EQU0e440H;片选IOY1对应的端口始地址;*****************************************************************MY8255_AEQUIOY0+00H*2;8255的A口地址MY8255_BEQUIOY0+01H*2;8255的B口地址MY8255_CEQUIOY0+02H*2;8255的C口地址MY8255_MODEEQUIOY0+03H*2;8255的控制寄存器地址MY8254_0EQUIOY1+00H*2;8254的0口地址MY8254_1EQUIOY1+01H*2;8254的1口地址MY8254_2EQUIOY1+02H*2;8254的2口地址MY8254_MODEEQUIOY1+03H*2;8254的控制寄存器地址;*****************************************************************STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTDTABLEDB6FH,7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FHDTABLE1DB4FH,5BH,06H,3FHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTRAT:MOVAX,DATAMOVDS,AXMOVDX,MY8255_MODE;定义8255工作方式MOVAL,88HOUTDX,ALTEST1:MOVDX,MY8255_CINAL,DXTESTAL,40HJNZHEIYESTATE0:MOVDX,MY8255_AMOVAL,21HOUTDX,ALMOVCX,10LEABX,DTABLELOOP0:MOVDX,MY8255_BMOVAL,BYTEPTR[BX]OUTDX,ALMOVDX,MY8254_MODE;初始化8254工作方式MOVAL,34HOUTDX,ALMOVDX,MY8254_0MOVAL,00HOUTDX,ALMOVAL,48HOUTDX,ALCHECK0:MOVDX,MY8255_CINAL,DXTESTAL,80HJNZCHECK0INCBXLOOPLOOP0STATE1:MOVDX,MY8255_A;状态1:南北黄灯,东西红灯MOVAL,24HOUTDX,ALCALLT8254_1STATE2:MOVDX,MY8255_A;状态2:南北红灯,东西绿灯MOVAL,12HOUTDX,ALMOVCX,10LEABX,DTABLELOOP2:MOVDX,MY8255_BMOVAL,BYTEPTR[BX]OUTDX,ALMOVDX,MY8254_MODE;初始化8254工作方式MOVAL,34HOUTDX,ALMOVDX,MY8254_0MOVAL,00HOUTDX,ALMOVAL,48HOUTDX,ALCHECK2:MOVDX,MY8255_CINAL,DXTESTAL,80HJNZCHECK2INCBXLOOPLOOP2STATE3:MOVDX,MY8255_A;状态3:南北红灯,东西黄灯MOVAL,18HOUTDX,ALCALLT8254_1MOVAH,1;判断是否有键按下INT16HJZTEST1JMPQUITHEIYE:MOVDX,MY8255_A;黑夜状态:南北、东西黄灯闪烁MOVAL,0CHOUTDX,ALCALLDELAY2MOVAL,00HOUTDX,ALCALLDELAY2MOVDX,MY8255_CINAL,DXTESTAL,60H;检测PC6JZSTATE2MOVAH,1;判断是否有键按下INT16HJZHEIYEQUIT:MOVAX,4C00H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论