交通灯系统设计Word下载.docx

上传人:b****7 文档编号:21939028 上传时间:2023-02-01 格式:DOCX 页数:29 大小:766.07KB
下载 相关 举报
交通灯系统设计Word下载.docx_第1页
第1页 / 共29页
交通灯系统设计Word下载.docx_第2页
第2页 / 共29页
交通灯系统设计Word下载.docx_第3页
第3页 / 共29页
交通灯系统设计Word下载.docx_第4页
第4页 / 共29页
交通灯系统设计Word下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

交通灯系统设计Word下载.docx

《交通灯系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《交通灯系统设计Word下载.docx(29页珍藏版)》请在冰豆网上搜索。

交通灯系统设计Word下载.docx

(6)系统电路原理图

(7)源程序

(8)课设字数不少于2000字

成绩

评语

摘要

本文是以MCS-51单片机系统为基础的,通过AT89C51作为主控器,控制交通灯LED以及共阴极数码显示管的交通灯控制系统。

除具有东西直行通行、左转向、南北直行通行、右转向循环显示的基本功能外,还具有紧急事件发生时通过按键控制各个路口红灯全亮,各个数码显示管全部停止减一计数,紧急事件解除后通过按键恢复原来各个路口状态的功能。

以及通过按键改变东西直行通行时间、南北直行通行事件的功能。

关键词:

MCS-51,数码显示管,LED

第一章前言1

第二章系统总体设计1

2.1系统概述1

2.2系统工作原理分析1

第三章硬件部分2

3.1单片机最小系统3

3.2数码显示管模块5

3.3交通灯LED模块5

3.4按键模块6

第四章软件部分8

4.1主程序的设计8

4.2初始化子程序的设计9

4.3显示子程序的设计9

4.4定时器中断程序以及黄灯闪烁判断程序的设计11

4.5紧急中断子程序的设计.12

第五章Proteus仿真部分16

总结17

参考文献17

附录1硬件原理图及PCB图17

附录2程序代码18

第1章前言

近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。

本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。

从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。

系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。

本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统等组成,较好的模拟了交通路面的控制。

第2章系统总体设计

2.1系统概述

根据课程设计要求的性能指标,本系统要满足东西南北方向直行和转弯交替通行的要求,同时系统还具有紧急事件发生时通过按键控制各个路口红灯全亮,各个数码显示管全部停止减一计数,紧急事件解除后通过按键恢复原来各个路口状态的功能。

2.2系统原理分析

本文以MCS-51单片机系统为基础,通过定时中断控制数码显示管每一秒自减一,采用定时器1方式,设置50ms进一次中断,在中断中判断是否到达20次中断即1秒,若没到达则返回主程序继续等待下一次中断到来,若到达1s则通过单片机对各数码显示管显示数据减1。

若某一方向数码管数据减到0则进行重装载数据并改变相应交通灯的状态。

本系统设计简单,性能稳定,能够通过单片机灵活编程进行各种功能的设定和修改。

根据本课题的设计目标以及硬件的特点,本系统的总体设计框图如图所示。

图一系统框图

第3章硬件部分

3.1单片机最小系统

单片机选用AT89C51,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

本系统包括晶振电路,复位电路,上拉电阻电路,交通灯显示模块,数码显示管显示模块等。

图如下,其中P0口、P2口控制交通灯的亮灭状态,P3.0、P3.1控制东西南北通行时间变化,P3.2为外部紧急中断入口。

P3.4、P3.5口负责选中南北方向数码显示管的个位和十位,P3.6、P3.7口负责选中东西方向数码显示管的个位和十位。

P1口控制各数码显示管的数据显示。

图二单片机最小系统原理图

3.2数码显示管模块

八段数码显示管作为交通灯时间显示装置,本设计采用八段共阴极数码显示管作为时间显示单元。

八段LED显示管由8只发光二极管组成,编号是a、b、c、d、e、f、g和SP,分别与同名引脚相连。

八段LED数码显示管原理很简单,是通过同名引脚上所加电平的高低来控制发光二极管是否点亮从而显示不同字形的。

它的引脚的排列及其功能,其引脚图见下

图三八段数码显示管的引脚图

P3.4、P3.5口负责选中南北方向数码显示管的个位和十位,P3.6、P3.7口负责选中东西方向数码显示管的个位和十位。

即P3.4、P3.5口与表示南北方向的数码管的控制引脚A1、A2相连,P3.4、P3.5口与表示东西方向的数码管的控制引脚A1、A2相连。

P1.0~P1.7分别与a~g相连。

