交通灯控制微机课程方案报告_第1页
交通灯控制微机课程方案报告_第2页
交通灯控制微机课程方案报告_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、微 机 原 理 与 接 口 技 术课程设计报告姓 名:学 号:同组实验者: 指导教师: 日 期: 一、设计题目交通灯控制根据 TD-PIT-B 实验箱现有的实验电路,设计电路并编写程序使6 个灯按交通变化规律亮、灭或闪烁,且将时间显示在数码管上。十字路口交通灯变化规律要求:(1) 南北路口的绿灯、东西路口的红灯同时亮 30 秒。(2) 南北路口的黄灯闪烁 3 次,同时东西路口的红灯继续亮。(3) 南北路口的红灯、东西路口的绿灯同时亮 30 秒。(4) 南北路口的红灯继续亮,同时东西路口的黄灯闪烁 3 次。(5) 转 1 重复。二、设计思路及电路设计原理图<1)设计思想:设有一个十字路口,

2、 1、3 为南,北方向, 2、 4 为东西方向,初 始态为 4 个路口的红灯全亮。之后, 1、3 路口的绿灯亮, 2、4 路口 的红灯亮, 1、3 路口方向通车。延迟 30 秒后, 1、3 路口的绿灯熄 灭,而1, 3路口的黄灯开始闪烁<1HZ。闪烁3次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁3次后,再切换到1、3路口方向。之后,重复上述过程北红黃绿®®®绿黃红西® ® ® I绿黄东红® ® 0红黄绿通过8254计数,

3、每1ms刷新一次,CX计数不为零,计数值减1, 刷新1000次,持续一秒钟 <其中,输入始终脉冲为1KHZ。使 用8254实现了 PA7PA0空制二极管的亮灭,PB7PA0空制数码管的 显示。通过设置控制字,使 8255的C 口高四位输出,低四位输入, PC4和 PC5对数码管进行位控,让两位十进制数同时显示。<2)红、黄、绿灯的表示因为仪器上面只有16个发光二级管,且从高到低依次为:D15D14D13D12D11D10D9D8 D7D6D5D4D3D2在1设计的过程中我们采用了六个灯,但是我们连接了 8根线,所以我们做了如下的规定:R表示红灯,G表示绿灯,丫表示黄灯,E表示方向东

4、,W表示 方向西,S表示方向南,N表示方向北。所以在设计中采用如下的规 定:A7A5分别代表东西方向红黄绿灯,A4A2分别代表南北方向红 黄绿灯,A1A0无意义。具体连线及表示如下图所示。<3)硬件设计框图及连线/接图:说明:8255连接说明如下8255数据端口连接系统总线数据段 D0D78255 RD连接系统IOR8255 WD连接系统IOW8255 CS 连接 IOY3 8255 寄存器地址输入信号 A0A1 连接系统总线 A0A18255 PA端连接外设二极管(PA端A7A2对应二极管D7D2>,作为输出A7A5 分别代表东西方向。红黄绿灯, A4A2 分别代表南北方向红 黄

5、绿灯, A1A0 无意义。且全部为低有效 >8255 PB端连接外设LED(PB端B0B7对应LEDabcdefgh>,作为输 出8255 PC 端,低位输入、高位输出 C0 连接 8254OUT 端作为输入。C4C5 连接 X1X2 作为输出,控制 LED 显示十位个位8254 连接说明如下8254 数据端口连接系统总线数据段 D0D78254 RD 连接系统 IOR8254 WD 连接系统 IOW8254 CS 连接 IOY28254寄存器地址输入信号 A0A1 连接系统总线 A0A18254 CLK0 连接 1KHZ8254 GATE0 连接 +5V 8254 OUTO 连接

6、 8255C0 端<4)流程图:三、实验日志:星期一:收集相关资料;计。熟悉 8254、8255芯片的工作原理;初步设星期二:初步设计;并绘图编程。 星期三:设计并绘图编程;接线运行程序。 星期四:修改程序,使其能正常运行。 星期五:老师验收,并向老师解释程序。四、实验结果与分析 在实验室的实验台上可以看到如下的结果: 1、 即东西方向的绿灯和南北方向的红灯同时点亮 20 秒钟;2、20 秒钟后,东西方向的黄灯闪烁 5 秒钟,。此时南北方向仍维 持 红灯点亮。3、东西方向的黄灯闪烁 5 秒钟后,转为东西方向的红灯和南北方 向的绿灯同时点亮 20 秒钟;4、20 秒钟后,转为南北方向的黄灯

7、闪烁 5 秒钟,此时东西方向仍 维持红灯点亮。5、南北方向的黄灯闪烁 5 秒钟后,东西方向的绿灯和南北方向的 红灯同时点亮 20 秒钟。如此循环重复。在设计过程中,因为延时是通过编写程序实现的,而程序里面 是通过执行指令的次数以达到延时,切执行一条指令的时间有很难 计算,所以本次设计只是大概地估计了一下延时的时间,这是一点 不足之处,若采用硬件延时 <比如用 8253 定时器)的话,也许会使 延时的时间相对的准确些。五、设计体会及收获 :<1)的心得:通过一星期微机接口的课程设计,我们对微机接口芯片有了更 进一步的了解。这次实验通过使用了 8254计数器、 8255可编程并 行接口

