基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx

上传人:b****6 文档编号:3480121 上传时间:2022-11-23 格式:DOCX 页数:19 大小:341.19KB
下载 相关 举报
基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx_第1页
第1页 / 共19页
基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx_第2页
第2页 / 共19页
基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx_第3页
第3页 / 共19页
基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx_第4页
第4页 / 共19页
基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx

《基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx(19页珍藏版)》请在冰豆网上搜索。

基于单片机的交通灯控制系统设计论文毕业论文设计word格式.docx

基于单片机的交通灯控制系统设计论文毕业论文设计word格式

目录

1设计课题任务、功能要求说明及总体方案介绍1

1.1设计课题任务1

1.2功能要求说明1

1.3设计课题总体方案介绍及工作原理说明1

2硬件系统的设计3

2.1硬件系统各模块功能简要介绍3

2.2电路原理图、PCB图、元器件布局图3

2.3元器件清单3

3软件系统的设计4

3.1单片机资源使用的情况4

3.2软件系统模块功能介绍4

3.3程序流程框图4

3.4程序清单7

4设计结论及误差分析8

4.1数字电子钟的设计结论及使用说明8

4.2误差分析8

5设计总结与体会9

5.1设计总结9

5.2教学建议9

参考文献10

附录A11

附录B13

附录C14

 

1设计课题任务、功能要求说明及总体方案介绍

 

1.1设计课题任务

设计一个具有特定功能的十字路口交通灯。

1.2功能要求说明

该交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

按开始键则开始工作,按结束键则返回“P.”状态。

要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。

有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。

1.3设计课题总体方案介绍及工作原理说明

1.3.1总体方案介绍

本课程设计用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,而接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。

本系统在此基础上,加入了紧急状态下的运行。

本设计系统以单片机为控制核心,连接成最小系统,由独立式键盘模块、复位电路模块、晶振电路模块产生输入,LED信号灯状态模块,数码管倒计时模块接受输出。

系统的总体框图如图1所示。

 

键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。

在此过程中还要实时紧急按键信号,以达到对异常状态进行实时控制的目的。

图1交通灯系统框图

1.3.2工作原理

本交通灯的所有的软件、参数均存放在AT89S52的FlashROM和内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

系统开始时须先显示状态灯、数码管显示“P.”,将状态码值送显P2口,将要显示的时间值的个位和十位分别送显P0和P1口,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。

时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值。

当开启紧急状态外部中断时,一旦信号有效,中断开始,进入中断服务子程序,倒计时结束后中断结束返回中断前状态。

每满一个状态循环周期。

2硬件系统的设计

2.1硬件系统各模块功能简要介绍

2.1.1各硬件模块介绍

本交通灯硬件模块主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。

a.单片机最小系统模块:

包括低功耗、高性能CMOS8位微控制器AT89S52、复位电路、晶振电路。

本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。

通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。

这样就构成一个稳定的自激振荡器。

b.输入模块:

有2个按键,1个电源开关,1个复位键,单片机运行期间,利用按键完成复位操作。

3个按键独立式键盘,按左键1使交通灯的正常运行,按左键2启动交通灯应急系统,按左键3键结束。

键1、2任一键都独自连一个I/O口线,说明它们可以独立实现相应的交通灯的功能。

c.输出模块:

设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。

数码管驱动为三极管驱动。

d.电源模块:

直流稳压电源一般由电源变压器、整流滤波电路及稳压电路组成。

直流稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。

本设计中所需要的电源有PC机的USB口直接供电,没有设计直流稳压电源,故在此不作详细介绍。

2.2电路原理图、PCB图、元器件布局图

见附录A

2.3元器件清单

见附录B

3软件系统的设计

3.1单片机资源使用的情况

本设计采用独立式键盘,键盘直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。

用到的LED显示器接到了单片机的P0口线上和P2口线上。

3.2软件系统模块功能介绍

本设计的软件系统主要采用以下基本模块来实现:

主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块。

主程序:

主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。

中断服务程序:

主要是用于交通灯的准确运行、数据输入过程中的闪烁。

数码管及其驱动模块:

主要是用于驱动数码管及利用数码管显示时间。

