单片机交通灯课程设计.docx

上传人:b****7 文档编号:25068101 上传时间:2023-06-04 格式:DOCX 页数:26 大小:185.97KB
下载 相关 举报
单片机交通灯课程设计.docx_第1页
第1页 / 共26页
单片机交通灯课程设计.docx_第2页
第2页 / 共26页
单片机交通灯课程设计.docx_第3页
第3页 / 共26页
单片机交通灯课程设计.docx_第4页
第4页 / 共26页
单片机交通灯课程设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机交通灯课程设计.docx

《单片机交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《单片机交通灯课程设计.docx(26页珍藏版)》请在冰豆网上搜索。

单片机交通灯课程设计.docx

单片机交通灯课程设计

 

摘要

 

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新,因此也运用到了交通信号灯控制系统中。

单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

科技越发达,智能化的东西就越多,使用的单片机就越多。

看来学单片机是社会发展的需求。

本设计由单片机AT89S52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机交通灯。

引入了电子设计自动化技术,运用了Proteus单片机仿真软件和Keil软件,设计并实现本次的交通信号单片机控制系统。

关键词交通灯;LED显示

 

ABSTRACT

 

Inrecentyears,withtherapiddevelopmentofscienceandtechnology,theapplicationofSCMinconstantdevelopment,andpromotethetraditionalcontroldetectiontechnologyisupdated.Microcontrollerasacorecomponenttouse.

Themodernageisaneraofautomation,trafficlightcontrolandmanyothersectorsoftheequipmentarecloselyrelatedwiththecomputer.Agoodtrafficcontrolsystem,willgiveroadcongestion,illegalcontrolgivetechnicalinnovation,alongwiththelargescaleintegratedcircuitandtherapiddevelopmentofcomputertechnology,aswellasatechnologyinthecontroloftheapplication.Equipmenthadverygreatprogress,isthemodernscienceandtechnologydevelopmentdirection.

Thisdesignusesasinglechipsystemandanexternaldevice,isusedinsingle-chipassemblylanguagetowriteprocedures.ThesinglechipmicrocomputerbasedonAT89S52,havegoodcircuitdiagram,programdesignusingthesoftwareiswritteninKEIL4,usingUSBprocedurestogenerate16hexfiledownloadedtoasingle-chipinsideandthenrun.

ThisarticlemainlyfromtheapplicationofSCMtorealizethecrossroadstrafficlightsmanagement,tocontrolthevehiclepastthenormaltraffic.

Keywords:

Singlechipmicrocomputer;Thetrafficlights;Compilation

 

2课题硬件系统设计2

2.1各模块的电路简介2

2.1.1单片机最小系统2

2.1.2按键电路3

2.1.3流水灯电路3

2.1.4数码管电路3

2.1.5下载口电路3

2.2系统电路图3

2.3元器件清单3

2.4硬件测试3

3课题软件系统设计4

3.1单片机资源使用情况4

3.2软件各模块简要介绍4

3.2.1主程序4

3.2.2显示程序4

3.2.3键处理和键扫描程序4

3.2.4延时程序4

3.3程序流程框图5

3.3.1主程序的流程框图5

3.3.2键扫子程序流程框图7

3.3.3显示子程序流程框图8

3.3.4延时程序流程框图8

4交通灯的设计结论9

4.1使用说明9

4.2交通灯运行图9

4.3设计体会9

结束语11

致谢12

参考文献13

附录14

1功能概述

 

1.1课题任务与功能要求

用AT89S52单片机的控制一个交通信号系统,晶振采用12MHz。

设甲车道与乙车道交叉组成十字路口,甲是主车道,乙是支道。

设计要求如下:

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

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

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

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

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

1.2方案概述

本设计采用的是单片机以及其外部设备组成硬件电路,其中包括单片机、数码管显示器。

数码管的P0口接段控,P2口接位控。

除此之外还有晶振电路、复位电路、电源电路和下载口电路。

程序设计采用的是汇编语言编写,本设计是十字路口交通灯,S1为P显示复位控制键,S2为甲、乙干道控制键,S3为结束键,S4为紧急车辆控制键。

根据设计要求,制定总体设计思想如下:

·正常情况下运行主程序,采用0.5S延时子程序的反复调用来实现各种定时时间。

