《微机原理与接口技术》课程设计-交通灯

上传人:鲁** 文档编号:504796450 上传时间:2023-12-18 格式:DOC 页数:8 大小:635.10KB
返回 下载 相关 举报
《微机原理与接口技术》课程设计-交通灯_第1页
第1页 / 共8页
《微机原理与接口技术》课程设计-交通灯_第2页
第2页 / 共8页
《微机原理与接口技术》课程设计-交通灯_第3页
第3页 / 共8页
《微机原理与接口技术》课程设计-交通灯_第4页
第4页 / 共8页
《微机原理与接口技术》课程设计-交通灯_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《《微机原理与接口技术》课程设计-交通灯》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课程设计-交通灯(8页珍藏版)》请在金锄头文库上搜索。

1、院 系:专 业:年级班级:学 号:姓 名:指导教师:设计日期: 信息工程系 计算机科学与技术 12计本1班 1214110214 黄 福 朱 茜 2015年06月29日目录一课程设计目的3二课程设计任务3三总体设计方案3五程序设计流程图4六. 程序连接图5七程序清单5八实验结果11九课程设计总结和体会11一课程设计目的用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。 了解交通灯管理的基本工作原理 熟悉8253定时计数器的工作方式和编程应用 熟悉8255A并行接口的工作方式和编程应用二课程设计任务 本次课程设计的内容为双方向交

2、通信号灯的控制和管理。具体要求如下: 1东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3循环重复执行1和2两步骤。三总体设计方案 1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出3、实验中,8253采用两个计数器级联的方式达到

3、定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。四部分电路设计及功能解说 本程序设置的是东西车道亮路灯20秒,黄灯亮3秒,同时南北车道红灯23秒,接下来是东西车道红灯23秒,南北车道绿灯20秒,黄灯亮3秒。8253计数器1的OUT1连接8255A

4、的PA7,计数器2的OUT2连接PA6,通过判断PA6和PA7的高低电平来控制信号灯亮的时间。五 程序设计流程图 发光二极管电路红灯绿灯六. 程序连接图 PB0PB78255 PA0PA7 PC4PC7 PC0PC3 OUT2 8253计数器2 GATE2 CLK2 OUT1计数器1 GATE1 CLK1 OUT0计数器0 GATE0 CLK0七 程序清单CODE SEGMENTASSUME CS : CODEORG 2000HSTART :MOV DX ,0FF2BHMOV AL,90HOUT DX,AL ;初始化8255A,A口输入,B口、C口输出MOV DX,0043HMOV AL,36

5、HMOV DX,AL ;初始化8253计数器0,工作方式为模式3MOV AL,72HOUT DX,AL ;初始化8253计数器1,工作方式为模式1MOV AL,0B2HOUT DX,AL ;初始化8253计数器2,工作方式为模式1MOV DX,0FF29H L:MOV AL,7DHOUT DX,AL ;东西路口绿灯亮,南北路口红灯亮CALL TIMER_G ;调用延时20秒子程序MOV AL,7EHOUT DX,AL ;东西路口黄灯亮,南北路口红灯亮CALL TIMEY ;调用延时3秒子程序MOV AL,0DBHOUT DX,AL ;东西路口红灯亮,南北路口绿灯亮CALL TIMER_G ;调

6、用延时20秒子程序MOV AL,0EBHOUT DX,AL ;东西路口红灯亮,南北路口黄灯亮CALL TIMEY ;调用延时3秒子程序JMP L ;跳转到东西路口绿灯亮,南北路口红灯亮TIMER_G PROCPUSH DXPUSH AX ;将寄存器AX,DX压栈MOV DX,0040HMOV AX,10000OUT DX,ALMOV AL,AHOUT DX,AL ;给8253计数器0赋初值MOV AX,2000MOV DX,0041HOUT DX,ALMOV AL,AHOUT DX,AL ;给8253计数器1赋初值MOV DX,0FF28H P:IN AL,DX ;取8255A中A口的数据CM

7、P AL,80H ;若PA7为1则CPU继续检测PA7,直到PA7为0JNZ P ;则继续执行程序,延时完成POP AXPOP DXRETTIMEY PROCPUSH DXPUSH AXMOV DX,0040HMOV AX,10000OUT DX,ALMOV AL,AHOUT DX,AL ;给8253计数器0赋初值MOV DX,0042HMOV AX,300OUT DX,ALMOV AL,AHOUT DX,AL ;给8253计数器2赋初值MOV DX,0FF28H Q:IN AL,DX ;若PA6为1则CPU继续检测PA6,直到PA6为0CMP AL,40H ;则继续执行程序,延时完成JNZ

8、QPOP AXPOP DXRETCODE ENDSEND START八 实验结果 1东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和东西方向黄灯亮5秒。 2南北方向放行20秒钟后,转为南北方向的黄灯亮5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3循环重复执行1和2两步骤。九 课程设计总结和体会 本次实验,收获颇多,更形象地熟悉了8253定时计数器的6种工作方式的使用及其特点,包括每种方式的控制字、启动方式、输出波形的特点等;也熟悉了8255A的三种工作方式以及A口、B口、C口各自工作的特点,熟练的对8255A进行初始化操作,和编程应用。通过动手接硬件电路,熟悉了8086CPU的结构和硬件连线,以及各类芯片的综合使用。通过本次实验中汇编代码的编写,巩固了汇编代码编写的基础,对汇编语法有了进一步认识,并且学会了编写和使用汇编子程序。 在这一过程中,我们充分发挥我们的主观能动性,想象创造性,攻克了很多之前都没有想过的难关,真的受益匪浅。这次设计不仅仅耗时耗力,而且还要整天对着电脑进行仿真且不停的调试、修改,这次课程设计对我们理论和实验都有很大的提升,我想这些对于我们今后的学习生活都有很重要的意义,这将是我们在程序设计以及大学学习过程中的宝贵经验和财富。11

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

当前位置:首页 > 幼儿/小学教育 > 小学课件

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