您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页十字路口信号灯~~

十字路口信号灯~~

来源:筏尚旅游网


沈 阳 工 程 学 院

课 程 设 计

课程设计题目:十字路口交通信号灯设计

系 别 班级 学生姓名 学号 指导教师 职称

起止日期:2011年11月21日起——至2011年11月25日止

沈 阳 工 程 学 院

课程设计任务书

课程设计题目:十字路口交通信号灯设计

系 别 班级 学生姓名 学号 指导教师 职称

课程设计进行地点: 微机原理实验室(F106) 任 务 下 达 时 间: 2011 年 11月 17 日

起止日期: 2011 年 11 月21日起——至 2011年11月25日止 教研室主任 王健 2011年 11月 17 日批准

I

一、设计目的

通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。

二、设计的原始资料及依据

查阅可编程并行芯片8255或其他相关资料。

用简单的输入输出端口等硬件,配合延时和控制程序控制灯的亮灭。

三、设计的主要内容及要求

内容:利用微机原理试验箱,采两组红,黄,绿发光二极管来模拟A,B两路交差路口的信号灯控制。

要求:按实际交通灯控制规程控制。

四、对设计说明书撰写内容、格式、字数的要求

1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

2.学生应撰写的内容为:目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.说明书(论文)手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。

4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。

五、 设计完成后应提交成果的种类、数量、质量等方面的要求

提交课程设计说明书一份。在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。

六、时间进度安排

II

顺序 阶段日期 1 2 3 4 1.5天 2.5天 0.5天 0.5天 计 划 完 成 内 容 查阅资料及程序设计 上机调试程序 成绩评定 书写报告 备注 七、主要参考资料(文献)。

1、《微机原理与应用》大连理工大学出版社 2、《微机原理与接口技术》北京航空航天大学出版社 3、《微型计算机原理与汇编语言》电子工业出版社 4、《8088/8086汇编语言程序设计》广播电视大学出版社

III

沈 阳 工 程 学 院 微机接口与通信课程设计评定表

系(部): 班级: 学生姓名:

指 导 教 师 评 审 意 见 评价 内容 具 体 要 求 权重 0.1 5 评 分 4 3 2 加权分 调研 能查阅文献,收集资料;能制定课程设计方案论证 和日程安排。 工作工作态度认真,遵守纪律,出勤情况是否良好,能能力 够完成设计工作, 态度 工作量 按期完成规定的设计任务,工作量饱满,难度适宜。 0.2 5 4 3 2 0.2 5 4 3 2 说明说明书立论正确,论述充分,结论严谨合理,文字书的通顺,技术用语准确,符号统一,编号齐全,图表质量 完备,书写工整规范。 0.5 5 4 3 2 指导教师评审成绩 (加权分合计乘以12) 指 导 教 师 签 名: 分 加权分合计 年 月 日 评 阅 教 师 评 审 意 见 评价 内容 内容 答辩 具 体 要 求 思路清晰,语言表达准确,概念清楚,论点正确;分析归纳合理;结论严谨;设计有应用价值。 回答问题有理论根据,基本概念清楚。主要问题回答准确,深入。 权重 0.5 0.4 0.1 评 分 加权分 5 5 5 4 4 4 3 3 3 2 2 2 时间 符合要求 评阅教师评审成绩 (加权分合计乘以8) 评 阅 教 师 签 名: 课 程 设 计 总 评 成 绩

IV

分 加权分合计 年 月 日 分 摘 要

随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程, 理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。

十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

本次的交通灯信号设计主要由可编程并行接口8255A、中断控制器8259等芯片组成。主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况,即用A端口和B端口做为输出端口,而C端口设计为紧急情况控制开关。通过控制A、B端口的输出值来控制交通灯的状态。如果C端口中的值为“1”,则相当于遇到紧急事故,十字路口的信号灯全为红灯,使该路口停止通行。

关键词: 微型计算机,十字路口交通灯, 8255A

V

目 录

摘 要 ....................................................................... V 1 设计任务描述 .............................................................. 1

1.1 设计题目 .................................................................... 1 1.2 设计内容 .................................................................... 1

1.2.1 设计目的 ....................................................... 1 1.2.2 设计内容及要求 ................................................. 1

2 题目分析与设计原理 ........................................................ 2

2.1 题目分析 .................................................................... 2 2.2 程序设计流程图 .............................................................. 2 3 主要芯片介绍 .............................................................. 3

