单片机课程设计报告.docx

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

单片机课程设计报告.docx

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

单片机课程设计报告.docx

单片机课程设计报告

 

单片机原理及系统课程设计

评语:

 

考勤(10)

守纪(10)

过程(40)

设计报告(30)

答辩(10)

总成绩(100)

 

专业:

自动控制

班级:

姓名:

学号:

指导教师:

兰州交通大学自动化与电气工程学院

2013年3月7日

基于单片机的交通灯控制系统

摘要

当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。

因此,一个好的交通灯控制系统将在道路拥挤等交通状况方面给予技术革新。

本文主要介绍了一个基于89C52单片机的交通灯控制系统,详细介绍了利用89C52设计并仿真实现交通灯控制系统的过程,重点对硬件设计、软件编程、调试分析以及各模块系统流程进行了详细分析,对各部分的电路也一一进行了介绍。

本电路由AT89C52单片机、按键、数码管和LED灯组成,并在Protues软件上实现仿真。

关键词:

交通控制;单片机;AT89C52

Abstract

Theagesisanautomationagesnowadaysandtrafficlightcontrol'swaitingalotofequipmentsofprofessionsiscloselyrelatedwithcalculator.Therefore,agoodtrafficlightcontrolsystemwillhustleforroad,givetechniqueinnovation.Thispaperdescribesa89C52microcontroller-basedtrafficlightcontrolsystem,detaileddescriptionoftheuse89C52developmentprocessofthetrafficlightcontrolsystem.Focusonadetailedanalysisofthehardwaredesign,softwareprogramming,analysisanddebuggingprocessofthemodularsystem,onthepartofthecircuitareintroducedonebyone.ThecircuitismadeupofAT89C52microcomputer,keyboard,digitaltubeandLEDlampdisplayandrealizesimulationintheProtuessoftware.

Keywords:

TrafficControl;SingleChipMicrocomputer;AT89C52

1引言

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。

交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的安全保障。

因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。

1.1设计目的

通过应用单片机的有关知识,能够独立设计出基于单片机的交通灯控制系统,并要求在紧急情况下能运用中断方式控制指示灯的亮灭来转换道路通行方向。

1.2设计要求

本设计是单片机控制的交通灯控制系统设计。

要求设计出针对一个大型十字路口设计的交通信号灯控制系统。

通过单片机AT89C52控制LED灯和数码管,模拟现实生活中的交通灯工作情景。

1.3设计方法

本设计是将事先编制好的程序输入单片机,利用单片机的定时、查询、中断功能,根据十字路口两个方向上车辆动态状况给予一定的时间通行,其中利用中断方式来处理特殊情况。

2设计方案及原理

交通灯的控制分为自动控制和人工控制两种方式,正常情况下,交通灯处于自动控制方式,此时东西方向和南北方向的交通灯轮流导通,特殊情况下,可以通过人工方式延长东西方向或南北方向交通灯的导通时间。

设计两个按键K1、K2,分别为延长南北方向交通导通时间和东西方向交通导通时间。

自动控制方式:

系统上电后处于自动控制方式,首先是南北方向交通导通,南北方向亮绿灯,东西方向亮红灯,数码管从20秒开始倒计时,每隔1秒减1。

倒计时结束时,南北方向黄灯开始闪烁,闪烁间隔为0.5秒,共闪烁5秒。

黄灯闪烁5秒倒计时结束之后,东西方向交通导通,东西方向亮绿灯,南北方向亮红灯,数码管重新开始从20秒倒计时,每隔1秒减1。

人工控制方式:

交通信号灯控制系统设有手控开关。

在东西方向车道放行期间,若南北方向车流量较大,按下开关K1使南北方向车道放行;在南北方向车道放行期间,若东西方向车流量较大,按下开关K2使东西方向车道放行。

采用外部中断执行中断服务程序,并设置中断为低优先级中断。

总体设计框图如图1所示。

图1总体设计框图

3硬件设计

3.1主控制系统模块

主控制器采用AT89C52单片机。

AT89C52具有1个8KB的FLASH程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16位定时/计数器及1个串行口和6个向量二级中断结构。

单片机的P1口分别用于控制东西方向车道及南北方向车道的通行灯,P0口和个别P3口用于2个2位LED计时器的控制。

3.2时钟电路模块

时钟电路由一个12MHZ晶体振荡器和两个30pF的瓷片电容组成,时钟电路用于产生单片机工作所需要的时钟信号。

电路如图2所示。

图2时钟电路模块

3.3复位电路模块

复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启动。

因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。

电路如图3所示。

图3复位电路模块

3.4交通灯输出控制模块

道口交通灯指示采用高亮度红、黄、绿发光二极管进行提示。

通过与驱动电阻连接使发光二极管按照程序要求亮灯。

电路如图4所示。

图4交通灯输出控制电路

3.5时间显示电路模块

道口通行剩余时间倒计时采用高亮红色7段LED发光数码管显示,采用共阴极数码管。

电路图如图5所示。

图5数码管显示模块

4软件设计

主程序采用查询方式定时,通过调用0.5S延时子程序的次数,从而获取交通灯的各种时间。

子程序采用定时器1方式1查询定时,定时器定时50ms,确定50ms循环20次,从而获得1S的延时时间。

有车车道的放行的中断服务程序首先要保护现场,因而需用到延时子程序,子程序采用定时器0方式1查询式定时,定时器定时50ms,确定50ms循环20次,从而获得1S的延时时间,保护现场时还需关中断。

