微机原理交通灯实时控制系统Word文档下载推荐.doc

上传人:wj 文档编号:8429288 上传时间:2023-05-11 格式:DOC 页数:21 大小:556KB
下载 相关 举报
微机原理交通灯实时控制系统Word文档下载推荐.doc_第1页
第1页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第2页
第2页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第3页
第3页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第4页
第4页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第5页
第5页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第6页
第6页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第7页
第7页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第8页
第8页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第9页
第9页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第10页
第10页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第11页
第11页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第12页
第12页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第13页
第13页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第14页
第14页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第15页
第15页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第16页
第16页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第17页
第17页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第18页
第18页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第19页
第19页 / 共21页
微机原理交通灯实时控制系统Word文档下载推荐.doc_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理交通灯实时控制系统Word文档下载推荐.doc

《微机原理交通灯实时控制系统Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《微机原理交通灯实时控制系统Word文档下载推荐.doc(21页珍藏版)》请在冰点文库上搜索。

微机原理交通灯实时控制系统Word文档下载推荐.doc

③硬件原理图与说明④实验电路图与说明

⑤软件主要模块流程图 ⑥源程序清单与注释

⑦系统调式、问题分析与解决方案;

⑧小结与体会

附录:

①源程序(必须有简单注释)②使用说明③参考资料

时间安排:

12月24日

布置题目,确定任务、查找相关资料

12月25日~12月27日

功能分析,硬件设计,拟定实验电路,编写程序,调试程序、运行系统;

12月28日

答辩后撰写设计报告。

12月28日下午4:

00前交设计报告。

指导教师签字:

2012年12月24日

系主任签字:

年月日

目录

1需求分析 1

1.1课程设计题目 1

1.2设计目的 1

1.3设计任务 1

1.4软硬件运行环境及开发工具 2

1.4.1软硬件运行环境 2

1.4.2开发工具 2

2.概要设计 2

2.1交通灯实时控制系统设计原理及方法 2

2.1.1设计原理 2

2.1.2系统原理图 3

2.1.3电路原理 3

2.1.4设计方法 4

3三. 详细设计 4

3.1硬件设计与软件设计 4

3.1.18255A芯片 4

3.1.28259芯片 5

3.2硬件电路的设计与实现 5

3.3软件设计 6

3.3.1红绿灯时间控制 6

3.3.2本实验中的中断的运用 6

4软件主要模块流程图 7

4.1程序总设计流程图 7

4.2延时1s子程序DELLAY1S流程图 8

4.3IRQ7中断子程序流程图 9

5.系统调试 11

5.1系统调试 11

5.2操作说明及运行结果 11

5.2.1操作说明 11

5.2.2运行结果 11

6.课程设计小结 12

13

参考文献 16

1需求分析

1.1课程设计题目

交通灯实时控制系统。

伴随着社会的发展以及人们生活水平的提高,汽车的数量在不断的增加,交通的问题日益突出,单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。

以下就是运用数字电子设计出的交通灯:

用红灯来控制支路的交通通行,用绿灯来控制主干道的交通通行(说明:

本设计不遵循红灯停,绿灯行的交通规则,只要灯亮就表示可以通行)。

1.2设计目的

1)巩固和加深课堂所学知识;

2)学习掌握一般软硬件的设计方法和查询、运用资料的能力;

3)通过在TDN集成开发环境中对交通灯实时控制系统的设计与制作,综合应用8253、8259、8255芯片,深入了解和掌握利用可编程8255A进行控制的原理与方法;

4)通过这次课程设计,将课本上的理论知识和实际的应用有机的结合起来,以提高分析和解决问题的实际能力,通过对汇编语言程序代码的设计,编写,修改以提高自己实际编程能力。

1.3设计任务

1)任务:

设计一个交通灯控制系统

要求综合运用8259、8253、8255芯片设计十字路口的交通信号灯控制系统。

支线与主干线允许通车15秒,当支线允许通车时(15秒)中,若主干线15秒内已有10辆车到来,则申请中断,允许主干线通车,实现无交叉点通过。

如图1-1所示。

图1-1模拟通行示意图

2)设计任务要完成实验方案论证,进行十字路口的交通信号灯控制电路设计,画出电路原理图及实验电路图;

