十字路口电子交警的设计与功能实现综合实验报告.docx

上传人:b****7 文档编号:9628880 上传时间:2023-02-05 格式:DOCX 页数:23 大小:517.44KB
下载 相关 举报
十字路口电子交警的设计与功能实现综合实验报告.docx_第1页
第1页 / 共23页
十字路口电子交警的设计与功能实现综合实验报告.docx_第2页
第2页 / 共23页
十字路口电子交警的设计与功能实现综合实验报告.docx_第3页
第3页 / 共23页
十字路口电子交警的设计与功能实现综合实验报告.docx_第4页
第4页 / 共23页
十字路口电子交警的设计与功能实现综合实验报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

十字路口电子交警的设计与功能实现综合实验报告.docx

《十字路口电子交警的设计与功能实现综合实验报告.docx》由会员分享,可在线阅读,更多相关《十字路口电子交警的设计与功能实现综合实验报告.docx(23页珍藏版)》请在冰豆网上搜索。

十字路口电子交警的设计与功能实现综合实验报告.docx

十字路口电子交警的设计与功能实现综合实验报告

综合实验报告

 

实验题目:

十字路口电子交警的设计与功能实现

学生班级:

学生姓名:

学生学号:

指导教师:

实验时间:

2016/9/16

 

目录

1设计内容1

2主要设备与器材1

3设计要求1

4设计方案1

4.1硬件原理框图设计1

4.2系统工作原理2

4.3系统电路图设计3

4.3.1复位电路3

4.3.2时钟电路3

4.3.38155A及数码管显示电路4

4.3.48255A及发光二极管连接电路4

4.3.5报警控制及鸣叫电路5

4.3.6电路原理图5

4.4软件流程图7

4.5系统资源分配9

4.6程序清单9

5方案论证14

5.1系统控制中心805114

5.2接口扩展15

5.3时间显示控制15

5.4交通模拟控制16

6调试过程17

7运行结果18

8参考资料19

9收获体会20

十字路口电子交警的设计与功能实现

1设计内容

设计用单片机控制的十字路口交通灯及撞红灯报警,并编程实现这些功能。

2主要设备与器材

硬件器材:

PC机一台,DVCC实验箱,主要涉及的芯片有:

8051、8255A,8155A,2个共阳7段LED数码管,蜂鸣器,12只发光二极管,导线等。

软件器材:

DVCC软件

3设计要求

1.用8255A驱动三种红、黄、绿颜色的12只发光二极管,用软件使它们模拟十字路口交通灯的功能。

2.当某一方向的红灯亮时,若有车辆通过,则用单片机控制的扬声器发声报警。

撞红灯的信号可用传感器采集并转换成数字量,这里以采集到一个3-5V的模拟电压表示。

4设计方案

4.1硬件原理框图设计

十字路口电子交警主要有5个模块部分组成,分别是时钟电路模块、复位电路模块、8155A显示模块、8255A交通灯模拟模块、撞红灯检测及报警装置模块。

时钟电路模块为8051控制中心提供时钟信号;复位电路模块为8051提供复位信号;8155A显示模块用来控制和显示时间;8255A交通灯模拟模块用来管理和控制发光二极管的发光情况,用以模拟交通灯的状态转换;撞红灯检测及报警装置模块,用于检测当某一方向亮红灯时,是否有车辆撞红灯,当有车辆闯红灯时,报警器报警。

原理框图如图1所示。

图1原理框图

4.2系统工作原理

交通灯控制系统是以8051作为控制核心,采用8255A驱动四组共12只发光二极管,红黄绿三色个4只,模拟交通灯的控制,提示车辆及人行道的通行管理。

用8155A驱动2个7段LED数码管,采用动态扫描方式显示倒计时时间。

用单片机控制的蜂鸣器发声报警提示某一方的红灯亮时有车辆撞红灯,系统功能状态如下:

1.系统开始运行时,初始态12只发光二极管均熄灭,延时1s进入正常工作状态2。

2.东西方向绿灯亮,南北方向红灯亮,东西方向人行道禁止行走,南北方向人行道通行。

LED数码管显示倒计时间30s,检测南北方向是否有车闯红灯,若有则报警提示,蜂鸣器鸣叫5次。