3.1 可编程并行接口8255A ....................................................... 3

3.1.1 8255A的内部结构与引脚功能 ..................................... 3 3.1.2 8255A的工作方式及控制字 ....................................... 5 3.2 中断控制器8259 ............................................................. 6

3.2.1 8259的内部结构与引脚功能 ...................................... 7 3.2.2 8259的工作方式及编程 .......................................... 9

4 源程序及注释 ............................................................. 13 5 主要程序分析 ............................................................. 17

5.1 8255的初始化 .............................................................. 17 5.2 信号灯的控制方法 .......................................................... 17

5.2.1 红绿灯的控制 .................................................. 17 5.2.2 黄灯的控制 .................................................... 17 5.3 调用程序 ................................................................... 18 结 论 ...................................................................... 19 致 谢 ...................................................................... 20 参考文献 ................................................................... 21 附录A1.1 实际硬件接线图 .................................................. 22

微机接口与通信课程设计

1 设计任务描述

1.1 设计题目

十字路口交通信号灯设计。

1.2 设计内容

1.2.1 设计目的

通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。 1.2.2 设计内容及要求

内容:利用微机原理试验箱,采两组红,黄,绿发光二极管来模拟A,B两路交差路口的信号灯控制。

要求:按实际交通灯控制规程控制。

1

微机接口与通信课程设计 2 题目分析与设计原理

2.1 题目分析

交通信号灯的模拟是用8255A的A口控制东西方向的交通灯,用8255A的B口控制南北方向的交通灯。当程序正常运行时,依次为东西方向的绿灯和南北方向的红灯亮,通过延时程序进行一段延时后,东西方向的绿灯灭后东西方向的黄灯闪三次,随后东西方向的红灯和南北方向的绿灯亮并进行延时,延时后,南北方向的黄灯闪三次,之后同理进行循环。

在此设计中,将8255A的A、B两个口均设为输出口,C口设为输入口接受紧急状态信号。具体为:PA7、PA6控制东西方向的红灯;PB7、PB6控制南北方向的红灯;PA1、PA0控制东西方向的绿灯;PB1、PB0控制南北方向的绿灯;PA4、PA3控制东西方向的黄灯;PB4、PB3控制南北方向的黄灯。而各灯的亮灭情况则是通过相关控制口送入相关控制字来实现的。在延时子程序中应用LOOP语句的执行时间使其达到一定的循环次数进而获得一定的延时时间。当8086/8088的CPU在执行其正常程序时,有一中断程序向CPU发出中断请求,CPU先要关中断,把其正在执行的程序压到已定义好的堆栈段当中,将中断程序MIR7的偏移地址和段地址取出放在源变址当中,然后在开中断,执行中断程序,强制东西方向和南北方向的红灯全亮。利用8255A的C口接单次脉冲单元的KK2来进行还原。中断程序执行完后关中断,让压在堆栈段中的程序出栈,CPU继续执行出栈的程序。

2.2 程序设计流程图

2

微机接口与通信课程设计

3 主要芯片介绍

3.1 可编程并行接口8255A

在计算机系统中,CPU和外部设备要进行数据传输,必须采用接口电路来实现,而接口与外设之间的数据传送方式有两种:串行传送方式和并行传送方式。在并行接口中,通常采用可编程并行接口芯片与主机连接。由于可编程因此其工作方式和功能可根据需要加以改变,使用灵活、方便。Intel 8255A就是应用最广泛的典型可编程并行接口芯片之一。 3.1.1 8255A的内部结构与引脚功能

1. 8255A内部结构

8255A的内部结构图,如图3.1所示。

图3.1 8255A的内部结构图

⑴ 数据接口

8255A有3个8位的数据接口,即接口A、接口B、和接口C。使用者可以用软件使它们分别作为输入接口或输出接口。

⑵ A组控制和B组控制

这两组控制电路一方面接收芯片内部总线上的控制字,一方面接收来自读/写控制逻辑电路的读/写命令,从而决定两端口的工作方式和读/写操作。

⑶ 读/写控制逻辑电路

3

微机接口与通信课程设计

读/写逻辑电路负责管理8255A的数据传输过程。它接收来自系统地址总线和信号A1、A0和控制总线信号RESET、/WR、/RD,将这些信号组合后,得到A组控制部件和B组控制部件的控制命令,并将命令发给两个部件,完成对数据、状态信息和控制信息的传输。