搭建实验电路,进行软件编程、调试、运行以及使用说明文档的建立等一整套工作任务。

进行十字路口的交通信号灯控制程序设计(采用汇编语言);

系统联调,提交一个符合上述功能要求的十字路口的交通信号灯控制系统设计。

1.4软硬件运行环境及开发工具

1.4.1软硬件运行环境

TDN88实验平台,PC机,导线,汇编语言编译软件。

1.4.2开发工具

TDN86/88教学实验系统,PC机。

2.概要设计

2.1交通灯实时控制系统设计原理及方法

2.1.1设计原理

通过并行接口芯片8255和计算机的硬件连接,通过软件计时,来实现十字路口交通灯的模拟控制,用8259芯片,得到CPU的中断响应后,提供中断类型号,从而

快速寻找到该中断源的中断服务程序的入口地址,转去执行中断服务序。

通过并行接口芯片8255和计算机的硬件连接,通过软件延时计数,来实现十字路口交通灯的模拟控制。

即用D5,D4,D1,D0亮表示车辆允许东西方向通行,D7,D6,D3,D2亮表示车辆允许南北方向通行。

用8259芯片,得到CPU的中断响应后,提供中断类型号,从而快速寻找到该中断源的中断服务程序的入口地址,转去执行中断服务程序。

实验中:

‘0’表示灯亮,‘1’表示灯灭

通过课程设计要求找出灯亮的规律:

1.东西方向绿灯亮,南北方向红灯亮,延续20秒。

2.20秒钟的最后5秒,东西方向绿灯以频率1HZ闪烁5次,南北方向红灯亮。

3.东西方向红灯亮,南北方向绿灯亮,延20秒。

4.20秒钟的最后5秒,南北方向绿灯以频率1HZ闪烁5次,东西方向红灯亮。

5.循环以上步骤。

通过分析灯亮的规律,总结出如下的功能表:

状态

南北

红D7

红D6

东西

红D5

红D4

绿D3

绿D2

绿D1

绿D0

状态1

1

0

0

1

1

0

0

状态2

1

0

状态3

状态4

表2-1交通灯亮灭功能表

2.1.2系统原理图

系统原理图如图2-1所示

D0D1D2D3D4D5D6D7

CUP

A0A1A9

M/IO

A8

A7

A6

A5

INT

D1D2D3D4D5D6D7

D0PA0

D1PA1D2PA2D3PA3D4PA4D5PA5D6PA6D7PA7

8255PB0

A0.

A1.

PB7PC0

CS.

.

PC7

LED七段码显示器

A2

G1

G2A

G2B

CY4

B

A

8259

INTA IRQ7

KK1

图2-1系统原理图

2.1.3电路原理

本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。

硬件电路由R-S触发器电路、发光二极管模块、8255可编程并行接口模块和紧急中断模块8259组成。

2.1.4设计方法

通过分析8255、8259各端口地址,设计合理的地址译码电路。

8259的地址为20H、21H,8255的端口地址为60H、61H、62H、63H。

红、绿灯分别接在8255的A口的高四位和低四位端口,PA0~PA7分别连接到D0~D7来控制8个灯的亮灭,用以模拟交通灯。

B口和C口接两个两片数码管显示器进行倒计时。

用开关模拟中断信号的产生,则要用到8259芯片。

8259的中断请求输入管脚IRQ7与KK1相连。

每按动一次KK1,产生一次中断请求信号。

当8259接收到中断请求信号之后,便开始执行中断,实现8个灯的闪烁。

系统的程序设计最关键的就是延时程序的编写,因为要在延时的同时用两个LED数码管同步显示倒计数,这给程序设计带来了难题。

现提出如下解决方案:

在进入每个状态时,给寄存器CX置初值表示要倒计时的时间,然后开始把CX循环减1,直到0进入下一个状态。

在CX减1循环中每循环一次,调用延时1s的子程序DELLAY1S,这样假如在状态0给CX置初值20,则会延时20s;

如果在每次调用的延时1s的子程序DELLAY1S中,再调用显示CX的值的子程序LED1给2个LED数码管显示,就实现了与延时同步的倒计数显示。

这样就实现了延时与倒计数的同步。