8、实现了交通灯的控制。因为这学期微机接口这门课学的不是扎实,所以在调试程序中 出现了很多问题。所以刚开始在做这个设计时,我们首先将以前做 过的 8254计数器、 8255可编程的实验重新做了一遍,对这些芯片 有了更进一步的理解。然后通过网上查阅了很多资料和老师的指 导,总算了解了 8254计数器、 8255可编程等芯片的操作方式,对 整个课程设计也有了总体的轮廓,通过学过的知识以及做过的实 验,最后有了圆满的结果。通过本次课程设计我们学到了很多新的东西,极大地拓宽了知识 面, 锻炼了能力,综合素质得到较大提高,感到收获不小。也发现了 大量问题,有些在设计过程中已经解决,有些还要待今后慢慢学 习,

9、只要学习就会有更多的问题,有更多的难点,但也会有更多的 收获。<2)的心得: 通过这次微机原理的实习,我学到了很多平时在课堂上不能学到 的东西。对于这次选择的交通灯的设计,我最开始抱着的是不能实 现的态度,但是在我们组的共同努力下,经过了三天,我们终于有 了一定的思路。虽然在中途我们遇到了机器有问题的难题,但是我 们还是成功的解决了种种困难,最终取得了成功。通过这次课程设 计,我加深了对 8255,8254 芯片的工作方式的认识和使用方法,也对微机原理的理解更加的深刻了,对于实际动手能力的锻炼我也得 到了很到的提高。<3)的心得:通过此次课程设计,结合所学的微机原理与接口技术这门课

10、 程的知识,对其应用之一一一交通灯控制器进行设计与实现。总体 感觉收获比较多,因为可以将书本上的知识应用到实践当中。刚开 始的时候,翻阅了一些资料,还是没有什么头绪,后来在老师和同 学的帮助下,终于找到了入口点,接下来的事情就相对的容易一些 了。首先,把握整个的设计的大概的流程,然后再对每一个分快进 行设计,最后进行调试。在设计的过程中,很重要的一点是要熟悉 可编程并行通信接口芯片8255A的初始化及其端口的使用。此次课 程设计感觉收获很多,比如,翻阅资料提高了自学能力,和同学一 起讨论汲取别人的长处。希望老师能够引导学生应该如何去把握、 分析课程设计的主题,找出突破点,让学生积极主动进行课程