·有紧急车辆通过时,采用外部中断1执行中断服务程序,并设置该中断为低优先级中断。

AT89S52是一种低功耗,高性能的CMOS8位微型计算机。

它带有8KFlash可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的AT89C51和AT89C52的指令系统及引脚兼容,片内Flash集成在一个芯片上,可用与解决复杂的问题,且成本较低。

交通灯系统结构如图1如示。

 

2课题硬件系统设计

 

图1交通灯系统结构图

2.1各模块的电路简介

2.1.1单片机最小系统

单片机最小系统包括电源电路、时钟电路和复位电路。

只有当单片机有了这些电路才会工作。

电源电路给单片机供电,时钟电路给单片机提供计数时间,复位电路可以实现单片机的复位。

2.1.2按键电路

按键电路的设计就是在一段公共接地,另一端通过上拉电阻接到P1口,当有键按下时,相应的口就会变成低电平,产生一个下降沿。

2.1.3流水灯电路

流水灯电路直接挂接在单片机的P2口上,采用共阳接法。

2.1.4数码管电路

数码管的段控口接在单片机的P0口上,位控通过三极管接在单片机的P2口上。

2.1.5下载口电路

下载口的1脚接在P1.5口,2脚悬空,3脚接在单片机的复位口上,4脚接P1.6口,5脚接P1.7口,6脚接地,7、8、9、10脚接地。

2.2系统电路图

原理图见附录

 

2.3元器件清单

基于AT89S52单片机的交通信号灯控制系统元件清单如表1所示:

器件

型号

数量

器件

型号

数量

单片机

AT89S52

1个

按键

普通

4个

晶振

12MHZ

1个

开关

6脚开关

1个

电容

22uf,33pf

若干

数码管

HSN5642S

2个

电阻

普通

若干

下载接口

10针接口

1个

单排针

10针接口

1个

表1交通信号灯控制系统元件清单

 

2.4硬件测试

实物做好后,使用USB下载线连接单片机的下载口和电脑的USB口,把老师给的测试程序编入单片机中,检查是否各模块的功能显示正常。

若有问题,则需对实物进行检查并修改。

 

3课题软件系统设计

 

3.1单片机资源使用情况

⑴、P0口为数码管的段控制端

⑵、P1口用作地址/数据总线

⑶、P2口用二极管的位控制端

⑷、P1.0、P1.1、P1.2、P1.3口线作为键盘输入端

既在AT89S52的P3口用来接八个发光二极管的阴极,控制其亮与灭,P0口和P2口外接由8个LED数码管构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2口作LED的位控输出线,P2口外接四个个按键A、B、C、D(分别对应于P1.0、P1.1、P1.2、P1.3口)用于调整显示接口电路。

3.2软件各模块简要介绍

软件的设计是由汇编语言来编写的,分成各个模块分别为主程序、显示程序、键处理和键扫描程序、延时程序,以下给予相应的介绍。

3.2.1主程序

主程序是程序的入口,在主程序中会一直调用显示程序、键扫描程序和延时程序,当没有键按下是数码管会一直显示P点,当有键按下是,就会按操作执行。

3.2.2显示程序

显示程序主要完成数码管的动态显示,将相应的段控码送往P0口,相应的位控码送往P2口,实现显示需要的字符信息。

3.2.3键处理和键扫描程序

键处理程序主要是将从P1口取值送往单片机进行取反。

键扫描程序主要是判断是否有键按下,即度过前沿抖动之后再判断是否有键按下,如果确实有键按下再判断是否释放,同样也要度过后沿抖动。

最终将处理完的键值作为返回值返回。

3.2.4延时程序

主程序和显示程序中将会调用到延时程序,是用来倒计时的时候延时1秒的作用。

3.3程序流程框图

3.3.1主程序的流程框图

主程序流程框图如图3所示

主程序

 

紧急情况时的中断

◆服务程序(INT0)

 

图3程序流程框图

 

3.3.2键扫子程序流程框图

键扫子程序流程框图如图4所示

 

 

 

图4键扫子程序流程框图

 

3.3.3显示子程序流程框图

显示子程序流程框图如图5所示

 

图5显示子程序流程框图

3.3.4延时程序流程框图

延时程序流程框图如图6所示

 

图6延时程序流程框图

 

4交通灯的设计结论

 

4.1使用说明

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