键扫描程序模块:

主要是用于确定按键并得到特定的键码值。

3.3程序流程框图

3.3.1主程序

主程序的主要功能是负责准备状态提示符“P.”显示,等待按键按下进入各键功能子程序完成各项功能,其程序流程见图5所示;

图5主程序流程框图

3.3.2紧急通道中断服务程序

图6紧急中断服务程序流程框图

3.3.3数码管显示子程序

图7显示子程序框图

 

3.3.4键扫描程序

流程框图如8所示;

图8键盘扫描子程序框

3.4程序清单

见附录C

4设计结论及误差分析

4.1数字电子钟的设计结论及使用说明

4.1.1设计结论

本课程设计课题是单片机交通灯控制,设计说明书介绍了基于AT89S52单片机的交通灯控制系统的设计,对整个硬件电路和软件程序设计做了分析,文中介绍了交通灯的设计方案选择及原理介绍,加深了51单片机的知识了解,介绍51单片机的结构、特点等。

本课程设计说明书对其中的一些基本原理也做了简要的概述。

本次课程设计仅仅是对交通灯控制系统做出了一个简单的设计方案,还可以添加人行道、违规检测等方案。

4.1.2使用说明

(1)在正常情况下,LED循环说明:

设LED灯从左至右前六个灯分别为:

甲干道绿灯、黄灯、红灯;乙干道绿灯、黄灯、红灯(下面操作显示的各道路灯口皆按此设置)。

交通灯上电后,8位数码管显示初始状态即最右边的一个数码管显示“P.”。

按下左边第一个按键,交通灯进入运行状态,甲干道绿灯亮,乙干道红灯亮,并且同时数码管从57s开始倒计时;倒计时结束,甲干道绿灯灭,黄灯亮且闪烁,乙干道红红亮,数码管显示倒计时3S;此次计时结束,甲干道红灯亮,乙干道绿灯亮,同时数码管从27s开始倒计时;倒计时结束,乙干道绿灯灭,黄灯亮且闪烁,甲干道红灯亮,计时结束,一轮循环就此完成。

(2)紧急情况时:

按下左边第二个键紧急键,交通灯启动紧急状态,甲、乙两干道红灯同时亮起,数码管显示10秒倒计时,倒计时结束后,交通灯系统回到启动紧急情况前的状态,恢复正常通行。

4.2误差分析

交通灯在运行中存在一定的误差,误差产生有三种可能,首先是采用的计时方案是软件计时的,计时优势利用中断来实现。

而你开启定时器和开启LED灯顺序上是有先后的,这个过程需时间的,所以就产生了一定的误差,当然这个误差是避免不了的,其次还有硬件系统也有一定的影响。

第三,设计用到12MHz的晶振,计算是满20次为一秒钟,但实际会慢很多。

5设计总结与体会

 

5.1设计总结

本次课程设计是交通灯的设计,从用Proteus画原理图、PCB图到制板,再到编程,通过本次课程设计我学会了很多。

首先是学会了利用自己所学的理论知识来解决实际问题,在整个设计过程中,我们把老师以前所讲的芯片的原理、作用及性能都运用到了这次设计中,这样加强了我们对课本知识的理解和巩固。

我觉得这次设计不仅加强了我们对课本知识的回顾和温故,而且锻炼了我们运用软件的能力,实现了从理论与实际的结合。

其次通过这次课程设计,加强了我们的动手、思考和解决问题的能力。

书中的理论有点枯燥,运用书中的知识去调试,那是一种无法比拟的成就感。

这样更能激发我们对我们专业的兴趣,和对我们专业知识的理解和掌握,能激发我们对电子科研技术的钻研,增加设计兴趣。

当然,在本次课程设计中也遇到了很多问题,首先对汇编指令不是很了解,一直得翻书;定时器初值的设置需进行计算,定置50ms;在将程序下载在最小系统,进行实物演练时,发现跳转在甲干道黄灯亮时蜂鸣器会响,开始还以为程序设置错误,仔细检查发现是最小系统在进行实物制作的过程中,将蜂鸣器和LED灯连在了一条线上。