11、设 计,以使学生更好地提高自学的能力。<4)的心得:通过此次实验,使我全面的解了微机接口的运行方式,以及汇编语 言与接口之间的关系.同时加深了我对8255,8254芯片的工作方式的 认识和使用方法。本次设计中我们克服了很多难题,在同伴的努力 下我们还是按时完成了任务。而且最难的就是硬件的调试,我们最 开始的时候因为机器有问题,我们怎么也不能成功,但是我们换了 一台机器后我们终于成功的看到了实验现象。通过本次课设学到很多课堂上学不到的调试知识,对Debug有了一定的了解。通过实践也加深了对理论知识的理解。很感谢学校 给我们提供了这么好的学习机会。六、源代码及注释:MY8255_B EQU

12、9C61HMY8255_C EQU 9C62HMY8255_MODE EQU 9C63HMY8254_COUNT0 EQU 9C40HMY8254_MODE EQU 9C43HDATA SEGMENTLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 。数码管七段代码表DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE 。8255 初始化 ,连接端口 IOY3MOV AL,10000001B 。A 口输出接二极管,B 口输出接数

13、码管, CO输入,C4C5输出OUT DX,ALMOV CX,30。计时 30 秒A1: MOV DX,MY8255_A。 8255的 A 口接 LEDMOV AL,01111011B 。东西红,南北绿OUT DX,AL。将灯状态传送给 LED 显示CALL INITIAL_8254LOOP2:MOV AH,0BHINT 21HCMP AL,0JNZ EXIT0JMP L1EXIT0:MOV AH,4CHINT 21HL1: CALL DISPL2: MOV DX,MY8255_CIN AL,DXTEST AL,1HJE LOOP2DEC CXCMP CX,3。计时 3 秒JA A1JMP A

14、2A2: MOV DX,MY8255_AMOV AL,01110111B 。东西红,南北黄OUT DX,ALCALL INITIAL_8254LOOP4:MOV AH,0BHINT 21HCMP AL,0JNZ EXIT1JMP L3EXIT1:MOV AH,4CHINT 21HL3: CALL DISPL4: MOV DX,MY8255_CIN AL,DXTEST AL,1HJE LOOP4DEC CXCMP CX,0JE PJMP A2P: MOV CX,30 。计时 30 秒JMP A3A3: MOV DX,MY8255_A。东西绿,南北红MOV AL,11001111BOUT DX,A

15、LCALL INITIAL_8254LOOP5:MOV AH,0BHINT 21HCMP AL,0JNZ EXIT2JMP L6EXIT2:MOV AH,4CHINT 21HL6: CALL DISPL7: MOV DX,MY8255_CIN AL,DXTEST AL,1HJE LOOP5DEC CX 。计时 3 秒CMP CX,3JA A3JMP A4A4:MOV DX,MY8255_A。东西黄,南北红MOV AL,10101111BOUT DX,ALCALL INITIAL_8254LOOP6:MOV AH,0BHINT 21HCMP AL,0JNZ EXIT3JMP L8EXIT3:MO

16、V AH,4CHINT 21HL8: CALL DISPL9: MOV DX,MY8255_CIN AL,DXTEST AL,1HJE LOOP6DEC CXCMP CX,0JE PPJMP A4PP:MOV AH,0BHINT 21HCMP AL,0JNZ EXITJMP STARTEXIT:MOV AH,4CHINT 21HINITIAL_8254 PROC。8254初始化 ,1sPUSH AXPUSH DXMOV DX,MY8254_MODE 。初始化,计数器 0 工作在方式 0,先写低 8 位,再写高 8 位, BCD 方式计数MOV AL,00110001BOUT DX,ALMOV DX,MY8254_COUNT0MOV AL,00H。写低 8 位OUT DX,ALMOV AL,10H。写高 8 位OUT DX,ALPOP DXPOP AXINITIAL_8254 ENDPDISP PROC 。数码管显示PUSH AXPUSH BXPUSH DXPUSH CXDEC CXMOV DX,MY8255_C 。将 CL 中二进制数转化为十进制数MOV AL,11101111BOUT DX,ALMOV AX,CXMOV CL,0AH 。将十位数放在高位数码管,将个位数放在低位数码管DIV CLPUSH AXMOV BX,OFFSET LEDXLAT 。显示十位码MO

温馨提示

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

评论

0/150

提交评论