倒计时完成进入状态3

3.南北方向持续红灯亮,东西方向绿灯熄灭,黄灯闪烁,闪烁3次,提示东西方向通行即将禁止车辆通行,南北方向人行道也即将禁止行走。

进入状态4

4.东西方向红灯亮,南北方向绿灯亮,东西方向人行道通行,南北方向人行道禁止行走。

LED数码管显示倒计时间30s,检测南北方向是否有车闯红灯,若有则报警提示,蜂鸣器鸣叫5次。

倒计时完成进入状态5

5.东西方向持续红灯,南北方向绿灯熄灭,黄灯闪烁,闪烁3次,提示南北方向车辆通行即将禁止,东西方向人行道也即将禁止行走。

而后状态回到2中循环显示。

4.3系统电路图设计

4.3.1复位电路

复位电路用于产生复位信号,为8051的复位提供电平信号,电路图如图2所示。

图2复位电路

4.3.2时钟电路

8051单片机的主频信号采用内部产生方式,电路图如图3所示。

 

图3时钟电路

4.3.38155A及数码管显示电路

 

图4-8155A及数码管显示电路

4.3.48255A及发光二极管连接电路

图5-8255A及发光二极管电路

4.3.5报警控制及鸣叫电路

图6.1报警控制

图6.2报警器

4.3.6电路原理图

图7原理电路图

4.4软件流程图

图8主程序流程图

图9报警子程序流程图图10显示流程图

4.5系统资源分配

8051的P0口P0.0~P0.7分别与8155A的AD0~AD7相连用于控制时间显示。

与8255A的D0~D7相连,用于控制发光二极管的发光状态。

8255A的PB0~PB7,、PC0~PC3连接东南西北四个方向的发光二极管,具体连线如原理电路图图7所示。

4.6程序清单

ORG0000H

AJMPMAIN

ORG0630H

MAIN:

SETBP2.0

SETBP2.1

MOVDPTR,#0FF2BH;写8255控制字

MOVA,#80H;8255工作在方式0,输出

MOVX@DPTR,A

MOVDPTR,#0FF29H;初始化8255B口

MOVA,#00H;B口控制的所有灯熄灭

INCDPTR;初始化8255C口

MOVA,#00H;C口控制的灯熄灭

MOVX@DPTR,A

LCALLDELAY;调用延时1s子程序

;东西路口绿灯亮,南北路口红灯亮

DXLV:

MOVDPTR,#0FF29H;东西路口的绿灯亮

MOVA,#09H

MOVX@DPTR,A

INCDPTR;南北路口红灯亮

MOVA,#09H

MOVX@DPTR,A

MOVR0,#1EH

;循环30次,即调用1s延时子程序30次,完成30s延时

DX30S:

JBP1.0,WARN0

;检测是南北路口否有车辆闯红灯,若发现则发出警报,调用警报程序

WARN0:

LCALLWARN

LCALLDISPLAY

;调用延时30s子程序,并显示倒计时,依次显示30、29、28、...、0

DJNZR0,DX30S

;东西路口黄灯开始闪烁,闪烁间隔为1ms,闪烁三次,南北路口红灯亮

MOVR0,#03H

MOVDPTR,#0FF2AH;南北路口红灯亮

MOVA,#09H

MOVX@DPTR,A

DXH:

MOVDPTR,#0FF29H;东西路口黄灯亮

MOVA,#12H

JBP1.0,WARN1

;检测是否有闯灯,有则调用警报程序

WARN1:

LCALLWARN

MOVX@DPTR,A

LCALLDELAY1;调用延时0.1s

MOVDPTR,#0FF29H;黄灯熄灭

MOVA,#00H

MOVX@DPTR,A

LCALLDELAY1;调用延时0.1s

DJNZR0,DXH;判断黄灯闪烁次数

;东西路口红灯亮,南北路口绿灯亮

MOVDPTR,#0FF29H;东西路口红灯亮

MOVA,#64H

MOVX@DPTR,A

INCDPTR;南北路口绿灯亮

MOVA,#02H

MOVX@DPTR,A

MOVR0,#1EH

;循环30次,即调用1s延时子程序30次,完成2730延时

NAN30S:

JBP1.0,WARN2