由软件查询外中断,判别哪一道有车。

待交通灯信号出现后,保持10S的延时,然后关中断,恢复现场,再开中断返回主程序。

4.1程序流程图

图6程序流程图

5系统仿真及实际调试

正常情况下的南北车道绿灯20S放行仿真图如附图1所示。

当南北车道无车,东西车道有车时,切换到东西车道绿灯时的仿真图附图2所示。

6总结

通过此次课程设计,复习巩固以前我们所学习的数字、模拟电子技术、单片机原理及接口等课程知识,加深对各门课程及相互关系的理解,并成功使用了ProteusIsis电子软件,使理论知识系统化、实用化。

制作过程中遇到了很多问题,通过不断地查资料,不断地调试,一一解决。

此次课程设计巩固了我的基础知识,提高了我的应用水平,锻炼了我的动手能力,使我受益匪浅。

然而,在吸取经验的同时,我也吸取了不少教训。

在编写软件中,在此过程中我更为熟练得掌握汇编语言各种指令的使用方法,掌握了keil软件的使用。

在编程、仿真方面都走了不少弯路。

在软件调试过程中,使我又一次复习了keil和proteus联合使用的方法。

在调试时曾经遇到数码管倒计时显示时间两位不能同时显示,后来经过查找资料不断调试才领悟到原来在显示的过程中要循环显示才能使得显示稳定下来。

通过这次课程设计,我掌握了用单片机设计交通灯的基体方法,增强了我寻找问题,解决问题的能力。

在今后的学习和实践中,我将继续努力钻研,提高自己,争取在学术和记忆上获得更大的进步。

参考文献

[1]李华,王思明,张金敏.单片机原理及应用[M].兰州:

兰州大学出版社,2001.5

[2]杨居义.单片机课程设计指导[M].北京:

清华大学出版社,2009.12

[3]卢艳军.单片机原理及应用系统[M].北京:

机械工业出版社,2005.2

附录

程序源代码

ORG0000H;初始化

AJMPBEGIN

ORG0003H

LJMPZD

ORG0013H

LJMPZD

ORG0030H

BEGIN:

MOVSP,#6FH;设置中断位

SETBEA;打开总中断

SETBEX0;打开外部中断0

SETBEX1;打开外部中断1

CLRIT0

CLRIT1

AL:

MOVR7,#20;南北车道亮绿灯20s程序

MOVP1,#0DEH

LCALLTIME1S

MOVR4,#05

AH:

MOVP1,#0DDH;南北方向亮黄灯

MOVR5,#05

AAA:

LCALLTIME01S;延时0.5s

DJNZR5,AAA

MOVP1,#0DFH

MOVR5,#05

BBB:

LCALLTIME01S;延时0.5s

DJNZR5,BBB

DJNZR4,AH

BL:

MOVR7,#20;东西方向亮绿灯20s程序

MOVR0,#0F3H

MOVP1,R0

LCALLTIME1S

MOVR4,#05

BH:

MOVR0,#0EBH;东西方向亮黄灯

MOVP1,R0

MOVR5,#05

BA:

LCALLTIME01S;延时0.5s

DJNZR5,BA

MOVR0,#0FBH

MOVP1,R0

MOVR5,#05

BB:

LCALLTIME01S;延时0.5s

DJNZR5,BB

DJNZR4,BH

JMPAL

TIME1S:

MOVR3,#50;延时1s

CLRA

ABC:

MOVA,R7

LCALLXS

DJNZR3,ABC

DJNZR7,TIME1S

RET

TIME01S:

MOVR7,#05;延时0.1s

CLRA

BCD:

MOVA,R4

LCALLXS

DJNZR7,BCD

RET

TIME10MS:

MOVR2,#20;键扫描10ms子程序

YS:

MOVR6,#248

DJNZR6,$

DJNZR2,YS

RET

XS:

MOVR6,A;延时20ms并输出秒数

MOVR1,#40H

MOVA,R6

MOVB,#10

DIVAB

MOV@R1,A

INCR1

MOV@R1,B

MOVDPTR,#LIST

MOVA,@R1

MOVCA,@A+DPTR

MOVP0,A

CLRP3.7

LCALLTIME10MS

SETBP3.7

DECR1

MOVDPTR,#LIST

MOVA,@R1

MOVCA,@A+DPTR

MOVP0,A

CLRP3.6

LCALLTIME10MS

SETBP3.6

RET

LIST:

DB3FH,06H,5BH,4FH;查表

DB66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH

DB39H,5EH,79H,71H

DB40H,00H

ZD:

MOV43H,R7;中断

PUSH43H

MOV44H,R0

PUSH44H

MOV45H,R6

PUSH45H

MOV46H,R3

PUSH46H

JNBP3.2,S1

JNBP3.3,S2

RET

S1:

MOVR7,#10;由东西方向切换为南北方向

MOVR0,#0DEH

MOVP1,R0

LCALLTIME1S

AJMPFINALLY

S2:

MOVR7,#10;由南北方向切换为东西方向

MOVR0,#0F3H

MOVP1,R0

LCALLTIME1S

AJMPFINALLY

FINALLY:

POP46H

MOVR3,46H

POP45H

MOVR6,45H

POP44H

MOVR0,44H

POP43H

MOVR7,43H

RETI

EDN

 

仿真图

附图1正常情况下南北车道放行20S仿真图

附图2南北车道绿灯切换为东西车道绿灯的仿真图

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

当前位置:首页 > 初中教育 > 理化生

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

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