学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx

上传人:b****8 文档编号:9308779 上传时间:2023-02-04 格式:DOCX 页数:20 大小:1.43MB
下载 相关 举报
学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx_第1页
第1页 / 共20页
学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx_第2页
第2页 / 共20页
学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx_第3页
第3页 / 共20页
学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx_第4页
第4页 / 共20页
学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx

《学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx》由会员分享,可在线阅读,更多相关《学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx(20页珍藏版)》请在冰豆网上搜索。

学士学位论文微机原理课程设计交通信号灯模拟控制系统设计.docx

学士学位论文微机原理课程设计交通信号灯模拟控制系统设计

成绩

 

南京工程学院

通信工程学院

课程设计说明书(论文)

 

题目交通信号灯模拟控制系统设计

课程名称微机原理及接口技术

专业

班级

学生姓名

学号

设计地点

指导教师

 

设计起止时间:

2013年12月23日至2013年12月27日

 

目录

 

1.概述3

1,1背景3

1.2设计目标3

2.设计分析4

2.1电路接线方案4

2.2模块分析4

2.3设计流程说明5

3.设计实现5

3.1硬件设计5

3.2软件设计8

4.调试结果13

5.心得体会15

6.参考文献15

 

1.概述

1,1背景

在实际生活中,交通信号灯控制着交通的秩序安全。

本次微机原理课程设计就是利用STARES598PCI实验仪的硬件资源设计一个“带时间显示的交通灯模拟控制系统”。

所有输入该装置的信号采用STARES598PCI实验仪上的状态输入开关输入,东西、南北方向的红绿黄灯采用实验仪上的LED发光二极管模拟,东西、南北方向的信号灯变化,通行倒计时时间用数码管显示。

1.2设计目标

本次设计主要是实现对十字路口交通信号灯的控制而进行的编程,用8255A的A口控制东西方向的交通灯,用8255A的B口控制南北方向的交通灯。

当程序正常运行时,依次为东西方向的绿灯亮25s和南北方向的红灯亮30s,东西方向的绿灯亮25s后东西方向的黄灯闪烁5s,随后东西方向的红灯亮20s和南北方向的绿灯亮15s,南北方向的绿灯亮15s后南北方向的黄灯闪烁5s,之后同理往复循环。

用8255A的C口控制紧急情况时东西、南北方向的红、黄、绿灯的亮灭,紧急情况下,东西、南北方向均为红灯,同时另有一红灯闪烁。

通过读C口输入的数据并进行测试查询,从而对紧急情况进行及时处理。

用LED(发光二极管)模拟信号灯,8255A实现对信号灯的控制(PC0~PC6分别接D0~D6),8253的计数器2实现基本单位定时(如10ms)信号的输出;再用8255A的PA口查询定时信号的变化,并统计脉冲数,以实现30s、20s和5s的定时。

交通信号灯设计充分利用了可编程的并行接口芯片8255A各引脚的功能,选定工作方式5,通过改变控制字来实现交通信号灯的状态转换。

另外,通过调用延时子程序来实现交通信号灯某一状态的持续,调用循环子程序来实现对交通信号灯状态循环的控制,通过控制开关来实现紧急情况下各路口红灯全亮的功能。

综合各部分功能来实现较为完善的程序,运行程序来模拟交通信号灯的控制。

2.设计分析

根据设计目标用A道代表东西方向,B道代表南北方向。

交通灯可自己循环,也可通过控制开关来固定控制其放行状态。

2.1电路接线方案

交通信号灯由实验仪的LED发光二极管模拟,由8255-PA输出控制:

见下表。

带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表

8255-PB输出方式

PCH输入方式

8255-PA输出方式

PCL输出方式

引脚

输出信号

引脚

输入信号

引脚

输出信号

引脚

输出信号

PB7

 

驱动数码管字型

PC7

K7

PA7

紧急车辆闪光

PB6

PC6

K6

PA6

东西红灯

PB5

PC5

K5

PA5

东西黄灯

PB4

PC4

8253-OUT2

PA4

东西绿灯

PB3

PA3

PC3

PB2

PA2

南北红灯

PC2

PB1

PA1

南北黄灯

PC1

PB0

PA0

南北绿灯

PC0

数码管的位码选择

注:

①8255-PA输出方式可根据实验设备红绿黄灯具体位置改变。

2采用软件延时,则8255的PC4不用接8253-OUT2。

数码管的位码选择。

2.2模块分析

2.2.1定时模块

用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GATE2接高电平,OUT2接8255-PC4。

主程序通过查询8255-PC4的状态,获知准确的定时信息。

2.2.2工作状态

根据设计任务功能要求,依K5、K6、K7的状态分为四种工作状态:

状态0:

K5、K6、K7均断开(1电平)或K5、K6均闭合K7断开,A、B道交替通行;状态1:

仅K5闭合,A道有车、B道无车;状态2:

仅K6闭合,A道无车,B道有车;K5和K6均闭合,A、B道都有车,A、B道交替通行;状态3:

K7闭合,有紧急车辆通行。

2.3设计流程说明

(1)主程序每0.5秒循环一次,每次查询三个开关状态,及时响应开关状态的变化。

其中CNT0和CNT3分别用于记录状态0和状态3工作进程的进程计数器,可以用寄存器或内存变量实现。

(2)常用的工作状态0是A、B道交替通行,一个周期用时50秒。

用CNT0以0.5秒为单位进行加1计数,从0到100循环计数,CNT0/2就可知本周期进行到第几秒了。

根据设计任务功能要求,第0秒,A道红灯、B道黄灯;第1~25秒,A道绿灯、B道红灯;第25~30秒,A道黄灯闪烁、B道红灯;第30~45秒,A道红灯、B道绿灯;第45~50秒,B道黄灯闪烁、A道红灯。

(3)工作状态3中,CNT3只有2种状态(0和0FFH),用于控制紧急车辆的灯光闪烁。

(4)时间显示采用实验仪的数码管显示。

只用一个数码显示器显示绿灯通行倒计时,A道显示数=30-CNT0/2,B道显示数=50-CNT0/2。

参考流程图2。

(5)如果用2个数码显示器分别显示A道、B道的倒计时,则需要用到动态显示扫描技术,难度较大,定为加分项目。

在500ms延时子程序中循环调用动态显示扫描子程序,定时器的定时周期应缩短到5ms。

2个数码管的位码选择(低电平有效)有8255的PC3、PC0来确定,接线到数码管选择脚接口JP41(注意JP41的接插方法:

JP41只接插一半,用PCL接JP41的1-4引脚。

如果PCL与JP41完全连接,PC4对应位会显示倒计时数码)。

显示内容由8255的B口接线到数码管段码接口JP42来确定。

3.设计实现

3.1硬件设计

相关外设原理及接线图:

3.1.1B2区:

逻辑笔

逻辑笔:

测试接口,输入测量信号

绿灯(DS13):

高电平点亮

红灯(DS14):

低电平点亮

两灯同时亮:

频率信号

 

3.1.2B2区:

频率发生器

 

 

频率发生器电路原理图

4M:

输出4MHZ频率信号,其他端口输出的信号频率与端口下标识的数值一致。

3.1.38255A电路

S:

片选信号,低电平有效;

A0、A1:

地址信号;

JP52:

PC口;JP53:

PB口;JP56:

PA口。

C

A

3.1.48253电路

CS:

片选信号,低电平有效;

A0、A1:

地址信号;

 

3.2软件设计

3.2.1程序流程图

3.2.1源程序清单

 

.MODELTINY

COM_ADDREQU0B003H

T0_ADDREQU0B000H

T1_ADDREQU0B001H

T2_ADDREQU0B002H

COM_ADDEQU0F003H

PA_ADDEQU0F000H

PB_ADDEQU0F001H

PC_ADDEQU0F002H

.STACK300

.DATA

LED_DATADB10111101B;东西红灯,南北黄亮

DB11101011B;东西绿灯,南北红灯

DB11011011B;东西黄亮,南北红灯

DB10111110B;东西红灯,南北绿灯

DB00111011B;东西红灯,南北红灯,紧急车辆闪光亮

DB10111011B;东西红灯,南北红灯,紧急车辆闪光灭

DB11111011B;东西红灯,南北黄灭

DB10111111B;东西黄灭,南北红灯

SHUMADB00111111B;数字0

DB00000110B;数字1

DB01011011B;数字2

DB01001111B;数字3

DB01100110B;数字4

DB01101101B;数字5

DB01111101B;数字6

DB00000111B;数字7

DB01111111B;数字8

DB01101111B;数字9

CNT0DB?

CNT3DB?

.CODE

START:

MOVAX,@DATA

MOVDS,AX

MOVDX,COM_ADD;8255A初始化

MOVAL,88H;写入控制字

OUTDX,AL

MOVDX,COM_ADDR;8253初始化

MOVAL,0B0H;写入控制字

OUTDX,AL

MOVDX,PC_ADD;位码选择

INAL,DX

ANDAL,0FEH

ORAL,01H

OUTDX,AL

MOVCNT0,0

MOVCNT3,0

LP:

CALLDL500ms

MOVDX,PC_ADD

INAL,DX

TESTAL,80H

JZK7

JMPJMP1

K7:

MOVCH,CNT3

CMPCH,0

JZRRS

RRM:

MOVAL,5;红红灭

XLAT

MOVDX,PA_ADD

OUTDX,AL

JMPLAST0

RRS:

MOVAL,4;红红亮

XLAT

MOVDX,PA_ADD

OUTDX,AL

CALLDL500ms

MOVAL,5

XLAT

MOVDX,PA_ADD

OUTDX,AL

LAST0:

MOVDX,PB_ADD;关数码管

MOVAL,00H

OUTDX,AL

XORCH,0FFH

MOVCNT3,CH

MOVCNT0,0

JMPLP

JMP1:

MOVDX,PC_ADD;00100000PC5

INAL,DX

