单片机 交通灯控制.docx

上传人:b****2 文档编号:2838169 上传时间:2023-05-04 格式:DOCX 页数:22 大小:191.98KB
下载 相关 举报
单片机 交通灯控制.docx_第1页
第1页 / 共22页
单片机 交通灯控制.docx_第2页
第2页 / 共22页
单片机 交通灯控制.docx_第3页
第3页 / 共22页
单片机 交通灯控制.docx_第4页
第4页 / 共22页
单片机 交通灯控制.docx_第5页
第5页 / 共22页
单片机 交通灯控制.docx_第6页
第6页 / 共22页
单片机 交通灯控制.docx_第7页
第7页 / 共22页
单片机 交通灯控制.docx_第8页
第8页 / 共22页
单片机 交通灯控制.docx_第9页
第9页 / 共22页
单片机 交通灯控制.docx_第10页
第10页 / 共22页
单片机 交通灯控制.docx_第11页
第11页 / 共22页
单片机 交通灯控制.docx_第12页
第12页 / 共22页
单片机 交通灯控制.docx_第13页
第13页 / 共22页
单片机 交通灯控制.docx_第14页
第14页 / 共22页
单片机 交通灯控制.docx_第15页
第15页 / 共22页
单片机 交通灯控制.docx_第16页
第16页 / 共22页
单片机 交通灯控制.docx_第17页
第17页 / 共22页
单片机 交通灯控制.docx_第18页
第18页 / 共22页
单片机 交通灯控制.docx_第19页
第19页 / 共22页
单片机 交通灯控制.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机 交通灯控制.docx

《单片机 交通灯控制.docx》由会员分享,可在线阅读,更多相关《单片机 交通灯控制.docx(22页珍藏版)》请在冰点文库上搜索。

单片机 交通灯控制.docx

单片机交通灯控制

课程设计说明书

(2009/2010学年第二学期)

 

课程名称:

单片机应用课程设计

题目:

交通灯控制器

专业班级:

学生姓名:

学号:

指导教师:

王立国 韩昱段广玉苗敬利

设计周数:

第17、18周

设计成绩:

 

年7月8日

 

目    录

1、课程设计要求及设计目的——————————————————————————3

1.1任务分析———————————————————————————————3

1.2设计目的————————————————————————————3

2、软件设计————————————————————————————————3

2.1系统分析———————————————————————————————3

2.2系统设计——————————————————————————————3

2.3程序————————————————————————————————6

3、硬件设计————————————————————————————————12

3.1硬件器件介绍—————————————————————————————12

3.2硬件电路设计—————————————————————————————14

交通灯控制器电路原理图——————————————————————————15

交通灯控制器电路PCB图——————————————————————————16

3.3系统调试——————————————————————————————17

4、课程设计总结——————————————————————————————18

5、参考文献————————————————————————————————18

6、致谢——————————————————————————————————18

 

1.要求

我们组的题目是交通灯控制器,即通过单片机实现对交通灯的控制,实验要求如下

(1)A道和B道上均有车辆要求通过时,AB道轮流放行。

A道放行1分钟,B道放行1分钟;A、B道黄灯在转换间歇各闪烁3秒

(2)A道和B道有相应的数码管显示秒数。

(3)有紧急车辆要求通过时,系统要能使禁止普通车辆通行,AB道均为红灯,紧急车由KI开关模拟。

1.1任务分析

主要任务

本设计的主要任务为设计一个以MCS-51单片机为核心的最小且实用应用系统,实现有时间显示的定时交通信号灯控制。

要求

(1)A道放行:

绿灯放行1分钟,同时B道红灯亮1分钟。

(2)闪烁:

A道黄灯闪烁3秒,同时B道红灯继续亮3秒。

(3)B道放行:

B道绿灯亮1分钟,同时A道红灯亮1分钟。

(4)闪烁:

B道黄灯闪烁3秒,同时A道红灯继续亮3秒。

技术要求

十字路口的四组红、绿交通灯受MCS-51单片机I/O口的控制,试验时皆由发光二极管替代,紧急车请求通过的信号由人工(KI)控制,以中断方式输入单片机,即正常模式转入到紧急模式。

正常模式

