基于单片机的交通灯控制设计.docx
- 文档编号:2809952
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:17
- 大小:665.04KB
基于单片机的交通灯控制设计.docx
《基于单片机的交通灯控制设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制设计.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的交通灯控制设计
成绩
谑南聊紅厚fZ
课程论文
题目:
基于单片机的交通灯控制设计
课程名称:
Proteus
学生姓名:
丁绍成
学生学号:
1214030205
系别:
电子工程学院
专业:
通信工程
年级:
2012级
任课教师:
王丽
2015年4月
基于单片机的交通灯控制设计
学生:
丁绍成
指导教师:
王丽
电子工程学院通信工程
1系统硬件介绍
1.1AT89C51单片机简介
AT89C51是一种带4k字节闪烁可编程课擦除只读存储器(FPEROM—Falsh
ProgrammableandErasableReadOnlyMemory的低电压、高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
⑴与MCS-51兼容
(2)4K字节可编程闪烁存储器
⑶寿命:
1000写/擦循环
(4)数据保留时间:
10年
(5)全静态工作:
0Hz-24Hz
(6)三级程序存储器锁定
(7)128*8位内部RAM
(8)32可编程I/O线
(9)两个16位定时器/计数器
(10)5个中断源
(11)可编程串行通道
(12)低功耗的闲置和掉电模式
(13)片内振荡器和时钟电路
2硬件电路设计2.1设计要求
(1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒,支干道每次通行时间为20秒。
(2)在绿灯转为红灯时,要求黄灯先亮5秒,才能变换运行车道。
(3)黄灯亮时,要求每秒亮一次。
(4)东西方向、南北方向车道除了又红、黄、绿灯指示外,每一种灯亮的时候都用显示器进行显示(采用计时的方法)。
(5)当有突发事情发生时(如又救护车通过时)可通过按键将各个路口设置为红灯,保证救护车通过。
2.2设计任务
(1)东西、南北车辆交替运行
(2)绿灯转为红灯时,黄灯闪亮(间隔1秒)
(3)显示剩余时间
(4)能对交通运行进行控制2.3总体设计
通过单片机把各个部分连接起来,并正常工作,总体结构框图如图1所示:
图1总体设计框图
2.4硬件设计
241单片机选择:
AT89C51
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,
AT89C2051是它的一种精简版本。
其引脚结果如图2所示:
P2.0/A3
P2JA9
P2.2/A10
P2.3/A11
P24/A12
P2.S/A13
P2.S/A14
P27/A15
P3.(WRXD
P3.1/TXD
P32JINTO旳.制丽厂
P3.4JT0P3.5/T1
P3£/WR_PS.T^D-
图2引脚结构图
2.4.2复位电路:
上电+按钮
当8051的ALE及/PSEN两引脚输出高电平,RST引脚高电平时,单片机复位RST/VPD端的高电平,若直接由启动瞬间产生,则为启动复位,若通过按动按钮产生高电平复位称手动复位。
若运行过程中,需要程序从头执行,只需按动按钮开关,则直接把+5V加道了RST/VPD端,从而复位。
复位电路如图3所示:
243晶振电路
晶振电路采用外部晶振电路,使用两个22uF电容并联接地,并在中间在并联晶振,保持外部晶振电路的振荡频率与8051的内部频率一致,保持了电路中所提供的始终频率稳定。
晶振电路如图4所示:
244数码管显示:
7SEG-MPX2-CC
设计中采用的数码管时共阴极数码管,G、F、E、D、C、B、A七个端口时输入端口,对其各位进行赋值,置位则亮,复位则灭,用此来显示相应的数字。
1、2两端口
用了控制高位和低位的选通显示,只要对端口置位,便可以选择该端口,并对其所表示的位进行赋值显示。
数码管结构如图5所示:
245发光二极管显示
每个路口都采用了三个LED灯来显示,分别代表了红黄绿三种灯来模拟交通灯的
变换。
LED交通灯如图6所示:
246键盘:
独立键盘+中断
图7键盘电路
3软件程序设计
3.1总体流程图
使用C语言编写控制程序,其总体流程如图8所示:
图8总体流程图
3.2紧急中断子程序流程图
在路口出现紧急情况时,拉动开关,使红绿灯发生相应的改变,以处理紧急情况下
的车辆通行,子程序流程图如图9所示:
图9紧急中断子程序流程图
3.3循环控制流程思路
通过循环控制的思路来控制交通灯的正常工作,循环控制流程思路图如图10所示:
4Proteus仿真结果与分析
4.1正常运行状态
在Proteus软件中进行仿真,正常运行结果如图11所示:
图11正常运行状态图
4.2中断开启状态
在路口出现紧急情况时,拉动开关,使红绿灯发生相应的改变,以处理紧急情况下
的车辆通行,中断开启状态如图12所示:
■
FikiriPbi
■ST
F*,1WT
rar
PJ-JM陆超
啲•II
kF
rr
Pg>J
IF-lJt
F-J-M-i-岭冉i±
tl.l
IF-lJ-
ynr
ijinr
p-jVni
[F'l^
PJ^Ti
id—r
Pl.T
F-j„Tfnr
RP1
[D9
-■TTW
1
图12中断开启状态图
5设计总结
经过一个星期的努力和付出,完成了本次<
学会了Proteus这个仿真软件的运用,积累进行课程设计的经验。
初步掌握了Proteus这个软件的使用,首先通过本次课程设计,如80C51单片机芯
片以及7SEG-MPX4-CC四位共阴二极管显示器阴,熟悉了它们各自的特点和用途。
通过本次课程设计,对理论知识有了更深入的理解,感受到Proteus的魅力。
其次,通过本次课程设计,大大提高了自己的动手能力和设计能力,加深对
Proteus软件功能的理解,学会用这个软件设计三相步进电机控制系统,将理论知识与实践相联系,为以后在学习和工作的发展打下一个良好的基础。
然后,通过该课程设
计,初步理解了利用计算机控制技术进行三相步进电机控制系统的设计。
我相信未来是属于我们的,随着科学技术的发展,Proteus仿真技术的应用将将越
来越广泛,发挥越来越重要的作用。
参考文献
[1]谭浩强编著•《C程序设计》(第四版)•北京:
清华大学出版社.2010
[2]谢维成、杨加国编著.《单片机原理与应用及C51程序设计》.(第2版).北京:
清华大学出版社.2009
[3]陈忠平编著.《基于Proteus的51系列单片机设计与仿真》(第2版).北京:
电子工业出版社.2012
[4]郭天祥编著.《51单片机C语言教程-入门、提高、开发、拓展全攻略》.北京:
电子工业出版社.2009
附录:
源程序
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
uchartemp,aa,nn;
sbitrn=P2A0;
sbityn=卩2八1;
sbitgn=P2A2;
sbitrw=P2A3;
sbityw=P2A4;
sbitgw=P2A5;
sbitshi=P3A6;
sbitge=P3A7;/*对要使用的单片机各个口进行定义*/
bitflag=0;
ucharcode
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79
0x71};/*将数字0123456789的16进制数定义成数组用以显示*/
voiddelay(uintz);
voiddisp(uintn);
voidyn_flash(void);
voidyw_flash(void);
voidxintO();
voidtimerO();
voidLED_ON();
voidxint1();
voidLED_OFF();
voidrnzhu();
voidrwzhi();
voidmain()
{
uintnum;
num=0;
aa=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=0;
EX仁1;
IT仁1;/*中断初始化*/
while
(1)
{
rnzhu();
yn_flash();
rwzhi();
/*主函数中显示部分*/
yw_flash();
}
}
voiddelay(uintz)/*延时子函数*/
{
uintx,y;
for(x=z;x>0;x__)
for(y=110;y>0;y--);
}
voidtimer0()interrupt1/*定时器初始化*/
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==18)
{
aa=0;
flag=1;
}
}
voiddisp(uintn)/*显示子函数*/
{
while(!
flag)
{
ge=0;
P0=table[n%10];
delay(50);
shi=1;
ge=1;
shi=0;
P0=table[n/10];
delay(50);
shi=1;
ge=1;
}
if(flag==1)
flag=0;
}
voidrnzhu()/*主干道的红绿灯和数码管显示子函数*/
{
uintnum;
num=30;
disp(num);
while(num<=30&&num>0)
{
num--;
P2=0xde;
disp(num);
}
}
voidrwzhi()/*支路的红绿灯和数码管显示子函数*/
{
uintnum;
num=20;
while(num<=20&&num>0)
{
P2=0xf3;
disp(num);
num__;
}
voidyn_flash(void)/*主干道的黄灯和数码管显示子函数*/{
uinta;
for(a=5;a>0;a--)
{
P2=0xdd;
yn=1;
delay(100);
yn=0;
disp(a);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通灯 控制 设计