如果未显示P.,只需按一下复位键即可使其显示出P.。

按下S2键后,交通等开始进入运行状态。

运行过程中,若按下S1键则为复位键;若按下S2键则甲车道显示60秒绿灯,乙车道显示60秒红灯;若按下S3键则回到初始状态P,为紧急情况使用;按下S4键则甲乙车道都显示10秒红灯。

系统仿真及调试

硬件的调试主要是把电路各种参数调整到符合设计要求。

先排除硬件电路故障,包括设计性错误和工艺故障。

一般原则是先静态后动态。

利用万用表或逻辑表测试仪器,检查电路中的各元器件以及引脚是否连接正确,是否有短路故障。

先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后万用表测试各电源电压,这些都没有问题后,接上仿真机进行联机调试观察接线口线路是否正常。

单片机AT89S52是系统的核心,利用万用表检测单片机电源VCC是否为(40脚)+5V、晶振是否正常工作(可示波器测试,也可用万用表检测,两引脚电压一般为1.8~2.3V之间)、复位引脚RST(复位时为高电平,单片机工作时为低电平)、EA是否为+5V(高电平),这样以来单片机就能工作了,再结合电路图,检测故障就容易了。

4.2交通灯运行图

交通灯运行实拍图见附录

4.3设计体会

通过这次课程设计,使我很好的巩固了一下知识点:

·+5V电源原理级设计。

·单片机复位电路工作原理及设计。

·单片机晶振电路工作原理级设计。

·按键电路的设计。

·LED的特性及使用。

·AT89S52单片机引脚。

·单片机汇编语言及程序设计

 

结束语

 

不知不觉这次课程设计即将结束了,通过这次课程设计,我的动手实践能力,思考和解决问题的能力得到了很大的提高。

同时我觉得做课程设计也是对课本知识的巩固和加强,所以在这次做课程设计的过程中,我对于一些元器件和软件的功能有了更深的了解,并且对其在电路中的使用有了更多的认识。

通过这段时间的设计,我终于完成了交通灯的设计。

虽然我在做的过程当中遇到了一些困难,但是我没有放弃,所以在本次课程设计的过程中,我领悟到,做任何事情都要持之以恒,学习单片机更是如此,程序只有在经常的编写过程中才能得到提高。

从这次的设计中,我真正的意识到,在以后的学习过程中,理论要和实践有机的结合在一起,才能学以致用。

总之对我而言,知识上的收获固然重要,但精神上的丰收更加可喜。

挫折是一份财富,经历是一份拥有。

这次课程设计的过程必将成为我人生旅途上一个非常美好的回忆!

 

致谢

 

这次单片机的课程设计,在不断的努力,不断的询问,在老师和同学不断地帮助下总算是圆满完成了,在这里我要感谢的人太多太多!

首先,感谢我们尊敬的王老师,有了他的谆谆教诲,处处提点,我才得以成功在预定时间内的完成。

王老师一次次给我们指出原理图的错误,让我们反反复复地修改再重新绘制。

老师对我们要求严格,这是对我们的负责,所谓严师出高徒。

而我自由散漫的性格弱点也说明了我需要这样的老师来对我进行督促和鞭策,我学到的不仅仅只有书本上的知识,还有做人的道理。

他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。

在此谨向王老师致以诚挚的谢意和崇高的敬意。

其次,我要感谢的是我亲爱的同学们,如果没有他们的帮助,学习单片机也是一门很吃力的科目,正所谓星星之火可以燎原,在他们的帮助下,所有的坎坷都会成功的迈过,所以我要感谢他们的帮助。

谢谢!

 

参考文献

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

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

LiGuangfirst,ZhuYueXiu,LengZuQi.Singlechipmicrocomputerbased[M].Beijing:

Beijinguniversityofaeronautics&astronauticspress,2007.6

[2]康华光.电子技术基础模拟部分(第五版)[M].北京:

高等教育出版社,2006

kanguhguano.Electronictechnologyfoundationsimulationpart(fifthedition)[M].Beijing:

highereducationpress,2006

[3]阎石,数字电子技术基础(第五版)[M].北京:

高等教育出版社,2006

YanShi,digitalelectronictechnologyfoundation(fifthedition)[M].Beijing:

highereducationpress,2006

[4]邱光源.电路(第五版)[M].北京:

高等教育出版社,2006

QiuGuangYuan.Circuit(fifthedition)[M].Beijing:

highereducationpress,2006

 

附录

附录A程序清单

;**********************************************************************************************:

;项目名称:

十字路口红绿灯的设计

;程序作者:

刘浩

;设计日期:

2012年12月29日

;操作说明:

1.上电复位后,显示系统提示符P.

;2.按S2键启动交通灯控制器。

主通道首先放行,绿灯亮55秒后,黄灯开始亮2秒,接着黄灯闪烁3次,

;每次一秒,接着红灯亮,主通道停止放行;次通道开始放行,绿灯亮25秒后,黄灯开始亮2秒,

;接着黄灯闪烁3次,每次一秒,次通道停止放行;依次循环。

;3.按下S3键红绿灯停止工作,显示系统提示符P.

;4.按下S4键红绿灯暂停工作

;**********************************************************************************************;

;堆栈栈底7FH;

;**********************************************************************************************;

;LED数码管显示器设定;

;P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a

;P2.7---P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

;显示缓冲区设定从左至右依次为7FH,7EH,7DH,7CH,7BH,7AH,79H,78H(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

;**********************************************************************************************;

;独立式键盘设定;

;8个按键S2至S9分别依次接在P1.0至P1.7口线;

;**********************************************************************************************;

;子程序;

;DISP(数码管显示子程序)

;DL(1毫秒延时子程序,晶振频率12MHz)

;KEY(键功能扫描程序,独立式键盘)

;DEC1(数字减一子程序)

;DS0(延时1S后数字减一子程序)

;DC0(延时500MS二极管闪烁子程序)

;***********************************************************************************************;

;常数表格;

;TAB(共阳数码管字型代码表)

;DISBH(系统提示符P.字型代码序号表)

;**********************************************************************************************;

;中断服务程序;

;

;***********************************************************************************************;

;数据存储器变量及常量单元定义;

;

;***********************************************************************************************;

;伪指令定义区

;***********************************************************************************************;

;系统起始程序区

ORG0000H

START:

AJMPMAIN

;***********************************************************************************************;

;系统监控程序

ORG0030H

MAIN:

MOVSP,#7FH

MOVPSW,#00H

MOVR0,#20H

MOVR7,#96

QLRAM:

MOV@R0,#00H;给RAM区初始化

INCR0

DJNZR7,QLRAM

LOOP0:

MOVR1,#78H

MOVR6,#08

MOVDPTR,#DISBH

HCQ:

CLRA;显示序号送往缓冲区

MOVCA,@A+DPTR

MOV@R1,A

INCR1

INCDPTR

DJNZR6,HCQ

LOOP:

LCALLDISP

LCALLKEY

MOVA,20H

;************************************************************************************************

;键功能程序

S2:

CJNEA,#01H,LOOP;判是否是S2键按下,S2键开启倒计时

MOV7FH,#10H;给78H和79H送要显示的计数初值

LOOP1:

MOV78H,#00H;55s倒计时

MOV79H,#06H

MOVP3,#0DEH

LOOP2:

LCALLDS0

MOVA,R5

JNZLOOP2

MOV78H,#03H

LOOP4:

MOVP3,#0DFH

LCALLDC0

MOVP3,#0DDH

LCALLDC0

LCALLDEC1

MOVA,R5

JNZLOOP4

MOV78H,#00H

MOV79H,#03H

MOVP3,#0F3H

LOOP5:

LCALLDS0

MOVA,R5

JNZLOOP5

MOV78H,#03H

LOOP7:

MOVP3,#0FBH

LCALLDC0

MOVP3,#0EBH

LCALLDC0

LCALLDEC1

MOVA,R5

JNZLOOP7

LJMPLOOP1

S3:

CJNEA,#02H,S4;判是否是S3键按下,S3键是返回P.

MOVP3,#0FFH

LJMPLOOP0

S4:

CJNEA,#04H,S2

MOV27H,P3

MOVP3,#0F6H

MOV25H,78H

MOV26H,79H

MOV78H,#00H

MOV79H,#01H

LZ0:

LCALLDS0

MOVA,R5

LCALLDISP

JNZLZ0

MOVP3,27H

MOV78H,25H

MOV79H,26H

AJMPLOOP2

;********************************************************************

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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