⑷ 数据总线缓冲器

这是个双向三态8位数据缓冲器,8255A通过它与系统数据总线相连。 2. 8255A的引脚功能

8255A是一个采用NMOS工艺制造的40个引脚的双列直插式组建,其外部引脚如图3.2所示。

图3.2 8255A的外部引脚图

8255A具有面向主机系统总线和面向外设两个方向的连接能力,即通过8255A,CPU可直接同外设相连接,负责CPU和外设之间的数据传送。

⑴ 面向系统总线的信号线

D0~~D7:双向数据线;CPU通过它向8255A发送命令、数据;8255A通过它向CPU回送状态、数据。

/CS:选片信号线,该信号线低电平有效,由系统总线经I/O地址译码器产生。 A1、A0:芯片内部端口地址信号线,与系统地址总线地位相连。

/RD:读信号线,该信号低电平有效,CPU通过执行IN指令,发读信号将数据或状态信号从8255A读至CPU。

/WR:写信号线,该信号低电平有效,CPU通过执行OUT指令,发写信号,将命令或数据写入8255A。

RESET:复位信号线,该信号高电平有效。 ⑵ 面向I/O设备的信号线

4

微机接口与通信课程设计

PA0~~PA1:端口A的输入/输出线。 PB0~~PB7:端口B的输入/输出线。 PC0~~PC7:端口C的输入/输出线。

这24根信号线均可用来连接I/O设备,通过它们传送数字量信息或开关量信息。 3.1.2 8255A的工作方式及控制字

1. 8255A的工作方式

8255A有三种工作方式,分别称为方式0、方式1和方式2.其中端口A可以工作在三种方式中的任一种;端口B只能工作在方式0和方式1;端口C通常作为控制信号使用,配合端口A和端口B工作。

⑴ 方式0——基本输入/输出方式

在这种方式下,任何一种端口(端口A、端口C上半部,端口B、端口C下半部)都可以通过方式的控制字规定作为输入口,也可以为输出口,各端口之间没有规定必然的关系。各个端口的输入或输出可以有16种不同的组合,如表3.1所示。

表3.1 方式0下各个端口的输入、输出组合 控制字 序号 D7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 D3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 D2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5

A组 16D1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 进制 80H 81H 82H 83H 84H 85H 86H 87H 88H H 8AH 8BH 8CH 8DH 8EH 8FH A口 出 出 出 出 出 出 出 出 入 入 入 入 入 入 入 入 C口上 出 出 出 出 入 入 入 入 出 出 出 出 入 入 入 入 B组 B口 出 出 入 入 出 出 入 入 出 出 入 入 出 出 入 入 C口下 出 入 出 入 出 入 出 入 出 入 出 入 出 入 出 入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 微机接口与通信课程设计

方式0的输出有锁存功能,而输入不锁存。方式0常用于收发双方无需联络信号的同步传送场合,也可以用于查询传送方式。

⑵ 方式1——选通输入/输出方式

和方式0相比,方式1最重要的差别是端口A和端口B用方式1进行输入/输出传送时,要利用端口C提供的选通信号和应答信号,而这些信号与端口C的数位之间有着固定的对应关系。

⑶ 方式2——双向输入/输出方式

这样方式只适用于端口A。在方式2下,外设可以在8位数据线上既往CPU发送数据又从CPU接收数据。此外,和工作于方式1情况类似,端口C在端口A工作于方式2时自动提供相应的5个控制信号。

2. 8255A的控制字

8255A可以通过在控制端口中设置控制字来决定它的工作方式。8255A的控制字有两个:方式选择控制字和端口C按位置位/复位控制字。方式控制字第7位总是1,而端口C按位置位/复位控制字第7位总是0,所以第7位称为区分两个控制字的标识位。方式选择控制字及其每一位的含义如图3.3所示。

图3.3 8255A方式选择控制字及含义

3.2 中断控制器8259

8259A是由Intel公司生产的可编程中断控制芯片。它用来管理外设向 CPU提出的中断请求、实现优先级管理、提供中断向量、屏蔽中断输入等。它能直接管理8级中断。若

6

微机接口与通信课程设计

采用级联方式,即主8259A接8个外设接口的引脚都与另外8个8259A相连,则不需附加外部电路,用 9片 8259A可管理级中断。 8259A有多种工作方式,能适应各种系统要求。

3.2.1 8259的内部结构与引脚功能

⒈ 8259的内部结构

