交通灯简单设计.docx
- 文档编号:30627287
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:19
- 大小:149.94KB
交通灯简单设计.docx
《交通灯简单设计.docx》由会员分享,可在线阅读,更多相关《交通灯简单设计.docx(19页珍藏版)》请在冰豆网上搜索。
交通灯简单设计
课程设计
课程名称单片机原理与应用
课题名称交通灯
专业
班级
学号
姓名
任课教师
课程设计任务书
课程名称单片机原理与应用
课题交通灯
专业班级
学生姓名
学号
指导老师
审批
任务书下达日期年月日
任务完成日期年月日
设计内容与设计要求
设计内容:
本课题以MCS-51系列单片机为核心,有两个功能:
1、设计一个交通灯系统,分东西、南北四个方向上的红、黄、绿灯并且在灯亮时有计时显示。
设计要求:
1)确定系统设计方案;
2)进行系统的硬件设计;
3)完成必要的参数计算与元器件选择;
4)完成应用程序设计;
5)应用程序的调试。
主要设计条件
单片机开发板,12个LED灯:
4个红色、4个绿色、4个黄色,2个9012,10个100Ω电阻,1块万用板。
说明书格式
1.课程设计任务书
2.目录
3.总体方案确定
4.各单元硬件电路设计说明及计算方法
5.软件设计与说明(包括流程图)
6.调试结果与必要的调试说明
7.使用说明
8.总结
9.参考文献
附录
附录A程序清单
附录B系统原理图
进度安排
设计时间为两周
第一周
星期一、上午:
布置课题任务,讲课及课题介绍
下午:
借阅有关资料,总体方案讨论
星期二、总体方案
星期三、系统设计及调试
星期四、系统设计及调试
星期五、软件设计及调试
第二周
星期一、软件设计及调试
星期二、写说明书
星期三、写说明书
星期四、上午:
写说明书,整理资料
下午:
交设计资料,答辩
目录
目录6
第1章前言7
第2章基本原理7
第3章总体设计思路8
3.1设计方案8
第4章硬件电路的设计方案8
4.1LED显示部分的电路设计9
4.2按键电路设计10
第5章软件设计方案11
5.1交通灯工作设计11
5.2交通灯数码管显示时间设计12
第6章系统调试14
6.1软件模拟仿真14
6.2硬件调试14
第7章使用说明15
第9章参考文献15
附录16
第1章前言
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
例如计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
还有就是我们自动控制领域的机器人、智能仪表、医疗器械等等。
因此,学好单片机非常重要。
第2章基本原理
利用AT89S51作为主控器组成一个交通灯控制系统和电子时钟。
交通灯采用普通LED灯,用+5V的电源来驱动6个LED灯,在+5V电源与LED灯之间加了9012三极管一个,起到开关的作用。
电子时钟的设计只用开发板上的电路即可。
进入的是交通灯系统,先是东西方向上的绿灯亮,南北方向上的红灯亮,数码管由30开始递减计时,当计时显示到00时,东西方向上的黄灯亮,而南北方向上仍是红灯亮,这时数码管由05开始递减计时,减到00后,东西方向开始亮红灯,南北方向开始亮绿灯,数码管由30开始递减计时,当计时显示到00时,南北方向上的黄灯亮,而东西方向上仍是红灯亮,这时数码管由05开始递减计时,减到00后,东西方向开始亮红灯,南北方向开始亮绿灯,这样循环。
第3章总体设计思路
3.1设计方案
该系统的功能概括起来就是实现简单的交通灯系统和电子时钟。
要完成交通灯系统功能,关键在于用单片机选通9012及LED灯让其红、黄、绿灯亮灭交替的变化,数码管的显示用软件延时程序控制。
要完成电子时钟功能,需要编写硬件定时程序。
交通灯系统采用单片机开发板作为基本元件。
在89S51单片机的P1口的P1.2~P1.4口接东西方向上的LED灯,在P1.5~P1.7口接南北方向上的LED灯,从P3.5和P3.6口引出线连到9012的基极上,作为LED灯可以点亮的开关信号,9012集电极上的100Ω电阻为了给9012限流,在红灯和黄灯的电路中加入了100Ω的限流电阻,但因为绿灯亮所需压降较大,所以没有给绿灯加100Ω的限流电阻。
第4章硬件电路的设计方案
根据设计要求和设计思路,硬件电路有两部分组成,即单片机开发板,LED灯组成的模拟交通灯系统。
在单片机中,定时功能既可以由硬件(定时/记数器)实现,也可通过软件定时实现。
硬件定时是利用单片机内定时器定时,启动以后定时器可与CPU并行工作,不占用CPU时间,CPU有较高的工作效率。
交通灯系统设计方案采用软件定时的方式,通过编写Delay函数来进行软件延时,可以方便的控制定时时间的长短。
4.1LED显示部分的电路设计
本课题所采用得是由LED(数码管)作为显示电路,用以显示红、绿、黄灯点亮的时间。
数码管电路即开发板上的数码管电路。
4.2按键电路设计
本课题用按键K3控制交通灯工作的开始,上电后当K3键按下,交通灯开始工作,数码管开始计时。
按键电路即采用开发板上的电路。
第5章软件设计方案
根据设计要求和设计思路,进行模块设计。
5.1交通灯工作设计
图5-1交通灯工作图
说明:
数码管显示程序中即有延时程序,所以交通灯程序内没有调用延时程序。
5.2交通灯数码管显示设计
显示程序1:
是
否
图5-2数码管显示程序1
显示程序2:
图5-3数码管显示程序1
主程序:
图5-5主程序图
第6章系统调试
6.1软件模拟仿真
试验所涉及的2个软件keil和multisim10,以下是仿真步骤。
程序调试部分keil先新建一个工程,并保存在所建工程弹出的对话框中选择AT89S51处理器。
新建一个文档以编辑程序,将所设计的程序输入到新建文档中,并保存文档.c(c文件)。
将所保存的文档添加到工程中去,再进行工程配置,点击Project菜单下的OptionsforTarget,将CreateHEXFile打上勾,再编译文件。
仿真部分multiim10,运行multism10后进入仿真界面将所需元件选择好,根据原理图画出仿真图(当选择了8051单片机后,系统自动提示装入程序的路径,并建立工程文件),待仿真图连好后点击仿真按钮仿真即可。
6.2硬件调试
硬件调试的步骤如下:
接通电源和串口、并口线,打开ISplay软件,进行程序设置,关掉ISPlay,再打开,通过软件将在keil中生成的.hex文件下载到单片机板子上即可。
当程序下载完之后,只有电源指示灯亮,按下K3键交通灯开始工作,并且数码管同步显示计时,按复位键可是交通灯和数码管都停止工作。
第7章使用说明
插上电源,若先按下键K3则进入交通灯系统:
交通灯开始工作并且数码管开始计时,若想进入电子时钟系统则按复位键,再按K4;按下键K4进入电子时钟系统:
按下键K1秒数加1,按下键K2分钟数加1,按下键K4分钟数、秒数都清0,计时从新开始。
若想进入交通灯系统则按复位键,再按K3。
第9章参考文献
参考文献:
《单片机c语言程序设计实例100例》
《单片机电路设计、分析与制作》
附录
A、程序清单:
#include
#defineucharunsignedchar//定义两个宏定义,就是定义unsigned型的int,char变量
#defineuintunsignedint
ucharcodeTab1[]={0xB0,0xA4,0xF9,0xC0};//定义十位显示数据3~0
ucharcodeTab2[]={0x90,0x80,0xF8,0x82,0x92,0x99,0xB0,0xA4,0xF9,0xC0};
//定义个位显示数据9~0
sbitr1=P1^2;//绿灯1的控制端
sbity1=P1^3;//黄灯1的控制端
sbitg1=P1^4;//红灯1的控制端
sbitr2=P1^5;//红灯2的控制端
sbity2=P1^6;//黄灯2的控制端
sbitg2=P1^7;//绿灯2的控制端
sbitP10=P1^0;
sbitP11=P1^1;
sbitP23=P2^3;
sbitP26=P2^6;
sbitcsdx=P3^5;//交通灯使能端,低电平有效
sbitcsnb=P3^6;
voiddelay(uintz)//延时函数,就是两个for循环
{
uintx;
for(;z>0;z--)
for(x=400;x>0;x--);
}
voiddisplay1()//显示程序1:
为了给红灯和绿灯亮定时
{
uinti,j,k;
P10=1;P11=1;
for(i=0;i<4;i++)
{
for(k=0;k<10;k++)
{
for(j=0;j<100;j++)
{
if(i==0)//如果十位要显示3,则个位只显示0,显示1s
{
k=9;
P23=0;P0=Tab1[i];delay(3);P23=1;
P26=0;P0=Tab2[9];delay(3);P26=1;
}
else//如果十位显示2、1、0,则个位显示从9~0,每个数据显示1s
{
P23=0;P0=Tab1[i];delay(3);P23=1;
P26=0;P0=Tab2[k];delay(3);P26=1;
}
}
}
}
}
voiddisplay2()//显示程序2:
为了给黄灯亮定时
{
uintj,k;
P10=1;P11=1;
for(k=4;k<10;k++)//十位显示0不变,个位显示有5~0,每个数据显示1s
{
for(j=0;j<100;j++)
{
P23=0;P0=Tab1[3];delay(3);P23=1;
P26=0;P0=Tab2[k];delay(3);P26=1;
}
}
}
voiddeng()
{
while
(1)//死循环,就是程序一直在执行这个程序段
{
csdx=0;csnb=0;//东西绿灯亮,南北红灯亮
r1=1;r2=0;
g1=0;g2=1;
y1=1;y2=1;
display1();
csdx=1;csnb=1;
csdx=0;csnb=0;//东西黄灯亮,南北红灯亮
g1=1;r2=0;
y1=0;g2=1;
r1=1;y2=1;
display2();
csdx=1;csnb=1;
csdx=0;csnb=0;//东西红灯亮,南北绿灯亮
y1=1;r2=1;
r1=0;g2=0;
g1=1;y2=1;
display1();
csdx=1;csnb=1;
csdx=0;csnb=0;//东西红灯亮,南北黄灯亮
y1=1;g2=1;
r1=0;y2=0;
g1=1;r2=1;
display2();
csdx=1;csnb=1;
}
}
voidmain()//主函数
{
P3=0xff;
if((P3&0x3c)==0x1c)
{
while
(1)
{
MINITE=0;
SECOND=0;
TCNT=0;
TMOD=0x01;//定时器0工作在方式1
TH0=(65536-25000)/256;//装入计数初值,定时50ms
TL0=(65536-25000)%256;
IE=0x82;//开总中断允许位,并允许定时器中断
TR0=1;//启动定时器0
while
(1)
{
KEY_TEST();
if(restar==1)
break;
}
}
}
}
B、电路原理图
单片机原理与应用课程设计评分表
班级:
姓名:
学号:
项目
评价
设计方案的合理性与创造性
开发板焊接及其调试完成情况
硬件设计或软件编程完成情况*
硬件测试或软件调试结果*
设计说明书质量
设计图纸质量
答辩汇报的条理性和独特见解
答辩中对所提问题的回答情况
完成任务情况
独立工作能力
组织纪律性(出勤率)
综合评分
指导教师签名:
________________
日期:
________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 简单 设计