微机接口课程设计(红路灯)讲义

上传人:今*** 文档编号:105842881 上传时间:2019-10-13 格式:DOC 页数:17 大小:1.46MB
返回 下载 相关 举报
微机接口课程设计(红路灯)讲义_第1页
第1页 / 共17页
微机接口课程设计(红路灯)讲义_第2页
第2页 / 共17页
微机接口课程设计(红路灯)讲义_第3页
第3页 / 共17页
微机接口课程设计(红路灯)讲义_第4页
第4页 / 共17页
微机接口课程设计(红路灯)讲义_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《微机接口课程设计(红路灯)讲义》由会员分享,可在线阅读,更多相关《微机接口课程设计(红路灯)讲义(17页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告书 姓 名: 学 号: 指导老师: 职 称: 助 教 设计地点: 硬件实验室4407 起讫时间: 2012.6.25-2012.6.29 完成报告书时间: 2012 年 06 月 29 日 计算机科学与技术系编印二零一二年六月课程设计要求各专业学生应根据课程任教老师的要求,做出选题计划,并按下列要求完成课程设计任务。一、学生应按照老师的要求完成规定的课程设计任务量。二、课程设计报告书要求格式统一,字迹工整,语言简练,文字通顺,按课程设计格式要求书写。程序清单不够填写时统一用A4纸补充并粘贴。对不按格式要求书写或打印的报告书一律不收,也不得进行答辩和评分。三、必须独立完成课程设计,不

2、得相互抄袭。在答辩和批阅过程中发现源程序相同或有大面积抄袭现象,课程任教老师有权通知学生重做,不得给予评分,并通报综合教研室。四、学生课程设计结束后应提交的材料:(1)课程设计报告书;(2)包含完整的、正确的源程序代码(含电子文档);(3)设计体会与心得,要求深入、具体、生动、1000字以上;(4)答辨材料(介绍课程设计要点)。第0页南京理工大学科技学院课程设计报告书选题内容及要求编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。倒计时采用硬件计时的方法,如采用8253定时/计数器芯片。同时将中断控制器接口芯片8259A引入系统中,

3、让其实现能服务于某种特殊的情况的功能,如出现交通事故或到晚上9点以后,交通灯控制系统全显示黄灯灯,待事故处理完毕或时间到了正常工作时间时能自动启动该系统。当按下任意键则停止运行,返回DOS。要完成本次设计,首先必须了解交通灯的亮灭规律。设有一个十字路口,1、3位南北方向,2、4位东西方向。初态为4个红灯全亮,禁止通行:(1) 1、3路口绿灯亮,2、4路口红灯亮;(2) 1、3路口绿灯灭;(3) 1、3路口黄灯闪烁;(4) 4个路口红灯全亮(5) 2、4路口绿灯亮,同时1、3路口红灯亮;(6) 2、4路口绿灯灭;(7) 2、4路口黄灯闪烁;(8) 转向(1)循环执行。设计电路并在实验台上连接线路

4、,应连线如图2所示:L1L4接PB4PB7,控制黄灯;L5L8接PC0PC3,控制红灯;L9L12接PC4PC7,控制绿灯;CS接地址译码器218H21FH插空。各发光二极管通过电阻接+5V。因此,要使其点亮应使8255A相应端口位清零。教师评价情况指导老师评语: 指导老师:_(签名) 日 期: 年 月 日学生答辩情况综合成绩评定情况综合评价等级:_注:共分五个等级 (1.优 2、良 3、中 4、合格 5、不合格) 课程设计考核情况一、设计课题编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。当按下任意键则停止运行,返回DOS。二、

5、设计目的通过对红绿黄LED发光二极管的控制,熟练掌握8255A可编程并行接口的编程方法。三、操作环境TDNCM教学实验系统一套,PC微机一台四、设计场所4407硬件实验室五、设计过程(设计内容及主要模块)1. 电路图图(1) 设计电路图2.实验流程图主程序图如下: 图(2) 设计主程序图子流程图:每个状态(BT0、BT1、BT2、BT3)的流程,它是说明8255A和8254是如何控制模拟交通灯的(如下图)图(3) 交通灯子程序图3. 设计思想 8255A设计:(1)端口A、B、C 工作在方式0 ; (2)端口A、B作为输出口,端口C 高四位输入。 端口A来控制LED显示管以显示十字路口的红、绿

6、以及黄灯,端口B输出线接至到数码管上使用一位实现时间倒计时。PC6用于读取开关K0的状态控制白天和黑夜,PC7用于检测8254的OUT0口实现定时。8254A设计:(1)工作在方式2下实现计时器功能; (2)设置时间常数为4800H; 设计数器0的计数初值为18432,由CLK0接收频率为18.432KHZ的脉冲信号,则输出的频率OUT0为1HZ,所以每计数完一次为1秒钟。状态D7D6D5D4D3D2D1D0STATE000100001STATE100100100STATE200010010STATE300011000STATE4返回STATE0HEIYE100110000HEIYE2 000

7、00000 图(4) 十字路口红绿灯具体分配图 备注: 1)D0:表示南北绿灯; D1:表示东西绿灯; D2:表示南北黄灯; D3:表示东西黄灯; D4:表示南北红灯; D5:表示东西红灯。 2)“STATE0” 表示白天状态0,即南北绿灯,东西红灯; “STATE1” 表示白天状态1,即南北黄灯,东西红灯; “STATE2” 表示白天状态2,即南北红灯,东西绿灯; “STATE3” 表示白天状态3,即南北红灯,东西黄灯; 3)“HEIYE” 表示黑夜状态 “HEIYE1”表示黄灯亮; “HEIYE2”表示灯全灭(交替形成黑夜状态的黄灯闪烁)。 六、设计中用到的课程知识点8255A芯片8255