8259的内部结构如图3.4所示。

图3.4 8259的内部结构

⑴ 中断请求寄存器IRR ⑵ 中断服务寄存器ISR

⑶ 中断屏蔽寄存器IMR ⑷ 优先权判别器PR ⑸ 数据总线缓冲器 ⑹ 读写控制逻辑

⑺ 级联缓冲器/比较器 ⑻ 控制逻辑部分 2.8255A的引脚功能

8259的外部引脚图如图3.5所示。

7

微机接口与通信课程设计

图3.5 8259的外部引脚图

(1)中断请求输入线IR7一IR0接收来自外设或8259A从片的中断请求信号,可设置为上升沿触发或高电平触发。

(2)双向三态数据线D7—D0

可与系统数据总线直接相连,也可通过总线缓冲器与系统数据总线相连。构成CPU和8259A之间信息传送的通道。

(3)中断请求线INT,输出信号,通常与CPU的可屏蔽中断输入端INTR相连,向CPU送中断请求信号。

(4)中断响应线INTA

接收CPU在中断响应周期发来的中断响应信号,8259A接到此信号后,送上中断类型码。中断类型码由编程设定。

(5)片选线

由CPU的高位地址线控制,当CS=0时,8259A被选中,允许CPU对8259A进行读或写操作。CS=1表示未选中该片。

(6)地址线A0 用以选择8259A内部不同寄存器。在8086系统中,8259A的D7一D0与系统数据线低8位相连,而CPU与偶地址传递低8位数据信息,所以A0应与8086CPU的A1相连。

(7)读信号RD

低电平有效。当RD=0,允许8259A将IRR、ISR、IMR的内容送上数据线,供CPU读取。

(8)写信号WR

低电平有效。当WR=0,允许CPU将命令字写入8259A。 (9)级联线CAS2一CAS0 在主从式中断管理系统中,全部8259A的CAS2一CAS0与对

8

微机接口与通信课程设计

应端相连,作为主片的8259A,其CAS2~CAS0为输出线,在CPU响应中断时,用来输出级联设备编码,选中对应的从片;作为从片的8259A,其CAS2一CAS0为输入线,接收来自主片的设备编码。

(10)从片编程/缓冲位能SP/EN,8259A可以工作于单片或多片(级联)、非缓冲或缓冲方式。

3.8259A的工作原理

8259A对外部中断请求的处理过程如下:

(1)当8259A接收来自引脚IR0~IR7的某一引脚的中断请求后应位便置1,即对这一中断请求作了锁存。

(2)锁存之后,逻辑电路根据中断屏蔽寄存器IMR中的对应位决定是否屏蔽此中断请求:如果IMR中的对应位为0,则表示允许此中断请求,让它进人中断优先级裁决器PR作裁决;如果IMR中的对应位为1.则说明此中断受到屏蔽,禁止它进人中断优先级裁决器PR。

(3)中断优先级裁决器PR把新进入的中断请求和当前正在处理的中断比较,从而决定哪一个优先级更高。如果新进入的中断请求具有更高的优先级.那么,PR会通过相应的逻辑电路使8259A的输出端INT为1,从而向CPU发出一个中断请求。

(4)如果CPU的中断允许标志IF为1、那么CPU执行完当前指令后, 就可以响应中断,这时,CPU(对8086而言)从线上往8259A回送第一个脉冲。第一个负脉冲到达时,8259A完成以下3个任务:

①使IRR的做在功能失效。这样,在IR7~IR0线上的中断请求信号就暂时不予接收,直到第二个负脉冲到达时,才又使IRR的锁存功能有效。

②使当前中断服务寄存器ISR中的相应位置1,以便为中断优先级裁决器以后的工作提供判断依据。

③使IRR寄存器中的相应位清0。

在此同期中,8259A并不向系统数据总线送任何内容。

(5)接着CPU启动第二个中断响应周期,输出另一个脉冲。在此周期,8259A完成下列动作:

①恢复IRR对外部中断请求的锁存功能。

②将中断类型寄存器中的内容ICW2送到数据总线的D7~D0,CPU读入。CPU读取此向量,从而获得中断服务程序的入口地址(包括段地址和段内偏移量)。 ③中断响应周期完成后,CPU就可以转至中断服务程序。

若259A工作在中断自动结束方式,即AEOI模式在第二个脉冲结束时,使ISR的相应位复位;否则,直至中断服务程序结束,发出EOI命令,才使的相应位复位。 3.2.2 8259的工作方式及编程