程序主要是由主程序、延时1s子程序DELLAY1S、LED显示CX子程序LED1、中断服务程序IRQ7组成。

在主程序中包括对8255初始化、中断程序入口地址的填写、中断IRQ7开放,各种状态的依次处理。

3. 详细设计

3.1硬件设计与软件设计

3.1.18255A芯片

8255A芯片是一种通用的可编程并行I/O接口芯片。

它包含有3个8位端口,称为A口,B口,C口。

其中A口包含8个I/O引脚(PA0~PA7),B口包含8个I/O引脚(PB0~PB7),C口包含8个I/O引脚(PC0~PC7)。

该芯片有3种工作方式,称为0方式,1方式,2方式。

本实验选取8259A的A口、B口、C口都作为输出端口,工作方式选0方式。

所以8259A的方式命令字为10000000B,即80H。

端口地址为60H~63H。

其初始化编程为:

MOVAL,10000000B

.OUT63H,AL

图3-1系统中的8255A芯片

3.1.28259芯片

8259A芯片内部含有中断请求寄存器,用来存放由外部输入的中断请求信号IR7~IR0。

当某个输入端为高电平时,该寄存器相应位置“1”。

本实验中需要从IR7请求中断,因此采用中断屏蔽方式,将IR6~IR0都设为高电平,即将寄存器IR6~IR0置“1”。

所以其方式命令字为01111111B,即7FH。

端口地址为20H~21H

MOVAX,0000H

MOVDS,AX ;

数据段清零

MOVAX,OFFSETIRQ7;

装入中断程序入口地址

MOVSI,003CH

MOV[SI],AXMOVAX,CS

MOVSI,003EHMOV[SI],AXPOPDS

INAL,21H;

读中断屏蔽寄存器IMR

ANDAL,7FH

OUT21H,AL;

开放IRQ7

STI;

开中断

3.2硬件电路的设计与实现

图3-2控制中断实验图

图3-3硬件设计实验图

3.3软件设计

3.3.1红绿灯时间控制

本实验中有15秒和5秒的延时,我们先编写一个一秒的延时程序,然后再分别调用这个一秒的延时子程序,MOVCX,25中的cx控制时间,延时一秒子程序如下:

DELLAY1S:

PUSHAXPOPAX

PUSHBXLOOPD0

PUSHCXPOPCX

CALLLED1POPBX

MOVCX,0FFFFHPOPAX

D0:

PUSHAXRET

3.3.2本实验中的中断的运用

MOVAX,OFFSETIRQ7;

取中断程序入口地址(相对地址)

本实验中使用的是中断请求输入IRQ7,当你按KK1时,执行中断程序,灯会闪烁,程序如下

IRQ7:

OUT60H,ALMOVAL,20H;

结束中断

CALLDELLAY1SOUT20H,AL

NOTALIRET

DECBX

JNZIR7

POPCX

POPBX

POPAX

4软件主要模块流程图

4.1程序总设计流程图

开始

8255初始化

装入中断向量

8259初始化

D0、D1绿灯亮,D4、D5红灯亮

DDD

延时15S是否到

N

Y

D0、D1绿灯闪烁

延时5S是否到

D2、D3绿灯亮,D6、D7红灯亮

结束

图4-1程序流程图

4.2延时1s子程序DELLAY1S流程图

此延时子程序不光实现延时,还调用了LED1子程序显示了CX的内容,实现延时的同时倒计数的显示。

具体流程如下:

AX,BX,CX,进栈

调用LED1子程序在LED中显示CX的内容

CX=0FFFH

AX进栈,AX出栈,CX-1

CX==0?

AX,BX,CX出栈

返回

图4-2实验延时1秒流程图

子程序如下:

LED1:

PUSHCX;

数码管显示数字

PUSHAX

MOVAX,CX

MOVBL,0AH

MOVAH,0

DIVBL;

商放在AL,余数放在AH

MOVBX,OFFSETTAB1;

取段码表首地址

XLAT

OUT61H,AL;

输出显示

MOVCX,0600H

ADD2:

LOOPADD2

MOVAL,AH

MOVBX,OFFSETTAB1

OUT62H,AL

ADD3:

LOOPADD3

POPAX

RET

4.3IRQ7中断子程序流程图