系统工作时,按照任务分析的四种状态循环进行,同时进行倒计时显示作为时间提示,使人们能够直观地把握时间。

紧急模式

没有急车时,信号灯按正常模式运行。

有紧急情况时,通过人工控制开关发出信号使交通灯处于紧急模式,当交通信号灯处于紧急模式下时,不管原来信号灯的状态如何,一律强制让两方向的红灯点亮,禁止其它普通车辆暂停通行。

1.2课程设计目的

1.进一步熟悉和掌握单片机的结构及工作原理。

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。

3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。

4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

2.软件设计

2.1系统分析

软件分三部分,即主程序、定时器T0中断程序、外部中断1中断程序。

主程序为上电初始化和现实部分,定时器T0中断程序实现时间显示值得改变和交通灯的控制转换,外部中断为紧急车辆通过的控制。

2.2系统设计

(1)主程序

主程序完成定时器的初始化、初始化外部中断、工作模式选择的任务。

主程序的流程图如下:

(2)循环显示子程序

(3)定时计数器中断处理

定时计数器T0为一秒计时,当定时计数器T0产生溢出中断时,处理器转入中断处理程序。

在中断处理程序中首先重置定时器初值,之后判断1s定时时间是否到,若到应则将秒定时大变量重置初值同时将通行时间变量减1,否则跳过,再判断是否到通行时间的最后五秒,若到则将处于通态的路口的绿灯改为黄灯亮,没有则跳过;然后判断通行时间是否到0s,若到则将进行预置数重置、关闭黄灯和翻转方向标志位等操作。

 

定时计数器中断服务流程图如下:

 

(4)外部中断1的处理

当有紧急车辆要求通过时,紧急车请求通过的信号由人工控制,以外部中断1的方式输入到单片机。

单片机暂停前工作响应中断。

 

外部中断1程序流程图:

 

2.3程序:

;定时器0方式1定时1s

ResultEQU50H

FLAGEQU20H

org0000h

ljmpmain

org0003h

ljmpinterrupt0

org000bh

ljmpint0

;-------------------主程序初始化----------------------

main:

;定时器初始化

movtmod,#01h

movth0,#3ch

movtl0,#0b0h

movIE,#10000010b;EA=1,IT1=1

movr2,#10

;外部中断初始化

setbpx0

setbex0;设置中断允许

setbit0;边沿触发方式,负跳变有效

 

setbFLAG

setbtr0

;------------------交通灯循环显示主程序-----------------

loop:

mov2ah,#60

;输出此状态的编码值

;一个方向的60秒

loop1:

lcallBinToBcd

lcalldisp

movp1,#1bh;;;状态编码

loop11:

jnbflag,ergency1

mova,2ah

cjnea,#0h,loop1

;一个方向的3秒钟

mov60h,#3

mov2ah,#3

movp1,#1dh;;;状态编码

loop2:

lcallBinToBcd

lcalldisp

loop22:

jnbflag,ergency2

mova,2ah

cjnea,60h,next1

dec60h

cplp1.1

next1:

cjnea,#0h,loop2

;-----------------------------------------------

;另一个方向的60秒钟

mov2ah,#60

loop3:

lcallBinToBcd

lcalldisp

movp1,#36h;;;状态编码

loop33:

jnbflag,ergency3

mova,2ah

cjnea,#0h,loop3

;另一个方向的3秒钟

mov60h,#3

mov2ah,#3

movp1,#2eh;;;状态编码

loop4:

lcallBinToBcd

lcalldisp

loop44:

jnbflag,ergency4

mova,2ah

cjnea,60h,next2

dec60h

decr1

cplp1.4

next2:

cjnea,#0h,loop4

 

ljmploop

;------------------4种紧急情况----------------

ergency1:

clrtr0

movp1,#21h

lcalldisp

;该行输出禁止通行状态指示灯

movp1,#21h

jnbflag,ergency1

setbtr0

ljmploop11

ergency2:

clrtr0

movp1,#21h

lcalldisp

;输出禁止通行状态指示灯

movp1,#21h

jnbflag,ergency2

setbtr0

ljmploop22

ergency3:

clrtr0

movp1,#21h

lcalldisp

;输出禁止通行状态指示灯

movp1,#21h