TESTAL,20H

JNZJMP2

MOVDX,PC_ADD;01000000PC6

INAL,DX

TESTAL,40H

JNZK5

JMPJMP3

K5:

MOVAL,1;绿红固定

XLAT

MOVDX,PA_ADD

OUTDX,AL

MOVDX,PB_ADD

MOVAL,00H

OUTDX,AL

MOVCNT0,0

MOVCNT3,0

JMPLP

JMP2:

MOVDX,PC_ADD

INAL,DX

TESTAL,40H;01000000PC6

JZK6

JMPJMP3

K6:

MOVAL,3;红绿固定

XLAT

MOVDX,PA_ADD

OUTDX,AL

MOVDX,PB_ADD

MOVAL,00H

OUTDX,AL

MOVCNT0,0

MOVCNT3,0

JMPLP

LP1:

JMPLP

JMP3:

MOVCNT3,0

MOVCH,CNT0

SHRCH,1

LEABX,LED_Data

CMPCH,25

JBGR

CMPCH,30

JBYR

CMPCH,45

JBRG

CMPCH,50

JBRY

JMPRG

RG:

MOVAL,3

XLAT

MOVDX,PA_ADD

OUTDX,AL

PUSHBX

LEABX,SHUMA

MOVAL,50

SUBAL,CH

XLAT

MOVDX,PB_ADD

OUTDX,AL

POPBX

LAST:

INCCNT0

CMPCNT0,100

JNZLP1

MOVCNT0,0

JMPLP1

RY:

MOVAL,0

XLAT

MOVDX,PA_ADD

OUTDX,AL

CALLDL500MS

MOVAL,7

XLAT

MOVDX,PA_ADD

OUTDX,AL

MOVDX,PB_ADD

MOVAL,00H

OUTDX,AL

JMPLAST

GR:

MOVAL,1

XLAT

MOVDX,PA_ADD

OUTDX,AL

PUSHBX

LEABX,SHUMA

MOVDX,PB_ADD

MOVAL,8

SUBAL,CH

XLAT

MOVDX,PB_ADD

OUTDX,AL

POPBX

JMPLAST

YR:

MOVAL,2

XLAT

MOVDX,PA_ADD

OUTDX,AL

CALLDL500MS

MOVAL,6

XLAT

MOVDX,PA_ADD

OUTDX,AL

MOVDX,PB_ADD

MOVAL,00H

OUTDX,AL

JMPLAST

DL500msPROCNEAR

MOVDX,T2_ADDR

MOVAL,24H

OUTDX,AL

MOVAL,0F4H

OUTDX,AL

DELAY:

MOVDX,PC_ADD

INAL,DX

TESTAL,10H

JZDELAY

RET

DL500msENDP

ENDSTART

4.调试结果

1.全速运行显示

2.只有A道放行

3.只有B道放行

4.紧急情况

 

5.心得体会

一周的微机原理课程设计已经过去,虽说时间短暂,但在此课设中我学到了很多东西。

通过课程设计,我对于所学的知识有了更多的认识与更深刻的理解,同时体会到了态度的重要性以及实际动手的重要作用。

在课程设计以前,对微机原理的认识仅限于课堂上老师所讲的内容的听懂以及对于实验的似懂非懂,对于一个完整的程序只能大体理解。

课设后,我对于以前老师所讲的芯片的主要功能和使用方法有了进一步的理解与掌握,并能够根据自己的思路在已有程序上进行修改和设计。

此次课设让我在此课程上有了极大的进步。

俗语说:

“一分耕耘一分收获。

”没有用心的学习,怎么会掌握知识;没有认真了解芯片的功能,又怎么会对其进行灵活应用。

在课堂上,对于8253与8255A,只有大致的了解。

而在此次课程设计中,根据设计要求与设计目标,必须对8253与8255A有全面的认识与理解,因此通过看书和请教他人,我对于这两个芯片有了较为全面的理解,对其操作应用有了基本的掌握。

通过已做实验的程序的再次理解与深入思考,我对于该程序有了基本的编程思路,于是便开始在已有的基础上完成老师所加任务。

经过两天半的修改与调试,由于时间和知识的局限,完成了时间和闪烁的功能,对于数码管的倒计时显示不够完善。

当然,在最后的验收与答辩中,经过准备对于该交通信号灯控制系统有了更加系统的认识,在答辩中对自已的不足之处也有了认识,以便于进一步的改正与弥补。

在课设中我学会了无论做什么都要有一个端正的态度极为重要,很多时候态度决定一切,还有独立思考与动手实践结合的重要性。

多动手多动脑才能将知识理解消化并使之为自己所用。

因此,在以后的学习与生活中,必须手脑结合将知识吃透夯实,才能将所学的知识运用到实际中。

总而言之,微机原理课程设计令我受益匪浅。

6.参考文献

[1]李干林.微机原理及接口技术实验指导书.北京:

北京大学出版社.2010

[2]周荷琴.微型计算机原理与接口技术(第4版)中国科学技术大学出版社.2008

 

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

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1