3.3交通灯LED模块

单片机通过P0口、P2口控制交通灯的亮灭状态,在进行对数码显示管的重装载的过程中,单片机同时改变P0口、P2口各位的电平从而达到改变交通灯状态的目的。

电路图如下

图四交通灯原理图

3.4按键模块

本模块共包含3个按键,其中与P3.0、P3.1口相连的两个按键分别控制改变南北方向和东西方向时间,与P3.2口相连的按键控制紧急事件,当与此口相连的按键被按下时则P3.2引脚变为低电平进入紧急中断。

原理图如下

图五按键模块

第4章软件部分

4.1主程序的设计

设计思路:

主程序主要执行调用初始化子程序以及调用循环执行显示子程序。

设计采用调用方式主要是为了简化大型程序的设计,不要让过多东西放到子程序中,利于结构化进行程序设计。

特别是对于比较复杂的大型程序来说这样做会使程序分层清晰。

在主程序前即程序的刚开始还包括了对南北方向通行标志位、东西方向通行标志位、紧急事件标志位的定义。

流程图

图五主程序流程图

4.2初始化子程序的设计

把所有应该初始化的参数全部进行初始化,包括对定时器0的初始化、定时器0方式1的初始化、外部中断0即紧急中断的初始化以及对通行时间的初始化。

图六初始化子程序流程图

初始化程序代码:

INIT:

SETBSNF

SETBEWF

SETBURF

MOVR2,#20

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#3CH

SETBEA

SETBET0

SETBTR0

SETBEX0

SETBIT0

MOVDPTR,#TAB

MOV40H,#40

MOV41H,#40

MOV30H,#40

MOV31H,#60

MOVP0,#4CH

MOV32H,#4CH

MOVP2,#15H

MOV33H,#15H

RET

4.3显示子程序的设计

显示子程序主要是设计刚开始数码显示管应该显示的数据。

包括选中南北方向数码管的十位和个位以及东西方向数码管的十位和个位,并把刚开始想要显示的数据写入数码显示管中。

流程图

图七显示子程序流程图

DIS:

MOVP3,#0DFH

MOVA,30H

MOVB,#10

DIVAB

MOVCA,@A+DPTR

MOVP1,A

LCALLD1MS

MOVP3,#0EFH

MOVA,B

MOVCA,@A+DPTR

MOVP1,A

MOVP3,#7FH

MOVA,31H

LCALLD1MS

MOVP3,#0BFH

MOVA,B

JNBP3.0,DIS_S

JNBP3.1,DIS_E

AJMPDIS_R

DIS_S:

LCALLD5MS

JNBP3.0,DIS_SN

DIS_SN:

MOV40H,#60

MOV41H,#30

AJMPDIS_R

DIS_E:

JNBP3.1,DIS_EW

DIS_EW:

MOV40H,#30

MOV41H,#60

DIS_R:

RET

4.4定时器中断程序以及黄灯闪烁判断程序的设计

设计思路:

定时中断函数主要进行数据的处理从而让数据进行自减1。

初始化子程序中对使用定时器0方式1进行初始化。

题目要求每隔1s更新一次数码管显示,这里选用定时方式1,方式1的最大定时时间为:

=

×

1us=65.536ms

这里每次溢出时设为50ms,每溢出20次进行一次数据更新。

重装值的计算公式为:

TC=

-50ms/1us=15536=3CB0H

进入定时中断后让每个存储单元的数据与4,3,2,1分别相比较,若存储单元中的数据与这4个数中的任何一个相等则使相应绿灯灭并使相应黄灯闪烁。

图八定时中断及黄灯闪烁判断程序流程图

定时中断及黄灯闪烁判断程序:

此程序过长,未单独列出,参见附录。

4.5紧急中断子程序的设计

通过外部中断0进入紧急中断,运用单片机的P3.2口作为中断源入口,平时P3.2口为高电平,当按键按下时变为低电平同时触发紧急中断。

图九紧急中断程序流程图

紧急中断子程序:

URZD:

PUSHACC

PUSHPSW

CLRTR0

CPLURF

JBURF,UR_CON

MOVP0,#49H;

AJMPUR_R

UR_CON:

SETBTR0

MOVA,32H

MOVP0,A

MOVA,33H

MOVP2,A

UR_R:

POPPSW

POPACC

RETI

4.6改变通行时间子程序的设计

通过查询法查询单片机P3.0、P3.1口的状态决定是否应该改变南北直行通行以及东西直行通行时间。