这次课程设计由于编程能力的有限和所学知识的局限性,在这个程序和设计系统中只实现了所有的基本要求,而且这其中还有许多不完善的地方,这说明我在这方面还存在着很多不足,知识不够完备和系统,在以后的学习中还有待提高。

希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。

5.2教学建议

 

通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。

 

参考文献

[1]马忠梅,单片机的C语言Windows环境编程宝典[M],北京:

北京航空航天大学出版社,2003.6   

[2]李光飞,单片机C程序设计指导[M],北京:

北京航空航天大学出版社,2003.01

[3]李光飞,单片机课程设计实例指导[M],北京:

北京航空航天大学出版社,2004.9

[4]李广弟.朱月秀.冷祖祁.单片机基础[M],北京:

北京航空航天大学出版社.2007.1

[5]高洪志..MCS-51单片机原理及应用技术教程[M],北京:

人民邮电出版社,2009.4

[6]周润景,张丽娜,丁莉.基于PROTEUS的电路及单片机设计与仿真[M],北京:

北京航空航天大学出版社,2010.01

 

附录A

电路原理图:

PCB图:

布局图:

附录B

元器件清单

名称

数量

参数

单片机

1个

AT89S52

共阳数码管

2个

4位一体

底座

3个

晶振

1个

12MHz

发光二极管

9个

单排插

1个

40PIN

蜂鸣器

1个

按键

9个

排阻

2个

10K

下载口座子

1个

十芯

温度传感器

1个

18B20

六脚按键开关

1个

USB电源线加接口

1个

电阻

1个

200Ω

电阻

1个

4.7K

电阻

3个

1K

电阻

24个

470Ω

电解电容

1个

22μf

瓷片电容

2个

33p

短路帽

3个

PCB板子

1块

电源白色插座

1个

杜邦线

1个

铜柱(带螺母)

4个

 

附录C

ORG0000H

LJMPMAIN

ORG000BH

LJMPTTC0

ORG001BH

LJMPTTC1

ORG0030H

MAIN:

CLRTR0

CLRTR1

MOVP3,#0FFH

MOVPSW,#00H;初始化

MOVSP,#7FH

MOVTMOD,#11H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTH1,#3CH

MOVTL1,#0B0H

SETBEA

SETBET0

SETBET1

MOV78H,#11H

MOV79H,#10H

MOV7AH,#10H

MOV7BH,#10H

MOV7CH,#10H

MOV7DH,#10H

MOV7EH,#10H

MOV7FH,#10H

PP:

LCALLDIR

START:

LCALLKEY

JB20H.0,K0;按下K0,启动计时

JB20H.2,MAIN;运行过程中,按下K2,则结束

LJMPPP

K0:

SETBTR0

MOV21H,#00H

SETB21H.1

MOV78H,#07H

MOV79H,#05H;计时57秒

MOVR1,#20

MOVR2,#00H

KK0:

JB20H.1,LOOPX0;按下JINJI键,则运行紧急程序

JB20H.2,MAIN

LCALLKEY

LJMPKH0

LOOPX0:

CLR20H.1

LCALLJINJI

KH0:

LCALLDIR

LJMPKK0

TTC0:

PUSHPSW

CLRRS0

CLRRS1

MOVTH0,#3CH

MOVTL0,#0B0H

DJNZR1,KL0;50ms,循环20次,即1s

MOVR1,#20

INCR2

MOVR0,#78H

LCALLDADD1

KL0:

JB21H.1,ZHUT1

JB21H.2,ZHUT2

JB21H.3,ZHUT3

JB21H.4,ZHUT4

ZHUT1:

CJNER2,#57,LOOP11;不等,则甲绿乙红

MOVR2,#00H

CLR21H.1

SETB21H.2;相等,则亮黄灯

MOV78H,#03H

MOV79H,#00H

LJMPZHUT2

LOOP11:

MOVP3,#0DEH;甲通道亮绿灯,乙通道亮红灯

LJMPLAST10

ZHUT2:

CJNER2,#03H,LOOP12

MOVR2,#00H

CLR21H.2

SETB21H.3

MOV78H,#07H

MOV79H,#02H

LJMPZHUT3

LOOP12:

CJNER1,#10,FH1

