单片机交通灯控制器.docx
- 文档编号:2902740
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:14
- 大小:101.97KB
单片机交通灯控制器.docx
《单片机交通灯控制器.docx》由会员分享,可在线阅读,更多相关《单片机交通灯控制器.docx(14页珍藏版)》请在冰豆网上搜索。
单片机交通灯控制器
信息与电气工程学院
课程设计说明书
(2014/2015学年第二学期)
课程名称:
单片机课程设计
题目:
交通灯控制器
专业班级:
自动化1202
学生姓名:
魏洪宽
学号:
120410213
指导教师:
苗敬利王书强赵奇王巍
设计周数:
2周
设计成绩:
2015年6月26日
信息与电气工程学院
单片机应用课程设计任务书
一、题目:
交通灯控制器
二、课程设计班级及小组成员:
自动化1202,魏洪宽、董汝津、王阳阳
三、课程设计起止时间:
2015.6.15~2015.6.26
四、原始数据及主要任务:
(1)A道和B上均有车辆要求通过时,A、B道轮流放行。
A道放行1分钟,B道放行1分钟,其中黄灯亮3秒。
(2)A道和B道相应的数码管显示秒数。
(3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K1开关模拟。
五、技术要求:
十字路口的四组红、绿交通灯中A道上的两组同色灯蝉联在一起,B道上的两组灯也彼此互联,受MCS-51单片机的I/O口控制,实验时皆由发光二极管代替,紧急车请求通过的信号由人工控制(K1),以中断方式输入单片机。
学生(签字):
指导教师(签字):
系主任(签字):
院长(签字):
摘要
随着人们生活水平的提高,交通工具大量的出现在日常生活中,交通事故频发,而交通灯的指示信号能有效减少事故的发生。
今年来随着科技发展,单片机的应用不断深入到人们的生活中,以核心处理器的位置来控制着日常生活中的各种电器设施。
本系统采用单片机AT89C51位中心器件设计交通灯控制器,由单片机的I/O口扩展系统,交通状态显示系统、LED数码显示系统、复位电路,等几大部分组成。
系统除基本的交通功能之外,还具有倒计时、紧急按钮等功能,较好的模拟实现了十字路口可能出现的状况。
关键词:
交通灯、74HC373、调试、计时
1课程设计目的
通过单片机课程设计的综合训练,培养学生独立思考、分析问题、解决问题的能力,培养工程实践能力、创新能力和综合设计能力。
根据所学单片机的理论,对简易温度计的原理图、编程、仿真等进行设计。
2课程设计的内容和要求
(1)设计并制作一个以单片机MCS-51为核心的交通灯系统。
(2)十字路口的四组红、绿交通灯中A道上的两组同色灯蝉联一起,B道上的两组灯也彼此互联,受MCS-51单片机的I/O口控制,实验时皆由发光二极管替代,紧急车请求通过的信号由人工控制(K1),以中断方式输入单片机。
(3)确定总体设计方案。
(4)设计显示电路。
(5)合理分配地址,编写系统程序。
(6)利用Protues设计电路原理图并进行仿真。
3课程设计报告的内容
3.1总体设计方案
首先画出仿真原理图,确定好控制红绿灯和计时显示电路的输出口,然后根据分好的地址编写程序。
本设计选用AT89C51作为处理器,用51单片机P0口输出段码,由锁存器74HC373驱动共阳极数码管显示计时;用P1口输出片选码,通过三极管,连接到数码管片选引脚,使数码管能正确显示两位数的计时;选择P2口,通过输出高低电平,来驱动三色LED灯的显示,模拟路口红绿灯;选择P3.2引脚连接一个开关,作为紧急按键(通过外部中断实现)。
3.2所用器件及功能介绍
3.2.1元器件清单
表3.1元器件清单表
型号
功能
数量
单片机MCS-51
控制作用
1个
74HC373
锁存作用
1个
七段LED
显示定时时间
4个
LED灯
交通灯
6个
电阻10K
上拉电阻
8个
电阻330
保护电阻
6个
电阻100
保护电阻
8个
三极管NPN
驱动作用
4个
单刀单掷开关
中断
1个
3.2.2所用器件及功能介绍
(1)MCS-51单片机
图3.1MCS-51单片机
单片机芯片MCS-51为40引脚双列直插式封装。
其各个引脚功能介绍如下,芯片MCS-51的引脚排列和逻辑符号如图4-2所示。
各引脚分别为:
(1)VCC:
供电电压
(2)GND:
接地
(3)P0口
P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
(4)P1口
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入“1”后,电位被内部上拉为高可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
(5)P2口
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(6)P3口
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,同时P3口同时为闪烁编程和编程校验接收一些控制信号。
(7)RST:
复位输入端。
当振荡器复位时,要保持RST两个机器周期的高电平时间。
(8)PSEN
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
(9)EA/VPP
当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(2)74HC373
图3.274HC373
当三态允许控制端OE为低电平时,Q0-Q7为正常逻辑状态,可用74HC373来驱动负载或总线。
当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端LE为高电平时,O随数据D而变。
当LE为低电平时,O被锁存在已建立的数据电平。
(3)七段LED
图3.3七段LED管脚图
七段发光二极管(LED)数码管的一个LED数码管可用来显示一位0~9十进制数和一个小数点。
小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。
LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。
3.3单元电路设计
3.3.1最小系统
在单片机系统中通过在引脚18和19接晶振,以及电容构成最小系统,其中晶振的频率为12MHZ,电容的作用是起到滤波作用。
其电路图如下所示:
图3.4最小系统
3.3.2复位电路
在原理图中通过电阻电容构成复位电路,采用的是自动复位,其电路图如下所示:
图3.5复位电路
3.3.3三色灯显示电路
三色灯选择共阳极接法,当P2响应接口输出低电平,则驱动相应的数码管点亮。
图3.6三色显示电路
3.3.4计时显示电路
P0口输出段码通过锁存器74HC373驱动数码管点亮,P1口输出片选来控制每组段码显示的顺序以及显示时间,完成两位数的计时。
图3.7计时显示电路
3.4总原理图
图3.8原理图
3.5调试
准备工作完成以后接下来的就是进行调试,让电路板按任务书要求显示。
在第一周的周五下午我们调试了一个下午出现了很多问题,例如:
起初是数码管都不亮,后来检查发现P0口输出未接上拉电阻,使得74HC373的输入电流过小不能驱动芯片,后来加上上拉电阻数码管能正常显示了。
但是其中有一个数码管不能正常显示,后来经过调试,修改段码,检查焊点,检查焊接引脚等等方式那个数码管始终不能正常显示,最后用万用表检测发现那个数码管段码d与片选引脚短路,但是外部焊接并没有错误,因此认为那个数码管是坏的,内部电路发生了短路。
最终,经过讨论我们将两组数码管计时减到一组,因为数码管计时两组时间都一致,所以一组计时并不影响此交通灯的功能。
还有紧急按钮开始按下的时候,计数数码管显示乱码,恢复按钮显示不能回到正常状态,调试时检查程序,发现此问题是因为程序编写时没有注意到中断优先级别的问题,设置外部中断0为高优先级,成功解决了这个问题。
总的来说这次的过程还是很艰辛的,不过收获颇多。
4软件设计
#include
//--定义使用的IO口--//
#defineWHKP0
#defineDRJP1
#defineWYYP2
//上下人行道各灯//
sbitRED11=P2^2;
sbitYELLOW11=P2^3;
sbitGREEN11=P2^4;
//左右人行道各灯//
sbitRED01=P2^5;
sbitYELLOW01=P2^6;
sbitGREEN01=P2^7;
//--定义全局变量--//
unsignedcharcodeDIG_PLACE[8]={
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//位选控制查表的方法控制//
unsignedcharcodeDIG_CODE[17]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90};
//0、1、2、3、4、5、6、7、8、9的显示码//
unsignedcharDisplayData[8];
//用来存放要显示的8位数的值//
unsignedcharTime,Second;//用来存放定时时间//
voidDigDisplay();//动态显示函数//
voidTimer0Cofig(void);
voidISR0(void)interrupt0
{//外部中断使两车道均为红灯亮//
WYY=0X0DB;
}
voidmain(void)
{
Second=1;
Timer0Cofig();
while
(1)
{
if(Second==120)
{
Second=1;
}
//上下路通行,60秒//
if(Second<61)
{
DisplayData[0]=0xff;
DisplayData[1]=0xff;
DisplayData[2]=DIG_CODE[(60-Second)%100/10];
DisplayData[3]=DIG_CODE[(60-Second)%10];
DisplayData[4]=0xff;
Display
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通灯 控制器