IRQ7中断子程序是实现所有灯闪烁10s就返回的功能。

具体流程就如下。

AX,BX,CX进栈

CX清零,调用1s延时子程序时LED数码管显示00

置AL=0FFH,BX=0AH

从C口输出AL值,用于把

灯灭掉(AL=00H)或全点亮(AL=0FFH)

调用1s延时子程序

AL取反,BX-1

判断BX是否为0

中断结束、返回

图4-3中断服务程序流程图

中断实现代码如下:

PUSHAX;

外中断服务子程序,所有灯闪10秒

PUSHBX

PUSHCX

MOVCX,0

MOVAL,0FFH

MOVBX,0AH

IR7:

OUT60H,AL

CALLDELLAY1S

NOTAL

MOVAL,20H;

OUT20H,AL

IRET

5.系统调试

5.1系统调试

1.使用串行通讯现将实验系统与PC微机相连

2.正确搭接好相关实验电路

3.接通电源,双击试验系统快捷方式,开启试验系统如下图

4.点击菜单栏“文件”按钮,选择建新文件。

即可开始输入源程序。

输入程序后,点击保存按钮,进行保存。

5.点击编译按钮,对源程序进行汇编,生成目标文件(*.obj)。

汇编信息显示与屏幕,若出现错误,修改源程序,直至正确。

6.汇编无误后,对汇编生成的*.Obj文件进行链接,链接信息显示于屏幕上,生成*。

EXE可执行文件。

7点击加载按钮,加载*.EXE程序。

屏幕显示信息。

8.加载成功,RUN,运行程序。

9.开始时候东西方向绿灯亮,南北方向红灯亮20秒,最后5秒时候绿灯会闪烁。

南北方向绿灯亮,东西方向红灯亮20秒,最后5秒时候绿灯会闪烁。

10.在9过程中,若用户按下KK1,则会出现8个灯一起闪烁10秒,然后回到按之前状态,继续循环步骤9中过程。

5.2操作说明及运行结果

5.2.1操作说明

1.按实验接线图接线。

2.输入程序并检查无误,经汇编,连接后装入系统。

3.运行程序。

观察灯的变化,将KK1按1下,会出现红绿灯交替闪烁10秒

5.2.2运行结果

D0,D1亮表示东西方向绿灯亮准行,D4,D5亮表示南北方向红灯亮,持续20秒;

当准行时间到最后5秒时,准行方向绿灯闪烁。

D2,D3亮表示南北方向绿灯亮准行,D6,D7表示东西方向红灯亮持续时间20秒,当准行时间到最后5秒时,准行方向绿灯闪烁。

此过程课程设计要求相符合。

6.课程设计小结

通过这次课程设计,我对8255、8259、8253这三种芯片有了进一步的了解。

知道了它们在实际应用中的功能以及它们初始化的方法。

这次课程设计从需求分析到设计,是一个完整的体系,这提高了我分析问题的能力。

当遇到问题时,回到书本,查找实际问题所需的理论知识,将理论和实际结合起来,以得到问题的解,这提高了我解决实际问题的能力。

其实课程设计和真正的实际需求还是有些差别的,比如我最开始就是以实际需求来分析灯的编码的,但是花了很长时间,最后发现8个灯根本实现不了实际生活中的交通灯的变化方式。

所以最后用老师告诉的编码方式,才得到正确结果。

本设计还有一个缺陷就是在本设计中,那个1秒的时间间隔只是一个模拟的数字,并不是准确的1秒。

但是该是如何使用8253分频实现真正1秒的时间间隔,这还有待改进。

在本次课程设计中我深有感触的是上学期学的汇编指令都不怎么记得了,这对于接口编程来说实在是个巨大的Bug。

指令不记得当然写程序就慢了!

以后会复习一下8086汇编指令的。

设计者:

日期:

2012年12月28日

DATASEGMENT

TAB1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATAENDS

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

CLI

MOVAL,80H ;

8255A初始化,A,B,C作为输出口

OUT63H,AL

PUSHDS

MOVAX,0000H

MOVDS,AX ;

MOVAX,OFFSETIRQ7;

MOVSI,003CH ;

填8259中断7中断矢量

MOV[SI],AX ;

填偏移量矢量

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2