jnbflag,ergency3

setbtr0

ljmploop33

ergency4:

clrtr0

movp1,#21h

lcalldisp

;输出禁止通行状态指示灯

movp1,#21h

jnbflag,ergency4

setbtr0

ljmploop44

;------------------------延时1s------------------------

int0:

djnzr2,exit

movr2,#10

dec2ah

exit:

movtl0,#0b0h

movth0,#3ch

reti

;------------------------外部中断----------------------

interrupt0:

clrtr0

cplFLAG;取反FLAG

setbtr0

reti

;---------------------两位数码显示---------------------

DISP:

movr0,#Result

loopn:

;关闭所有位显示

setbp2.0

setbp2.1

;查表,先输出段码

mova,@r0

MOVp0,a

;再选取位

clrp2.1

CALLdelay

setbp2.0

setbp2.1

incr0

mova,@r0

movp0,a

clrp2.0

calldelay

ret

;----------------------显示延时-----------------------

delay:

movR7,#01H

dl:

movR6,#01H

dl2:

djnzR6,dl2

djnzR7,dl

ret

;立即数到段码转换

BinToBcd:

mova,2ah

movb,#10

divab

movDPTR,#TABLE

movca,@a+dptr;查ASCII表

movResult,a

mova,b;恢复A

movca,@a+dptr;查ASCII表

movResult+1,a

ret

TABLE:

DB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h;-----------

END

3硬件设计

3.1硬件器件介绍

(1)、数码管

数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点).

本设计用到的共阳极数码管有9只脚(如右图),左侧8只,下边1只,GND为接电源端,将数码管和MCS-51P0口对应的引脚通过510Ω的电阻连接起来再用单片机控制便正确显示数字。

GND端并联后通过三极管与电源正极相联

共阳极的LED显示管的发光二极管的阳极连在一块,当某个发光二极管的阴极为低电平的时候,发光二极管点亮,相应的段被显示出来,为了使LED显示器不同的符号和数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可以使LED相应的段发光,从而显示不同的字型,因而该代码称之为段码。

(2)MCS-51简介

图3-1是单片机MCS-51的内部结构总框图。

它可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。

●CPU由运算器和控制逻辑构成。

其中包括若干特殊功能寄存器(SFR)。

●MCS-51时钟有两种方式产生,即内部方式和外部方式。

(如图3-2所示)

●MCS-51在物理上有四个存储空间:

片内/片外程序存储大路、片内/片外数据存储器。

片内有256B数据存储器RAM和4KB的程序存储器ROM。

除此之外,还可以在片外扩展RAM和ROM,并且和有64KB的寻址范围。

●MCS-51内部有一个可编程的、全双工的串行接口。

它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。

●MCS-51共有3个(P0、P1、P2口)8位并行I/O端口,共24个引脚。

P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2口均为准双向I/O口;其中P2口还用于传送高8位地址信号。

●MCS-51内部有两个16位可编程定时器/计数器T0、T1。

最大计数值为216-1。

工作方式和定时器或计数器的选择由指令来确定。

●中断系统允许接受5个独立的中断源,即两个外部中断,两个定时器/计数器中断以及一个串行口中断。

c.外部特性(引脚功能)

AT89S51芯片有29条引脚,双列直插式封装:

●Vcc(40):

电源+5V

●Vss(20):

接地

●XTAL1(19)和XTAL2(18):

使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。

●P0口(39—32):

双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。

●P1口(1—8):

准双向通用I/O口。

●P2口(21—28):

准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用。

3.2硬件电路设计

本次课程设计的内容是设计一个用于道路交叉口交通控制的电路图。

本次设计课题主要由复位电路、晶体振荡电路、驱动电路,位选电路等组成。

主要元器件有MCS-51、PNP、数码管、晶体振荡器、按键。

(1)复位电路的实现

当正常工作时单片机接低电平正常工作,当按下按键,单片机接通高电平,实现复位功能。

(2)晶体振荡电路的实现

电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了震荡器的功能。

由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。

(3)时间动态显示电路的实现

分别通过两个9012来传段码和利用P2口来实现位选

(4)驱动电路的实现

通过9012来实现译码驱动的功能,把BCD码转化成段码显示。

(5)交通灯电路的实现