⒈ 8259的工作方式 ⑴中断触发方式

9

微机接口与通信课程设计

8259A中断请求输入端IR0~IR7的触发方式有电平触发和边沿触发两种,可由软件设定。

⑵中断屏蔽方式

中断屏蔽方式是对8259的外部中断请求源IR0 ~IR7 实现屏蔽的一种中断管理方式分为普通屏弊方式和特殊屏蔽方式。

⑶中断优先权设置方式

对多个外设的中断请求进行优先权管理是8259A的主要功能。它提供了多种优先权管理方式。

⑷中断结束方式

中断结束是指当CPU为某个中断请求设备服务结束后,应及时清除中断服务标志位否则就意味着中断服务还在继续,致使其它中断请求恢号无法得到响应。

⑸中断嵌套方式

中断嵌套方式分为完全嵌套和特殊完全嵌套两化。 ⑹连接系统总线方式 ①缓冲方式 ②非缓冲方式

⑺中断查询方式, 8259A提供了中断查询方式。这种方式下,外设仍然靠中断申请要求服务,但CPU不是通过中断申请的响应而是靠主动查询实现对外设的服务。在CPU关中断情况下,外设的中断请求信号不被响应,但CPU可以通过查询方式检查请求中断的外设,获取中断请求信号,从而进人中断服务。

⑻级联方式

8259A可以级联使用,一个主8259A 可以带多至8个从8259A,将中断源扩展到级。 ⒉ 8259的编程 ⑴8259的初始化

①初始化命令字ICW的格式

初始化编程中可供写入的命令字有四个,分别称为ICW1,ICW2、ICW3和ICW4。其中,ICW1占用一个端口地址。约定端口选择线A0为“0”,ICW2~ICW4共用一个端口地址,约定A0为“1”。

1) 初始化命令字ICW1

2) 初始化命令字ICW2

8086/88模式下,仅用ICW2提供不同中断源的中断向量码。当中断响应时,根据中断

10

微机接口与通信课程设计

向量表获得入口地址。

3) 初始化命令字ICW3

该命令字用于多片8259的级联。

4) 初始化命令字ICW4

ICW4 只有在 ICW1中的 IC4= 1时才需要设置,其格式如下所示:

②8259 操作命令字OCW

对8259初始化之后,该芯片就进入工作状态,准备好接收IR端进入的中断请求。 1) 操作命令字OCW1

它用于设置对8259中断的屏蔽操作。该八位的操作字的某一位为1时,它就屏蔽相

11

微机接口与通信课程设计

对应的IR输入。

2) 操作命令字OCW2

该命令字用来设置优先级是否循环、循环的方式及中断结束的方式。

3) 操作命令字OCW2

OCW3有三方面的功能:控制8259A的中断功能、设置中断查询方式、设置读8259A内部寄存器命令。

12

微机接口与通信课程设计

4 源程序及注释

;=========================================== ; 每一组交通灯从左到右依次为红、黄、绿 ; 用8255A控制东西方向交通灯 ; 用8255B控制南北方向交通灯 ; 用8255C模拟事故结束

; 用8259的MIR7接KK1模拟紧急情况发生(红灯全亮) ;=========================================== SSTACK SEGMENT STACK ;定义堆栈段 DW 32 DUP(?) SSTACK ENDS

CODE SEGMENT ;定义代码段 ASSUME CS:CODE,SS:SSTACK

START: MOV AL,H ;10001001,8255初始化 MOV DX,06H ; 控制口地址送DX OUT DX,AL ;输入8255控制字

;A、B口输出 C口输入 工作方式0 PUSH DS ;初始化中断向量表 MOV AX,0 MOV DS,AX

MOV SI,003CH ;中断矢量地址 MOV DX,OFFSET JJSG ;取中断入口地址 MOV [SI],DX

MOV AX, SEG JJSG ;取中断服务程序段地址 MOV SI, 003EH

MOV [SI],AX

CLI ;关中断

POP DS

SET8259: MOV AL,13H ;8259初始化

OUT 20H,AL ;ICW1 边沿触发 单片 要ICW4 MOV AL,08H

OUT 21H,AL ;ICW2 中断向量码 MOV AL,01H

OUT 21H,AL ;ICW4 非缓冲 非自动 8088 MOV AL,7FH

13

微机接口与通信课程设计