MOVP3,#0DDH;红灯均亮

LJMPLAST10

FH1:

MOVP3,#0DFH

LJMPLAST10

ZHUT3:

CJNER2,#27,LOOP13

MOVR2,#00H

CLR21H.3

SETB21H.4

MOV78H,#03H

MOV79H,#00H

LJMPZHUT4

LOOP13:

MOVP3,#0F3H;甲通道亮红灯,乙通道亮绿灯

LJMPLAST10

ZHUT4:

CJNER2,#03H,LOOP14

MOVR2,#00H

CLR21H.4

SETB21H.1

MOV78H,#07H

MOV79H,#05H

LJMPZHUT1

LOOP14:

CJNER1,#10,FH2;黄灯闪烁

MOVP3,#0FBH

LJMPLAST10

FH2:

MOVP3,#0EBH

LAST10:

POPPSW

RETI

JINJI:

PUSHTH0

PUSHTL0

PUSHPSW

CLRRS0

SETBRS1

MOVR5,78H;送R5保存

MOVR6,79H

MOVTH1,#3CH

MOVTL1,#0B0H

MOVR1,#20

MOVR2,#00H

MOV78H,#00

MOV79H,#01H

CLRTR0

SETBTR1

GHK:

LCALLDIR

JB21H.7,LAST1

LCALLKEY

JB20H.2,KX

LJMPKY

KX:

LJMPMAIN

KY:

CLR21H.7

LJMPGHK

LAST1:

CLRTR1

MOV78H,R5;送R5恢复

MOV79H,R6

SETBTR0

POPPSW

POPTL0

POPTH0

RET

TTC1:

PUSHPSW

CLRRS0

SETBRS1

CLR21H.7

MOVTH1,#3CH

MOVTL1,#0B0H

DJNZR1,LOP1

MOVR1,#20

INCR2

MOVR0,#78H

LCALLDADD1

CJNER2,#10,LOP1

SETB21H.7

LOP1:

MOVP3,#0DBH

POPPSW

RETI

;数码管显示子程序

DIR:

PUSHDPH

PUSHDPL

PUSHACC

PUSHPSW

SETBRS0

CLRRS1

MOVR0,#78H;建立显示缓冲区首址

MOVR5,#0FEH;从右边开始显示

MOVA,R5;位控码初值

LD0:

MOVDPTR,#TABLE

MOVA,@R0

MOVCA,@A+DPTR

MOVP0,A

MOVA,R5

MOVP2,A

LCALLDELAY

INCR0;转向下一缓冲单元

MOVA,R5;位控码

JNBACC.7,LD1;判断是否到最高位,到,则转移

RLA;不到,显示左移一位

MOVR5,A;位控码送R5保存

LJMPLD0;继续扫描

LD1:

POPPSW

POPACC;恢复现场

POPDPL

POPDPH

RET

KEY:

LCALLKEYCHULI;键扫程序

JZEXIT

CLRTR0

LCALLDIR

LCALLKEYCHULI

JZEXIT

MOVB,20H

KEYSF:

LCALLKEYCHULI

JZKEY1

LCALLDIR

LJMPKEYSF

KEY1:

MOV20H,B

EXIT:

RET

KEYCHULI:

MOVP1,#0FFH

MOVA,P1

CPLA

ANLA,#0FH

MOV20H,A

RET

DELAY:

MOVR7,#01H

MOVR6,#0F0H

KF0:

DJNZR6,KF0

MOVR6,#0FFH

DJNZR7,KF0

RET

;减一子程序:

DADD1:

PUSHACC

MOVA,@R0

DECA

CJNEA,#0FFH,LGH0

LJMPLGH1

LGH0:

MOV@R0,A

LJMPLAST0

LGH1:

MOVA,#09H

MOV@R0,A

INCR0

MOVA,@R0

DECA

MOV@R0,A

LAST0:

POPACC

RET

TABLE:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H;0-6

DB0F8H,80H,90H,88H,83H,0C6H,0A1H;7-D

DB86H,8EH,0FFH,0CH;E-F,灭,P.

END

 

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

当前位置:首页 > 小学教育 > 小升初

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

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