完整单片机交通灯课程实验报告Word格式文档下载.docx
- 文档编号:20022707
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:17
- 大小:173.63KB
完整单片机交通灯课程实验报告Word格式文档下载.docx
《完整单片机交通灯课程实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整单片机交通灯课程实验报告Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
2、2011年7月4日至2011年7月5日,方案选择和电路设计。
2、2011年7月6日至2011年7月7日,电路调试和设计说明书撰写。
3、2011年7月8日上交课程设计成果及报告,同时进展辩论。
指导教师签名:
年月日
系主任〔或责任教师〕签名:
年月日
摘要
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是表达的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。
本设计就是采用单片机模拟十字路口交通灯的状态显示以及倒计时。
本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大局部组成。
系统除根本的交通灯功能外,还具有倒计时功能,较好的模拟实现了十字路口可能出现的状况。
软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序。
经过整机调试,实现了对十字路口交通灯的模拟。
关键词:
交通灯单片机C语言
交通信号灯控制器的设计
1任务要求与设计
设计目的
〔1〕加强对单片机和C语言的认识,充分掌握和理解设计各局部的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
〔2〕用单片机模拟实现具体应用,使个人设计能够真正使用。
〔3〕把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
〔4〕提高利用已学知识分析和解决问题的能力。
〔5〕提高实践动手能力。
设计任务和内容
.1设计任务
.2设计内容
〔1〕填写设计任务书。
〔2〕进展总体设计,画出原理图。
〔3〕编写并调试程序。
〔4〕用Proteus软件进展仿真。
2总体方案比较
为了实现上述功能,有两种选择,其一是采用纯硬件设置,可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路设计技术延时显示电路,只需要手动按键,电路自行实现功能。
另一选择就是通过编程使用单片机系统,利用软件硬件结合。
2.1方案论证
方案一:
如图2-1采用集成集成译码器、计数器、定时器、脉冲发生器以及所需要的门电路,首先周期为一秒的脉冲发生器产生脉冲沿使计数器进展一秒钟计数,计数通过译码器将计数值送给数码管显示作为交通灯的倒计时显示,倒计时为零时产生计数脉冲改变LED灯的亮与灭,逻辑开关包括总开关、复位开关和预置数功能。
图2-1方案一原理框图
方案二:
如图2-2此方案主要以单片机为核心,采用C语言编程实现交通灯效果。
此方式为软硬件结合,硬件包括单片机最小系统,复位电路,数码管显示模块和LED灯模块。
软件设计时包括四种状态转换,中断延时程序。
系统框图如图。
图2-2方案二原理图
2.2方案选择
第一中方案使用纯硬件电路比较容易理解也也不需要软件设计,但是硬件焊接电路较复杂,而且需要比较准确的脉冲信号源,对硬件电路要求较高,第二种方案硬件电路很简单也几乎不需要电阻电容的组织选择,而且只需要+5V直接稳压电源,采用程序实现数码管与LED灯显示功能,所以综合难易程度也可实现性,选择第二种方案。
3总体硬件电路设计及核心器件介绍
3.1总体设计
整个设计以AT89C51单片机为核心,LED数码管显示,晶振电路,复位电路组成。
硬件模块入图3-1。
图3-1硬件原理图
4单元电路模块设计
4.1复位电路、晶振电路
复位电路、晶振电路总体电路图如图4-1
图4-1复位电路、晶振电路
4.2LED数码管显示电路
在单片机应用系统中,数码管显示常用两种方法:
静态显示和动态扫描显示。
所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小,可以提供单独锁存的I/O接口电路很多,动态扫描电路软件设计较为复杂,由于89C52的可供使用I/O口足够多所以采用静态扫描。
此处使用74LS04是由于数码管位选段选直接与单片机I/O口相连,但是单片机I/O口输出电流很小,可能缺乏以带动数码管位选,那么会导致数码管显示不够亮,此处使用的非门作为驱动,增加输出电流。
电路图如图4-2
图4-2LED数码管显示电路
4.3仿真原理图
如图4-3数码管LED灯初始化显示〔倒计时为三十秒〕
当数码管倒计时到22秒时,此时状态是南北路红灯亮而东西路绿灯亮。
图4-3仿真原理图
5软件编程设计
5.1设计思想及程序框图
软件编程是实现交通信号灯显示的灵魂,由于设计要求LED灯循环显示,,并且倒计数时间可以〔0~30s〕预置数。
程序可以分为按键模块,LED灯循环显示模块,数码管计数模块。
如图5-1所示根据分析可以将交通灯根据其显示情况可以分为四个状态,可以通过中断定时来控制每个状态的时间,程序总思路是首先设计一秒钟的中断模块,在一秒到来时,数码管计数显示减一,当倒计时到五秒时状态转换到黄灯亮另一路口继续红灯亮,,倒计时到零,从新显示预置数值,状态装换到一路口红灯灭,另一路口路灯亮,然后继续倒计时五秒,装换状态,完成这四个状态构成一个完整的程序循环
图5-1程序框图
6心得体会
心得体会
今年是第二次做课程设计,上次做的很匆忙,可想而知结果也很糟糕,总结了上次的经历与教训,这次准备的比较早,虽然遇到了很多的困难与问题,但是在自己的自学和同学的帮助之下,圆满的完成任务。
本设计采用的是软硬件结合的方案,所以对软件编程和硬件焊接排布都有一定的要求,而且这也是我第一次自己写C语言程序,刚开场思路很僵硬也不知道机械语言的那种很强的逻辑性,最后通过多看程序,多思考和改进终于实现软件功能。
虽然硬件电路比较简单,但是首先要有比较好的布局,这关系到美观和走线的方便,再一个就是电路的排查方面,第一次焊出来的电路总是或多或少有一些接触不良的问题这就需要细心与耐心的排查。
总体觉得这次的课程设计对自己自学能力动手能力是一个很大的考验和检查。
参考文献
[1]叶挺秀.应用电子学.杭州:
浙江大学出版社,1994
[2]朱承高.电工及电子技术手册.北京:
高等教育出版社,1990
[3]周润景.PEOTEUS在MCS-51&
ARM7系统中的应用百例.北京:
电子工业出版社,2006
[4]李朝青.单片机原理及接口技术〔第三版〕.北京:
北京航空航天大学出版社,2005
[5]刘艳萍,高振斌,李志军.EDA实用技术及应用.北京:
国防工业出版社,2006.
附录1原件清单
序号
名称
数量
型号
1
万用板
2块
2
单片机
1个
STC89C51
3
40引脚插座
4
非门芯片
74LS04
5
2位数码管
2个
LG5621BH
6
LED灯
7个
7
按键
4个
8
自锁开关
9
排针
40个
10
USB接口
11
瓷片电容
104
12
电解电容
13
杜邦线
20根
14
0欧电阻
10个
15
200欧电阻
16
14引脚插座
附录2总电路图
附录3源程序
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitkai=P2^2;
sbitjia=P2^4;
sbitjian=P2^3;
sbitshiwen=P3^0;
sbitgewen=P3^1;
sbitLED_BLUE1=P3^2;
sbitLED_RED1=P3^3;
sbitLED_YELLOW1=P3^4;
sbitLED_BLUE2=P2^5;
sbitLED_RED2=P2^7;
sbitLED_YELLOW2=P2^6;
bitwen=1,guan;
ucharTIME,i,z;
charTIME_MAX1=30;
/*ucharcodetable[]={
0x30,0xf3,0x98,
0x91,0x53,0x15,
0x14,0xb3,0x10,0x11};
*/
ucharcodetable[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};
ucharwenxuan[]={0,1};
shuzi[]={0,0};
voiddelayms(ucharz)
{
ucharx,y;
for(x=0;
x<
z;
x++)
for(y=0;
y<
110;
y++);
}
voidre_display(ucharz)
shuzi[0]=z/2/10;
shuzi[1]=z/2%10;
voiddisplay()
P0=0xff;
shiwen=wenxuan[wen];
gewen=!
wenxuan[wen];
P0=table[shuzi[wen]];
voidset_zhuangtai(ucharzhuangtai)
if(zhuangtai==0)
{
LED_BLUE1=0;
LED_RED1=1;
LED_YELLOW1=1;
LED_BLUE2=1;
LED_RED2=0;
LED_YELLOW2=1;
TIME=2*TIME_MAX1+1;
}
elseif(zhuangtai==1)
LED_BLUE1=1;
LED_YELLOW1=!
LED_YELLOW1;
elseif(zhuangtai==2)
LED_RED1=0;
LED_BLUE2=0;
LED_RED2=1;
elseif(zhuangtai==3)
LED_YELLOW2=!
LED_YELLOW2;
}
voidkey()
while(!
kai)
delayms(10);
if(!
{
guan=~guan;
set_zhuangtai(z);
}
while(!
kai);
voidtiao()
if(jian==0)
if(jian==0)
if(--TIME_MAX1<
0)TIME_MAX1=30;
jian);
elseif(jia==0)
if(jia==0)
if(++TIME_MAX1>
30)TIME_MAX1=0;
jia);
z=0;
if(TIME_MAX1<
6)z=1;
voidmain()
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65532-2000)/256;
TL1=(65536-2000)%256;
EA=1;
while
(1)
key();
if(guan)
TR0=1;
TR1=1;
ET0=1;
ET1=1;
else
{
LED_BLUE1=1;
LED_RED1=1;
LED_YELLOW1=1;
LED_BLUE2=1;
LED_RED2=1;
LED_YELLOW2=1;
ET0=0;
TR0=0;
TIME=2*TIME_MAX1+1;
re_display(TIME);
tiao();
voidTIME0()interrupt1
i++;
if(i==10)
i=0;
if(TIME_MAX1>
5)
{
if(1<
--TIME&
&
TIME<
12)
{
set_zhuangtai(z+1);
}
if(TIME<
2)
set_zhuangtai(z=2-z);
if(--TIME<
set_zhuangtai(z=4-z);
TIME=2*TIME_MAX1+1;
elseset_zhuangtai(z);
}
re_display(TIME);
voidTIME1()interrupt3
display();
wen=~wen;
如有侵权请联系告知删除,感谢你们的配合!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 单片机 交通灯 课程 实验 报告