;检测是东西路口否有车辆闯红灯,若发现则发出警报,调用警告程序

WARN2:

LCALLWARN

LCALLDISPLAY

;调用延时30S延时程序,并显示倒计时,依次显示30、29、28、...、0

DJNZR0,NAN30S

;东西路口红灯亮,南北路口黄灯闪烁,闪烁3次

MOVR0,#03H

NBH:

MOVDPTR,#0FF29H;东西路口红灯亮

MOVA,#0A4H

MOVX@DPTR,A

JBP1.0,WARN3

;检测是东西路口否有车辆闯红灯,若发现则发出警报,调用警告程序

WARN3:

LCALLWARN

INCDPTR;南北路口黄灯亮

MOVA,#04H

MOVX@DPTR,A

LCALLDELAY1;调用0.1s延时子程序

MOVDPTR,#0FF29H;东西路口红灯亮

MOVA,#24H

MOVX@DPTR,A

INCDPTR;南北路口黄灯熄灭

MOVA,#00H

MOVX@DPTR,A

LCALLDELAY1;调用0.1s延时子程序

DJNZR0,NBH;检测3次闪烁是否完成,否则继续闪烁

;一个循环完成,进入第二个循环

AJMPDXLV

;主程序完成

;子程序

;发现有车辆闯红灯,发出警报子程序

WARN:

JNBP1.0,D1

MOVR4,#05H;控制蜂鸣器的报警次数

D0:

CPLP1.2;打开蜂鸣器

LCALLDELAY1

SETBP1.1;关闭蜂鸣器

LCALLDELAY1

DJNZR4,D0

D1:

RET

;延时1s子程序

DELAY:

MOVR1,#50

DEL0:

MOVR2,#91

DEL1:

MOVR3,#100

DJNZR3,$

DJNZR2,DEL1

DJNZR1,DEL0

RET

;0.1s延时程序

DELAY1:

MOVR6,#250

DL1:

MOVR7,#200

DL2:

DJNZR6,DL2

DJNZR7,DL1

RET

;数码管显示子程序

DISPLAY:

MOVDPTR,#0FFF0H;初始化8155,A口B口输出

MOVA,#03H

MOVX@DPTR,A

MOVA,R0;设置显示初值

PUSHPSW

SETBRS0

MOVB,#10

DIVA,B

MOVR0,A;十位显示初始值

MOVR1,B;个位显示初始值

MOVDPTR,#0FFF2H

MOVA,#02H

MOVX@DPTR,A;选通十位数码管

MOVA,R0

MOVDPTR,#TAB

MOVCA,@DPTR+A

MOVDPTR,#0FFF1H

MOVX@DPTR,A;显示十位

MOVDPTR,#0FFF2H;选通个位数码管

MOVA,#01H

MOVX@DPTR,A

MOVA,R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#0FFF1H

MOVX@DPTR,A;显示个位

LCALLDELAY

DELAY2:

MOVR4,#04H

DLT1:

MOVR5,#0FFH

DLT2:

DJNZR5,DLT2

DJNZR4,DLT1

POPPSW

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

;共阳数码管表示0~9

END

5方案论证

5.1系统控制中心8051

8051是一块内部除包含MPU以外,还集成了4个8位双向并行接口,P0~P3口,都能作输入输出口使用。

在本次设计中4个并行接口均使用了部分或全部,具体连线如图7原理电路图所示。

控制芯片8051引脚图如下:

图11-8051引脚图

5.2接口扩展

为节省8051接口的使用,使用8155A、8255A作为并行接口扩展,8155A驱动数码管显示,8255A驱动发光二极管发光。

5.3时间显示控制

8155A在本次设计中A口和B口均作输出口,起控制字设置如下:

TM2

TM1

IEB

IEA

PC2

PC1

PB

PA

0

0

0

0

0

0

1

1

其结构图为

图12-8155结构图

其寻址空间为:

0200H~0FEFFH,I/O口的地址;

命令/状态寄存器:

0FFF0H

PA口地址:

0FFF1H;PB口地址:

0FFF2H

本次设计中是阳极数码管,当位选码为低电平是即选中该数码管,向该数码管输送数据即能显示出来。

5.4交通模拟控制