用P10,P11,P12,P13,P14,P15口分别控制红.黄.绿各两个灯,实现对交通灯的控制

(6)位选电路的实现

通过P2.0,P2.1经过两个三极管放大来实现对十位.个位的位选,分别控制两个数码管的显示。

交通灯控制器电路原理图

交通灯控制器电路PCB图

3.3系统调试

本系统的软件规模较小,通过仿真器对各个模块进行在线调试,通过自下到上的方法,单独调好每一个模块,最后完成了完整的系统调试。

由于充分利用了MCS-51单片机,提高了系统的可靠性和稳定性,硬件控制电路简单,系统体积小,调试和维护方便,软件部分可根据具体情况修改程序中的参数,能通过上位机和其他智能设备监视和控制两车道的通行情况,通过共享其他交通监视设别的信号实时检测道路情况,使紧急车辆能及时顺利通过,对灵活有效地利用交通灯控制行车安全、车辆分流、减少交通事故的发生有一定的实际意义。

本设计的上位机软件有待于进一步该改进,其他部分也还要做进一步完善,以使其能够适应现代交通的高速发展。

(1)硬件调试:

硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。

硬件调试可分为静态调试与动态调试两步进行。

a.静态调试是在用户系统未工作时的一种硬件检测。

第一步:

目测。

检查外部的各种元件或者是电路是否有断点。

第二步:

用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步:

加电检测。

给板加电,检测所有插座或是器件的电源端是否符合要求的值

第四步:

联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

b.动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。

动态调试的一般方法是由近及远、由分到合。

由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。

当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。

由分到合的调试既告完成。

由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。

调试时,仍采用去掉无关元件的方法,逐层调试下去,就可以定位故障元件了。

(2)软件调试:

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

4.课程设计总结

两个星期的课程设计结束了,从中我学到了很多东西且感悟良多,体会到了课本联系实际,学以至用的重要性,设计思想,实际动手能力都有所提高

初学单片机时觉得它深奥难懂,枯燥无味,通过课程设计我体会到了编程的灵活性并对它产生了浓厚的兴趣.对以前所学过的知识有了更深刻的印象,而且学到了很多在书本上所没有学到过的知识。

课程设计从设计电路到调试结束,我们失败很多次也修改很多次,可谓是屡败屡战,可我们并未气馁,我们坚持到了最后,调试成功,板子做的也十分漂亮。

(自己的永远是最好的)

在设计原理图时,已经把软件全部忘光,从头学习,边学边实践,总结经验教训,最终完成了设计并且通过了电气规范的检查。

自己独立完成了前期工程设计,很是感到自豪!

在焊板和调试中,我们遇到了很多挑战,但是经过我们团队的共同努力,我们最后克服了这些困难,取得了成功。

比如,在调试中,数码管出现了问题,首先是数码管只是亮一半,我们用万用表检查,没有问题,又检查连线没有问题...最后经过检查,是我们的数码管焊接有问题,焊好以后,但数码管又一点也不亮了,我们又经过努力的检查,发现原来是三极管烧坏了。

经过我们这样不断的调试和检查,最终,我们成功的做好了板子。

期间,有挫折,有喜悦,收获颇丰!

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

这次课程设计使我懂得了同学间的团结合作,懂得了理论联系实际,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是正确的理论,从而提高自己实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,并决心在以后的学习中加以改正,努力练习,提高自己的动手能力。

在老师的辛勤的指导下,最后我们顺利地完成了这次的课程设计.看见到课本所学知识得以应用,心中满是欢喜,满是激动.这次课程设计让我的实际动手能力得到了大大的锻炼,让我解决实际问题的能力得到了大大的提高,并对本专业的课程充满了浓厚的兴趣,及对以后的学习充满了信心,决定在以后的学习生活中加强练习,端正心态,迎接新的挑战.

 

5、参考文献

【1】吴炳胜主编《80C51原理与应用技术》

【2】张毅刚主编《单片机原理及应用》

【3】钟睿主编《MCS-51单片机原理及应用开发技术》等

6、致谢

课程设计

评语

课程设计

成绩

指导教师

(签字)

年月日

真诚的感谢指导老师的辛勤指导和小组成员的合作。

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2