8、 可编程外围接口芯片是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 种不

9、同工作方式;(4) 8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz);(5) 8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=fCLKifOUTi其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。图1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3) 方式2:频率发

10、生器方式。 (4) 方式3:方波发生器。(5) 方式4:软件触发选通方式。 (6) 方式5:硬件触发选通方式。8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表1 所示。读回控制字格式如表2 所示。当读回控制字的D4 位为0 时,由该读回控制字D1D2 位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。图1 8254 的内部接口和引脚表1 8254 的方式控制字格式表2 8254 读出控制字格式表3 8254 状态字格式七、设计中遇到的问题及解决方法问题1:在调用七段码时,

11、黄灯和绿灯、红灯的显示时间不一样,怎样调用。 解决方法:定义两个七段码,分别用于绿灯红灯显示和黄灯显示来简化调用程序。问题2:不知如何实现黑夜功能。 解决方法:初始化8255后,就应该检测c口的pc6的状态是否有效,若为1,即跳转至黑夜功能;且每个状态执行完之后,都要检测pc6的状态,若为1时,也跳转到黑夜功能。问题3:怎么实现紧急状态。 解决方法:中断处理过程时必须要做保护现场、开中断、中断服务、关中断、恢复现场、开中断返回这几步。并不是仅仅编写中断处理程序即可,不然程序报错。问题4:中断处理程序使用的栈如何获取。 解决方法:查找资料发现,栈是自己在程序首部自己定义的,并非系统生成的。八、课

12、程设计体会与心得初学微机接口时,觉得这门学科比较难,很难掌握。由于不太习惯此类机器代码,在学8255时,一直战战兢兢。但是,当学完8255后,再来学习8253和8259时,明显觉得接收和吸收知识的能力明显提高。掌握8255的使用其实不是很难。只要有并行操作,就需要用到8255。它有其固定的一套程序方式,即为方式控制字初始化,然后对其ABC接口进行相应的输入或输出操作。8253(此实验中为8254)的使用与8255类似,由于它是定时计数的功能,所以在方式控制字初始化之后,还要再编写时间常数。在未编写紧急情况时,路口红绿灯很好快即解决问题。紧急情况处理比较繁琐,即为8259所要实现的功能,在实验时

13、,硬件方面很好解决,连一个脉冲即可解决问题,可是软件方面就很难下手了。在整个实验过程中,为程序代码,大家上网查询,一起分析讨论,等到理清头绪,花了不少时间。8259不比前两种芯片程序的简单,它的程序本该有的套路就比前两者的复杂。不谈在从主程序跳转到中断服务程序所要执行现场保护的过程,中断程序的代码就较为复杂难写。首先装入中断入口地址,入口地址还要分为2步,要分别装入偏移地址和段地址,初始化程序也比较复杂,在有参考代码的情况下,与同学一起翻书才将源代码写好。整个实验过程持续大概5天左右的时间,从刚开始不知如何编写紧急情况,到后来同学一起讨论、查阅资料将中断程序实现出来,觉得自己学习能力进步不少,大家心里也有点小小的自豪感。课程设,能加强同学之间的合作,拉进同学间距离。在课上所学的知识,并非全懂,有的是通过实验发现问题,有的本来就没有听懂,在最后的课程设计中,通过同学间的合作,大家一起能发现

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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