8255A作为一个可编程并行接口,有3个8位的输入输出端口PA口、PB口、PC口以及一个控制端口,其结构框图及控制字格式如下:

图13-8255A引脚图及控制字格式

本次设计中8255A的PB口和PC口作基本输出口,工作在方式0,控制字选择为:

80H,寻址空间为:

0200H~0FEFFH.

I/O端口地址分别是:

B口:

0FF29HC口:

0FF2AH控制口:

0FF2BH

发光二极管模拟十字路口的交通灯状态图如下:

图14-十字路口模拟状态图

从原理图可知发光二极管均是阳极二极管,当通过8255A的并口向某二极管发送低电平信号时,发光二极管开始发光,由于其自身拥有色彩,因而能用以模拟交通灯的绿黄红三种状态转换。

控制发光二极管的发光真值表如下表1:

PB端口值

PC端口值

东西绿灯亮,南北红灯亮

09H

09H

东西黄灯亮,南北红灯亮

12H

09H

东西黄灯熄灭,南北红灯亮

00H

09H

东西红灯亮,南北绿灯亮

64H

02H

东西红灯亮,南北黄灯亮

64H

04H

东西红灯亮,南北黄灯熄灭

64H

00H

表1-发光二极管真值表

6调试过程

由于本次设计使用的是DVCC单片机开发系统,其内部的许多芯片引脚之间已连线,因而实际的调试过程与设计原理有一定的差异,在程序代码中需要修改一部分。

调试操作的几个步骤如下:

1.启动DVCC系统及DVCC软件,检测DVCC系统与PC机的连接状况,按照原理图连线;

2.在DVCC软件中编译程序代码,检查程序是否有语法等错误;

3.调试程序,全速运行程序,观察是否能正确模拟十字路口的交通管理。

在调试过程中发现程序代码自身并无错,可是全速运行程序时,却不能正确的模拟交通管理。

发现是功能模块部分的程序代码不完善引起的,经过多次修改能正常模拟交通灯的控制及撞红灯的报警。

7运行结果

全速运行程序,设计运行的结果如下:

1.系统开始运行时,初始态12只发光二极管均熄灭,延时一段时间进入工作状态2;

2.东西方向绿灯亮,南北方向红灯亮,东西方向人行道禁止行走,南北方向人行道通行。

LED数码管显示倒计时间30s,检测南北方向是否有车闯红灯,若有则报警提示,蜂鸣器鸣叫5次。

倒计时完成进入状态3;

3.南北方向持续红灯亮,东西方向绿灯熄灭,黄灯闪烁,闪烁3次,提示东西方向通行即将禁止车辆通行,南北方向人行道也即将禁止行走。

进入状态4;

4.东西方向红灯亮,南北方向绿灯亮,东西方向人行道通行,南北方向人行道禁止行走。

LED数码管显示倒计时间30s,检测南北方向是否有车闯红灯,若有则报警提示,蜂鸣器鸣叫5次。

倒计时完成进入状态5;

5.东西方向持续红灯,南北方向绿灯熄灭,黄灯闪烁,闪烁3次,提示南北方向车辆通行即将禁止,东西方向人行道也即将禁止行走。

而后状态回到2中循环显示。

由于条件限制,时间显示不能给出结果,只能给予出发光二极管的状态转换图,如下:

 

 

图15-状态1图16-状态2

图17-状态3图18-状态4

8参考资料

[1]王守中.一读就通51单片机设计[M].北京:

电子工业出版社,2011.

[2]李忠国.单片机应用技能实训[M].北京:

人民邮电出版社,2006.

[3]先锋工作室.单片机程序设计实例[M].北京:

清华大学出版社,2003.

[4]张毅刚.单片机原理及接口技术[M].哈尔滨:

哈尔滨工业大学出版社,1990.

9收获体会

本次课程设计引导我们将理论知识转化成实际的成果,在初学单片机这门课时,被很多汇编指令搞的很头痛,比如比如DJNZ和CJNE都区分不了,源代码注释又很少,看懂汇编程序需要很长时间。

我在油校图书馆翻到一本《一读就通51单片机设计》,注释很多,我从最基本的延时子程序看,学会了不少汇编指令。

总之,本次收获不少,更加强了我搜集和整合资料的能力。

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

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

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

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