平时这两个口为高电平,而一旦与这两个口相连的按键按下后就变为低电平此时就改变相应的通行时间。

图十紧急中断程序流程图

查询端口子程序:

第5章Proteus仿真部分

通过Proteus仿真对系统进行调试为以后系统的扩展提供了方便。

系统效果图如下:

图十一系统仿真效果图

总结:

通过本次课程设计使我们学到了怎样去查找翻阅有关理论资料和技术手册,把书本上知识总结起来去应用于实践,初步学到了研究、开发,设计单片微型计算机对工业过程控制的一套完整的方法,受益很大。

参考文献:

《单片机原理及其接口技术》(第三版)胡汉才主编

《数字电子技术基础》(第五版)清华大学电子学教研室组编阎石主编

《模拟电子技术基础》(第四版)清华大学电子学教研室组编华成英童诗白主编

《自动检测技术及仪表控制系统》(第三版)张毅张宝芬曹丽彭黎辉编

附录:

附录一原理图及PCB图

图十二总原理图

图十三总原理图

附录二部分程序代码

EWFEQU01H

SNFEQU00H

URFEQU02H

ORG0000H

LJMPMAIN;

ORG000BH

LJMPDSZD

ORG0003H

LJMPURZD

ORG0030H

MAIN:

LCALLINIT

LOOP:

LCALLDIS

AJMPLOOP

DS_C:

LJMPDS_R;

DS_D:

LJMPDS_1

DSZD:

DJNZR2,DS_C

DEC30H

MOVA,30HDS_10:

CJNEA,#4,DS_11

JNBSNF,DS_11

MOVP0,#4AH

MOV32H,#4AH

DS_11:

CJNEA,#3,DS_12

JNBSNF,DS_12

MOVP0,#48H

MOV32H,#48H

DS_12:

CJNEA,#2,DS_13

JNBSNF,DS_13

MOVP0,#4AH

DS_13:

CJNEA,#1,DS_14

JNBSNF,DS_14

DS_14:

CJNEA,#4,DS_15

JBSNF,DS_15

MOVP2,#90H

MOV33H,#90H

DS_15:

CJNEA,#3,DS_16

JBSNF,DS_16

MOVP2,#10H

MOV33H,#10H

DS_16:

CJNEA,#2,DS_17

JBSNF,DS_17

MOVP2,#90H

MOV33H,#90H

DS_17:

CJNEA,#1,DS_18

JBSNF,DS_18

DS_18:

JNZDS_NE

CPLSNF

JNBSNF,DS_D

MOV30H,40H

MOVP0,#4CH

MOV32H,#4CH

MOV33H,#15H

DS_NE:

DEC31H

DS_20:

CJNEA,#4,DS_21

JBEWF,DS_21

MOVP0,#51H

MOV32H,#51H

DS_21:

CJNEA,#3,DS_22

JBEWF,DS_22

MOVP0,#41H

MOV32H,#41H

DS_22:

CJNEA,#2,DS_23

JBEWF,DS_23

DS_23:

CJNEA,#1,DS_24

JBEWF,DS_24

DS_24:

CJNEA,#4,DS_25

JNBEWF,DS_25

CLRP0.7

MOVP2,#45H

MOV33H,#45H

DS_25:

CJNEA,#3,DS_26

JNBEWF,DS_26

MOVP2,#05H

MOV33H,#05H

DS_26:

CJNEA,#2,DS_27

JNBEWF,DS_27

DS_27:

CJNEA,#1,DS_28

JNBEWF,DS_28

DS_28:

JNZDS_R

CPLEWF

JNBEWF,DS_2

MOV31H,#80

MOVP0,#49H

MOV32H,#49H

MOVP2,#1AH

MOV33H,#1AH

AJMPDS_R

DS_1:

MOV30H,#80

MOVP0,#89H

MOV32H,#89H

MOVP2,#25H

MOV33H,#25H

AJMPDS_NE

DS_2:

MOV31H,41H

MOVP0,#61H

MOV33H,#15H

DS_R:

SETBTR0

RETI

PUSHACC

PUSHPSW

TAB:

DB3FH,06H,5BH,4FH,66H,6DH

DB7DH,07H,7FH,6FH

D5MS:

MOVR5,#5

L3:

MOVR7,#10

L1:

MOVR6,#50

DJNZR6,$

DJNZR7,L1

DJNZR5,L3

AJMPLOOP_1

D1MS:

L2:

DJNZR7,L2

LOOP_1:

RET

END

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

当前位置:首页 > 初中教育 > 政史地

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

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