OUT 21H,AL ;OCW1 IR7非屏蔽

STI ;开中断 WEGREEN: MOV AL,03H MOV DX,0H

OUT DX,AL ;东、西方向亮绿交通灯 MOV AL,0C0H MOV DX,2H

OUT DX,AL ; MOV BX,0FFH

TT1: MOV CX,2FFFH ; MOV AL,03H ; MOV DX,0H

OUT DX,AL LOOP $ DEC BX

JNZ TT1 ; MOV CX,3 ;WEYELLOW: MOV AL,18H

MOV DX,0H

OUT DX,AL ; MOV BX,0FH TT2: CALL DELAY DEC BX

JNZ TT2 ; MOV AL,00H MOV DX,0H

OUT DX,AL ; MOV BX,0FH

TT3: CALL DELAY ; DEC BX

JNZ TT3

LOOP WEYELLOW ;SNGREEN: MOV AL,0C0H MOV DX,0H

OUT DX,AL ; MOV AL,03H MOV DX,2H

南、北方向亮红交通灯 通过BX计数来控制TT1循环次数使中断返回时保持上一状态 调用延时程序

东、西方向黄灯循环次数 东、西方向黄灯亮 调用延时程序 东、西方向黄灯灭 调用延时程序

循环东、西黄灯亮灭过程 东、西方向亮红交通灯 14

微机接口与通信课程设计

OUT DX,AL ;南、北方向亮绿交通灯

MOV BX,0FFH ;用BX控制TT4的循环次数 TT4: MOV CX,2FFFH

MOV AL,03H ;中断返回后保持上一状态 MOV DX,2H OUT DX,AL LOOP $ DEC BX

JNZ TT4

MOV CX,3 ;SNYELLOW: MOV AL,18H MOV DX,2H

OUT DX,AL ;

MOV BX,0FH TT5: CALL DELAY DEC BX

JNZ TT5 ; MOV AL,00H

MOV DX,2H

OUT DX,AL ; MOV BX,0FH

TT6: CALL DELAY ; DEC BX JNZ TT6

LOOP SNYELLOW ; JMP WEGREEN ;DELAY: PUSH CX ; MOV CX,2FFFH ; PUSH AX POP AX

LOOP $ POP CX RET

JJSG: PUSH DX PUSH AX

MOV DX,0H ;

南、北方向黄灯循环次数 南、北方向黄灯亮 调用延时程序 南、北方向黄灯灭 调用延时程序 循环南、北黄灯亮灭过程 整个交通灯过程循环 延时程序

设置CX循环计数值

紧急事故发生时强制东西方向红灯亮15

微机接口与通信课程设计

MOV AL,0C0H

OUT DX,AL

MOV DX,2H ;紧急事故发生时强制南北方向红灯亮 MOV AL,0C0H

OUT DX,AL

GZD: MOV DX,4H ;C口下地址 IN AL,DX ; AND AL,01H

JZ GZD ; MOV AL,20H ;OCW2 OUT 20H,AL

POP AX POP DX

STI ; IRET ;CODE ENDS

END START

读C口下数据 检测故障是否消除 关中断 ;中断结束命令 开中断 中断返回 16

微机接口与通信课程设计

5 主要程序分析

5.1 8255的初始化

MOV AL,H MOV DX,6H OUT DX,AL

将8255的控制字送给它的控制寄存器,控制字H表示A端口输出,B端口输出,C端口输入,工作方式0。这样就实现了对8255三个端口的初始化。

5.2 信号灯的控制方法

5.2.1 红绿灯的控制

MOV AL,03H

MOV DX,0H

OUT DX,AL MOV AL,0C0H

MOV DX,2H

OUT DX,AL MOV BX,0FFH

MOV CX,2FFFH MOV AL,03H MOV DX,0H

OUT DX,AL LOOP $ DEC BX

JNZ TT1

在上面的程序中,03H为送入A口来的控制二极管发光的特定值,03H转化为二进制数是00000011B,由上表可知代表东西路口的绿灯,0C0H为送入B口来的控制二极管发光的特定值,0C0H转化为二进制数是11000000B。在保持这种状态一段时间后,红绿灯将跳转,在这时绿灯熄灭等待,黄灯给出跳转信号。其他部分与此程序相同。 5.2.2 黄灯的控制

MOV CX,3

17

微机接口与通信课程设计

MOV AL,18H

