单片机模拟交通灯设计.docx
- 文档编号:5505115
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:20
- 大小:78.54KB
单片机模拟交通灯设计.docx
《单片机模拟交通灯设计.docx》由会员分享,可在线阅读,更多相关《单片机模拟交通灯设计.docx(20页珍藏版)》请在冰点文库上搜索。
单片机模拟交通灯设计
济源职业技术学院
毕业设计
题目
基于单片机的模拟交通灯设计
系别
电气工程系
专业
应用电子技术
班级
电技0901班
姓名
冯毅
学号
09020141
指导教师
张新军
日期
2011年10月
设计任务书
设计题目
基于单片机的模拟交通灯设计
设计要求:
1.用单片机设计一个模拟交通灯系统;
2.该系统能利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。
3.设计完成该功能的硬件电路;
4.设计完成上述功能的相应软件;
设计进度要求:
第一周:
图书馆查资料;
第二周:
查阅资料并开始思考总体思路;
第三周:
设计硬件电路,绘制电路图;
第四周:
绘制软件框图,编写部分程序;
第五周:
仿真软件中调试程序;
第六周:
论文编写完成并上交;
第七周:
修改论文;
第八周:
毕业论文答辩。
指导教师(签名):
摘 要
进入近代社会特别是二十一世纪以来,随着社会经济的快速发展,人们的生活水平提高,汽车的使用越来越多,但随之而来的交通问题也成为社会关注的问题。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。
本人选择制作交通灯作为课题加以研究。
分析了现代城市交通控制与管理问题的现状,结合城乡交通的实际情况阐述了交通灯控制系统的工作原理,利用单片机89S51为核心部件,外加定时器、复位电路、晶振电路、显示电路等,设计一个比较符合交通规则的模拟交通灯,包括基本的交通灯的功能,同时给出了一种简单实用的城市交通灯控制系统的硬件电路设计方案。
关键词:
交通灯,单片机,定时器
目录
1交通灯控制目的及功能1
1.1交通灯控制系统的设计目的1
1.2交通灯控制系统完成的功能1
2总体设计方案2
2.1总体设计框图2
2.2计时控制方案2
2.3显示控制方案2
3单片机简介3
3.1单片机简介3
4单片机附属电路5
5系统整体设计6
5.1系统硬件电路设计6
5.2系统软件设计8
总结与体会16
致谢17
参考文献18
1交通灯控制目的及功能
1.1交通灯控制系统的设计目的
1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过交通信号灯控制系统的设计,掌握定时/计数器及中断的使用方法,和单单程序的编写,最终提高我们的逻辑抽象能力的编写,最终提高我们的逻辑抽象能力。
1.2交通灯控制系统完成的功能
利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
首先用LED灯的亮与灭来模拟交通灯的各种运行状态,考虑交通灯的功能,东西南北各两组,一个十字路口至少需4组交通灯(每组是三个发光二极管)。
指挥禁行和通行的关键,是设计控制交通灯的亮与灭。
考虑南北、东西方向灯的亮灭规律相同,故可以考虑用两组交通灯来模拟实际北东运行的交通灯;东一组三个发光二极管,北一组三个发光二极管,分别用红、绿、黄来指示直行和停止。
先南北直行绿灯亮20秒,而后黄灯亮3秒,再红灯亮19秒;然后南北转弯绿灯亮16秒;东西交通灯绿灯13秒,然后黄灯3秒,然后红灯23秒。
可用中断计数器控制,来显示不同的二极管来模拟交通灯不同的状态。
同时使用数码管来显示时间,提醒行人停止行走或准备行走
2总体设计方案
2.1总体设计框图
交通灯控制的总体设计框图如图2-1所示
图2-1
2.2计时控制方案
利用C51内部的定时器/计时器进行定时,配合软件延时实现倒计时。
2.3显示控制方案
单片机技术中通常有两种显示方式:
动态显示和静态显示
方案一:
串行扩展,LED静态显示。
由于占用较多的接口,在单片机设计中常用串行扩展来完成。
由于是串行接口,该方案占用接口资源少,并且显示亮度有保证,但硬件开销大,电路复杂,信息刷新速度慢,比较适用于并行接口资源较少以及对显示没有实时要求的场合。
方案二:
LED动态显示。
动态显示的方案硬件连接简单,但动态扫描的显示方式需占用cpu较多的时间。
在该系统中由于单片机除了显示红、绿灯的倒计时间没有太多的实时测控任务,故选用动态扫描方式。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,我决定采用方案二实现系统的显示功能。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
3单片机简介
3.1单片机简介
单片机是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
目前使用的单片机大部分都是MC-51系列,MC51系列单片机是Intel公司推出的通用型单片机而且它的品种很多,例如MC-48,MC-51(8位机),MC-51(16位机)等,在MC-51系列中,所有产品都是以89C51为核心,89C51单片机内部包含了作为微型计算机所必需的基本功能部件,各功能部件相互独立而融为一体,集成在同一块芯片上,而且具有以下特点:
(1)8位CPU;
(2)时钟振荡器和时钟电路;
(3)32根I/O线;
(4)外部存储器寻址范围ROM、RAM各64K;
(5)2个16位的定时器/计数器;
(6)5个中断源,2个中断优先级;
(7)全双工串行接口。
由此可见,89C51本身就是一个功能相当强大的8位微型机,所以在我的设计中选择89C51作为核心器件。
89C51系列的内部结构可以划分为CPU、存储器、并行口串行口、定时器/计数器、中断逻辑几部分。
如图3-1所示。
图3-189C51的内部结构
<1>中央处理器
89C51的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。
<2>存储器组织
89C51单片机的存储器结构特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式,这种结构称为哈佛结构单片机。
这种结构与通用微机的存储器结构不同,一般微机只有一个存储器逻辑空间,可随意安排ROM或RAM,访存时用同一种指令,这种结构称为普林斯顿型。
89C51单片机在物理上有四个存储空间:
片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。
<3>3种I/O端口
I/O端口是计算机的输入、输出接口(T是输入,O是输出之意)。
单片机中的I/O端口都是芯片的辅入/输出引脚。
这些I/O端口,可分为以下几种类型:
(1)总线输入/输出端口
(2)用户I/O端口。
由用户用于外部电路的输入/输出控制。
(3)单片机内部功能的输入/输出端口。
例如,定时器/计数器的计数辅入、外部中断源辅入等。
<4>基本功能单元
基本功能单元是为满足单片机测控功能而设置的一些电路,是用来完善和扩大计算机功能的一些基本电路,如定时器/计数器,中断系统等。
定时器/计数器在实际应用中作用非常大,如精确的定时,或者对外部事件进行计数等。
4单片机附属电路
片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。
片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~12MHz之间选取。
C1、C2是反馈电容,其值在5pF~30pF之间选取,典型值为30pF。
本电路选用的电容为30pF,晶振频率为12MHz。
如图4-1所示,这样就确定了单片机的4个周期分别是:
振荡周期=1/12
;
机器周期(SM)=
;
指令周期=
。
图4-1时钟产生电路
下面为单片机复位电路。
单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。
89C51单片机的RST引脚是复位信号的输入端。
例如:
若89C51单片机时钟频率为12MHz,则复位脉冲宽度至少应该为2μs。
复位电路一般有上电复位、手动开关复位和自动复位电路3种,如图2.4,2.5,2.6所示。
由于在我的设计中仅仅在应急情况下才使用复位电路,所以,我使用手动复位电路。
5系统整体设计
5.1系统硬件电路设计
<1>主板电路设计
P0口接各数码管,并连接上拉电阻。
P1口接各LED灯。
<2>晶振复位电路,如图4-1所示
图4-1晶振复位电路
<3>整体硬件电路,如图4-2所示
图4-2硬件电路图
5.2系统软件设计
<1>主程序设计
主程序初始化和按键控制,首先将时间、中断、次数、和显示分别进行初始化,然后启动定时器对时间进行判断,将时间送数据缓冲区,调用显示程序,同时扫描按键程序,用无条件跳转指令返回,再调用显示程序,如此周而复始的循环,如图4-3所示
图4-3主程序流程图
<2>显示子程序设计
调用段码表,使数码管显示十字交通灯每个状态正确的时间从而提醒路人注意,根据时间准备停止或准备行走。
如图4-4所示
图4-4显示程序框图
<3>中断程序介绍
中断技术是计算机中在实时处理和实时控制中不可缺少的一个重要的技术员,它即和硬件有关,也和软件有关。
而且中断是现代计算机必须具备的重要功能。
实现同步工作:
计算机有了中断功能后,就解决了快速CPU与低速外设之间的矛盾,可以使CPU与外设同时工作。
实现实时处理:
在实时控制系统中,为使控制系统能保持在最佳工作状态,被控系统的各种控制参量可随向计算机发出中断请求,要求CPU处理。
对此,必须作出快速响应和及时处理,这种实时处理功能只有靠中断技术才能实现。
在这里我们使用中断的第一个作用,实现同步工作,以达到在二极管显示状态的同时在数码管上显示时间,从而提醒路人注意,根据时间准备停止或准备行走。
还用于判断一个状态是否显示完,实现交通灯轮流显示。
如图4-5所示。
图4-5中断程序流程图
<4>程序
ORG0000H
LJMPMAIN
ORG000BH
LJMPCTC0
ORG0030H
MAIN:
MOVP0,#0;初始化
MOVP3,#0
MOVR7,#0FH;为0FH东西黄灯闪,为0F0H南北黄灯闪
MOVR6,#0FH
MOVR4,#2
MOVR5,#50
MOVSP,#60H;指针初始化
MOVTMOD,#01H
MOVTH0,#0D8H
MOVTL0,#0F0H
SETBEA
SETBET0
SETBTR0
MAI:
MOV50H,#0;显示缓冲区赋初值
MOV51H,#2
MOV52H,#3
MOV53H,#2
CLRP1.2
CLRP1.3
LOOP1:
LCALLDTXS;调显示子程序
MOVA,51H
CJNEA,#0,LOOP1
MOVA,50H
CJNEA,#0,LOOP1
MOV50H,#3
MOV51H,#0
MOVR7,#0FH
SETBP1.2
LOOP2:
LCALLDTXS
LCALLHDMS;调黄灯秒闪子程序
MOVA,51H
CJNEA,#0,LOOP2
MOVA,50H
CJNEA,#0,LOOP2
MOV50H,#3
MOV51H,#1
MOV52H,#0
MOV53H,#1
CLRP1.0;东西红灯亮
CLRP1.5;南北绿灯亮
SETBP1.3;南北红灯灭
SETBP1.1;灭黄灯(东西)
LOOP3:
LCALLDTXS
MOVA,52H
CJNEA,#0,LOOP3
MOVA,53H
CJNEA,#0,LOOP3
MOV52H,#3
MOV53H,#0
MOVR7,#0F0H
SETBP1.5;南北绿灯灭
LOOP4:
LCALLDTXS
LCALLHDMS
MOVA,53H
CJNEA,#0,LOOP4
MOVA,52H
CJNEA,#0,LOOP4
SETBP1.4;灭黄灯(南北)
SETBP1.0;灭东西红灯
LJMPMAI;跳到步1执行
HDMS:
CJNER7,#0FH,H1;东西亮黄灯,还是南北亮黄灯判断
CJNER6,#0F0H,HD1;亮灯还是灭灯判断
CLRP1.1;东西黄灯亮
AJMPBACKH
HD1:
SETBP1.1
H1:
CJNER7,#0F0H,BACKH
CJNER6,#0FH,HD2
CLRP1.4;南北黄灯亮
AJMPBACKH
HD2:
SETBP1.4;南北黄灯灭
BACKH:
RET
CTC0:
PUSHACC;数据保护
PUSH07H
PUSH02H
PUSH01H
PUSH55H
PUSH56H
MOVTH0,#0D8H
MOVTL0,#0F0H
DJNZR5,BACKT;产生0.5s信号
MOVR5,#25
MOVA,R6;产生黄灯秒闪信号
CPLA
MOVR6,A
DJNZR4,BACKT;产生1s信号
MOVR4,#2
MOVA,50H
CJNEA,#0,TL
MOVA,51H
CJNEA,#0,T2
AJMPBBK
TL:
DEC50H
AJMPBBK
T2:
MOV50H,#9
DEC51H
BBK:
MOVA,52H
CJNEA,#0,T3
MOVA,53H
CJNEA,#0,T4
AJMPBACKT
T3:
DEC52H
AJMPBACKT
T4:
MOV52H,#9
DEC53H
BACKT:
POP56H;显示缓冲区数据恢复
POP55H
POP01H
POP02H
POP07H
POPACC
RETI
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DTXS:
MOVR1,#50H;段码初始化
MOVR2,#01H;位码初始化
D1:
MOVDPTR,#TABLE
MOVA,@R1
MOVCA,@A+DPTR
MOVP2,R2
MOVP0,A
LCALLDELAY
MOVA,R2
JBACC.3,BACK
RLA
MOVR2,A
INCR1
AJMPD1
BACK:
RET
DELAY:
MOV55H,#50;延时子程序
DD1:
MOV56H,#100
DJNZ56H,$
DJNZ55H,DD1
RET
END
总结与体会
通过单片机毕业设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。
使之不断地战胜别人,超越前人。
同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。
于是,我坚持了下来。
当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何书,程序由自己独立完成,与用8255来制作的交通灯控制系统相比,程序简单易读,结构清楚,最重要的是成本低。
在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。
成本的高低也决定了产品的适用性。
致谢
在这次课程设计的撰写过程中,我得到了许多人的帮助。
首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。
同时也感谢学院为我提供良好的做毕业设计的环境。
最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学
参考文献
[1].彭勇,《单片机技术》[M],电子工业出版社,2009
[1].李朝青,《单片机原理及接口技术》(简明修订版)[M],北京航空航天大学出版社,1998
[2].李广弟,《单片机基础》[M],北京航空航天大学出版社,1994
[3].阎石,《数字电子技术基础》(第三版)[M],高等教育出版社,1989
[4].廖常初,现场总线概述[J],电工技术,1999
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 模拟 交通灯 设计