MOV DX,0H OUT DX,AL MOV BX,0FH CALL DELAY DEC BX JNZ TT2 MOV AL,00H MOV DX,0H OUT DX,AL MOV BX,0FH CALL DELAY DEC BX JNZ TT3

LOOP WEYELLOW

这个程序的控制原理与红绿灯的控制原理是一样的,将18H既00011000送给端口A,控制东西方向的黄灯亮,但根据实际情况黄的不能保持不变,必须闪烁,所以在黄灯亮一小段时间后将00H送入A口,使东西方向黄灯熄灭,这样就形成了闪烁的过程,使黄灯闪烁两次之后再跳转到下一状态。

5.3 调用程序

DELAY: PUSH CX

MOV CX,2FFFH PUSH AX POP AX

LOOP $ POP CX RET

调用子程序,起到延时的作用,使交通信号灯的变化尽量模拟实际信号灯的时间变化。

18

微机接口与通信课程设计

结 论

通过这次课设使我对微处理器8086,中断控制器8259,并行接口芯片8255A的工作原理有了进一步的了解和掌握。这次课程设计,使我更加深刻的理解到了微机接口是做什么的,尤其是怎样使用这些芯片使其发挥出如交通灯这样丰富的功能的。通过使用8259中断控制器、8255A可编程并行接口实现了交通灯的实时管理与控制。在做这个设计时,我首先复习了以前做过的关于8259中断控制器、8255A可编程的实验,进一步加深了对这些芯片的理解。通过查阅课本和试验指导书等相关资料,和在老师的指导下,我了解了8259中断控制器、8255A可编程等芯片的操作方式,TDN86/88系统的连接布线、地址分配情况和使用方法。

在我们小组的整个课程设计中,曲乐声老师和王德君老师对我们的帮助是最大的,为我们解决了很多问题,可以说,没有两位老师的帮助就不能成功的完成本次课程设计。曲老师每天都准时的到达实训教室,细心的指导每个小组,还为我们讲解了很多操作上的捷径,为我们讲解了一些附加的知识,这样就使我们能在以后的工作和学习中有很大的帮助。我们为遇到这样一个好老师而感到高兴!在设计完善过程中,我们也遇到了这样或那样的技术问题,但经过两位老师指导帮助和自己的不懈努力及查阅大量的资料,最终都得到了基本满意的答案。

经过这次的课程设计,我重新将微机接口的知识复习了一遍,认识到它在现实中的重要意义,受益颇深。在这个过程中,遇到了许多意想不到的问题,自己感觉最主要的就是在下笔之前,一定要认真思考,将要解决的问题和可能出现的问题充分考虑到,从整体上形成一个清晰的流程图,这样以后的编程工作才能变得更加有意义,否则会事倍功半的,将会在编程工作中遇到许多逻辑上的错误和考虑不周到而导致的错误。所以我想只有通过实践才能学的更好,学的更扎实。

19

微机接口与通信课程设计

致 谢

一周的课设时间结束了,首先我要感谢老师每天不辞劳苦为我们细心的讲解和指导,让我明白了自己许多不足之处,以后的时间要抓紧学习。在这次设计中,我不但学到了以前不知道的东西,而且也巩固了以前在书本上学的东西,更重要的是在这次实践过程中理解了课本上的东西,我更明白了自己的知识是多么的不足。感谢老师在此次课程设计中给予我热情而耐心的指导,指出我设计的不足之处以及提供的资料。还有感谢我的同学,在我设计出现困难的时候,通过和他们一起讨论研究,解决了许多难题,交流各自的思想,学到了许多新知识。感谢这一周的时间里老师的指导和同学的帮助使我的设计够顺利地进行下来。在此忠心的感谢本次设计中给我了帮助的人!

20

微机接口与通信课程设计

参考文献

[1]李继灿.新编16/32微型计算机原理及用.清华大学出版社.

[2]王庆利、李珍.微型计算机原理及应用.西安电子科技大学出版社. [3]宋杰、汪志宏、江敏.微机原理与接口技术课程设计.机械工业出版社. [4]朱定华.微机原理、汇编与接口技术学习指导.清华大学出版社. [5]任向民.微机接口技术实用教程.清华大学出版社.

[6]戴梅萼、史嘉权编. 微型计算机技术及应用.清华大学出版社. [7]艾德才.微机接口技术实用教程.清华大学出版社.

21

微机接口与通信课程设计 附录A1.1 实际硬件接线图

22

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务