交通灯系统电路设计.docx
- 文档编号:3821953
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:17
- 大小:431.35KB
交通灯系统电路设计.docx
《交通灯系统电路设计.docx》由会员分享,可在线阅读,更多相关《交通灯系统电路设计.docx(17页珍藏版)》请在冰豆网上搜索。
交通灯系统电路设计
山东大学威海分校
机电与信息工程学院
课程设计
课程名称单片机原理与应用
课题名称交通灯系统电路设计
专业******
班级*******
学号**********
姓名*******
任课教师*******
2010年12月18日
山东大学威海分校
机电与信息工程学院
课程设计任务书
课程名称单片机原理与应用
课题交通灯系统电路设计
专业班级************
学生姓名******
学号***********
指导老师*******
审批
任务书下达日期2010年12月8日
任务完成日期2010年12月18日
设计内容与设计要求
设计内容:
本课题要求以AT89S51系列单片机为核心,设计一个智能化的交通灯控制系统,能够使红黄绿灯之间自由转换,并显示灯亮时间。
设计要求:
1)确定系统设计方案;
2)进行系统的硬件设计;
3)完成必要的参数计算与元器件选择;
4)完成应用程序设计;
5)应用程序的调试。
目录
目录-4-
第1章前言-4-
第2章基本原理-5-
第3章总体设计思路-5-
3.1设计方案-5-
第4章硬件电路的设计方案-6-
4.1单片机控制交通灯电路设计-6-
4.2LED现实模块电路设计-7-
4.3蜂鸣器报警电路设计-7-
第5章软件设计方案-8-
5.1系统流程图-8-
5.2状态转换以及蜂鸣器报警程序-8-
5.3数码管显示程序-9-
第6章系统调试-10-
6.1Keil仿真-10-
6.2硬件调试-13-
第7章总结与体会-13-
参考文献-14-
附录-15-
第1章前言
单片机作为嵌入式微控制器在工业测控系统,智能仪器和家用电气中得到广泛应用。
虽然单片机的品种很多,但AT89S-51系列单片机仍不失为单片机中的主流机型。
本课程一AT89S-51系列以及派生系列单片机芯片为主介绍单片机的原理与应用,与其特点是由浅入深,注重接口技术和应用。
近年来,微型计算机的发展速度足以让世人惊叹,以计算机为主导的信息技术作为一种崭新的生产力,正在向社会的各个领域渗透,也使机电一体化的进程大大加快。
机电一体化是当今制造技术和产品发展的主要倾向,也是我国机电工业发展的必由之路。
可以认为,它是用系统工程学的观点和方法,研究在机电系统和产品中如何将机械、计算机、信息处理和自动控制技术综合应用,以求机电系统和产品达到最佳的组合。
机电一体化产品所需要的是嵌入式微机,而单片机具有体积小、集成度高、功能强等特点,适于嵌入式应用。
智能仪器、家用电器、数控机床、工业控制等机电设备和产品中竟相使用单片机。
就目前而言,单片机的发展势头依然不减,各种型号和功能更强的单片机和超级接口芯片不断出现,进一步向高层次发展的重要标志就是构成多机系统和分布式网络。
世界上单片机芯片的产量以每年27%的速度递增,到本世纪初已达30亿片,而我国的年需求量也超过了亿片的数量,这表明单片机有着广阔的应用前景。
本课程设计主要针对目前我国早期应用比较广泛的“AT89-S51”单片机进行系统的讲解和分析。
为使用和开发各类机电一体化设备和仪表建立基础。
第2章基本原理
利用AT89S51作为主控器组成一个交通灯控制系统,交通灯用红黄绿三颜色发光二极管表示,为了实现模拟功能,仅仅用南北东西六个二极管。
设置定时器/计数器T0定时、计数,且定时时间为1s,计数初值为16秒。
共设计八个状态,每个状态灯亮,并且把灯亮时间用数码管显示,八个状态循环改变。
第3章总体设计思路
3.1设计方案
该系统的功能概括起来就是能检测红绿交通的状态,并且能够及时进行转换,并把灯亮的显示时间用八段数码管显示。
要完成此功能,关键在于红路灯状态的检测与转换。
不妨设初始状态为:
东西南北全部红灯,设为状态0;状态1为:
南北绿,东西红;状态2为:
南北绿闪烁,东西红;状态3为:
南北黄,东西红;状态4为:
东西南北全红;状态5为:
南北红,东西绿;状态6为:
南北红,东西绿闪烁;状态7为:
南北红,东西黄。
灯亮的过程中,将灯亮时间显示在数码管上。
用定时器T0定时,定时初值为100毫秒,每中断10次为1秒。
设计数初值为16秒,每当计时值减到0时,回到初值16,同时;亮灯状态改变。
状态2和状态6变换时,蜂鸣器报警。
第4章硬件电路的设计方案
根据设计要求和设计思路,硬件电路有三部分组成,即单片机控制交通灯模块,LED显示器电路和蜂鸣器报警电路
在单片机中,定时功能既可以由硬件(定时/记数器)实现,也可通过软件定时实现。
硬件定时是利用单片机内定时器定时,启动以后定时器可与CPU并行工作,不占用CPU时间,CPU有较高的工作效率。
采用硬件定时和软件定时并用的方式,即用T0溢出中断功能实现50ms定时,通过软件延时程序实现1s定时。
定时器的TMOD用于设置定时器/计数器的工作方式0~3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
4.1单片机控制交通灯电路设计
图4-1单片机控制交通灯连接图
如图4-1所示,AT89S51单片机的P2.0—P2.6分别接了一个红黄绿发光二极管,代表东西南北方向的红黄绿交通灯。
二极管接4.7KΩ上拉电阻,电阻再接9013三极管,保证足够大的电流、电压使发光二极管能够正常发光。
4.2LED现实模块电路设计
图4-2LED显示模块电路
如图4-2所示,单片机P0口接八段共阴极数码管,P0.0—P0.7为数码管的片选,分别控制哪一位的亮灭;P1.0和P1.1为数码管的片选,用来控制哪个数码管显示十位,哪个显示个位数。
每位数码管与单片机之间连接330Ω电阻。
4.3蜂鸣器报警电路设计
图4-3蜂鸣器报警模块电路
如图所示,当P3.7为低电平时候,三极管9012导通,蜂鸣器有电流通过,发出鸣叫,报警。
第5章软件设计方案
根据设计要求和设计思路,进行模块设计。
包括系统流程图,状态转换和蜂鸣器报警流程图,显示程序流程图。
5.1系统流程图
图5-1系统流程图
图5-1所示为系统流程图,系统经初始化之后,调用状态转换及报警程序,之后调用显示子程序动态显示亮灯时间。
5.2状态转换以及蜂鸣器报警程序
图5-2状态转换及蜂鸣器报警程序
如图为状态转换及报警程序,初始化后进入状态转换,八个状态一直在循环转换,并显示状态时间。
如果转到状态2或是状态6,则蜂鸣器报警,并同时显示亮灯时间,在此期间,蜂鸣器一直响,直到转换到下一个状态。
八个状态一直转换,直到按下Rest键为止,又从状态0开始循环。
5.3数码管显示程序
图5-3数码管显示流程图
如图5-3为数码管显示流程图,每次显示16秒到,又重新显示。
第6章系统调试
6.1Keil仿真
先新建一个工程,并保存在所建工程弹出的对话框中选择80-51处理器。
新建一个文档以编辑程序,将所设计的程序输入到新建文档中,并保存文档.asm(汇编源文件)。
将所保存的文档添加到工程中去,再进行工程配置,点击Project菜单下的OptionsforTarget,在弹出的对话框中设晶振为12MHZ,将CreateHEXFile打上勾,再编译文件。
图6-1P0—P3口初始状态的值
图6-2运行几步后各个端口的值
图6-3开始显示十位的值
如图6-3所示,十位的值为0xfd,则端口P1的值为11111110即为0xfd,同时定时器。
启动。
图6-4取计时值送给P0口
图6-5设置断点观察P2口的值
如图6-5所示,P2口的值为0xee,通过参数窗口看到P2口的值为11101110,即为0xee。
6.2硬件调试
硬件调试的步骤如下:
接通电源和数据线,通过软件将在keil中生成的HEX文件下载到单片机板子上,先对板子关电当显示请上电时按下单片机上的电源开关按钮上电下载程序到单片机中,通过按键和LED的显示进行调试。
当程序下载完之后,按下电源开关,LED上显示16,初始状态的东西南北的红色交通灯点亮。
同时,LED上的数据开始递减,当从16减到0时,转入下一个状态,数码管重新从16开始递减计时。
当转到状态2和6时,蜂鸣器会鸣叫报警。
第7章总结与体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从开始设计方案到最终确定方案,从器件的选用到最后的确定,从理论到实践,在两个多星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管NPN管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次的课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在同学的帮助下,终于迎刃而解。
同事,在其他同学身上我学到了很多东西,学会了怎样编程、怎样调试。
虽然学习的还不是很深入,Keil软件还没有掌握,只是懂得了一些,在以后的学习应用当中我一定会更加积极、主动、深入的学习。
在此对帮助过我的同学们表示衷心的感谢!
参考文献
1、曹立军.《单片机原理与应用》.西安电子科技大学出版社,2009
2、张迎新.《单片微型计算机原理、应用及接口技术》.国防工业出版社,1993
3、房小翠.《编单片机实用系统设计技术》.国防工业出版社,1999
4、何立民.《编单片机应用系统设计》.北航出版社,2005
5、雷伏容.《51单片机常用模块设计查询手册》.清华大学出版社,2010
6、刘国荣.《单片微型计算机技术》.机械工业出版社,1996
7、吴炳胜.《8051单片机原理与应用技术》.冶金工业出版社,2003
附录
程序清单
#include
#defineucharunsignedchar
ucharseg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0-9段码
ucharcount,time,state,tf;
bitf=0;
sbitreset=P3^2;
sbitBuf=P3^7;//定义蜂鸣器位
/*****延时函数*****/
voiddelay(uchark)
{
uchari,j;
for(i=0;i for(j=0;j<200;j++); } /*****主函数*****/ voidmain() { TMOD=0x01;//设置为定时器模式1 TH0=0x3c;//晶振6MHz,定时时间100ms TL0=0xb0; IE=0x82;//开全局中断和定时中断 time=16;//计时初值为16s count=0;//秒计数值清0 tf=0;//0.5s计数值清0 state=0;//初始状态为0 while (1) { if(reset==0)//复位,状态0,关闭定时器,计时值为16 { state=0; TR0=0; time=16; } elseTR0=1;//启动定时器 /*switch(state) { case0: P1=0xee;break;//状态0: 东西南北全红灯 case1: P1=0xeb;break;//状态1: 南北绿,东西红 case2: {if(f==1)P1=0xeb;elseP1=0xef;}break;//状态2: 南北绿闪烁,东西红 case3: P1=0xed;break;//状态3: 南北黄,东西红 case4: P1=0xee;break;//状态4: 东西南北全红 case5: P1=0xbe;break;//状态5: 南北红,东西绿 case6: {if(f==1)P1=0xbe;elseP1=0xfe;}break;//状态6: 南北红,东西绿闪烁 case7: P1=0xde;break;//状态7: 南北红,东西黄 } */ switch(state) { case0: P2=0xee;break;//状态0: 东西南北全红灯 case1: P2=0xeb;break;//状态1: 南北绿,东西红 case2: { if(f==1) P2=0xeb; else P2=0xef; } Buf=0;//蜂鸣器响,报警。 break;//状态2: 南北绿闪烁,东西红 case3: P2=0xed;break;//状态3: 南北黄,东西红 case4: P2=0xee;break;//状态4: 东西南北全红 case5: P2=0xbe;break;//状态5: 南北红,东西绿 case6: { if(f==1) P2=0xbe; else P2=0xfe; } Buf=0;//蜂鸣器响,报警。 break;//状态6: 南北红,东西绿闪烁 case7: P2=0xde;break;//状态7: 南北红,东西黄 } //P2=0xfe;//显示个位 P1=0xfe;//显示个位 P0=seg[time%10];//取计时值个位送P0口 delay(10);//延时 //P2=0xfd;//显示十位 P1=0xfd;//显示十位 P0=seg[time/10];//取计时值十位送P0口 delay(10);//延时 } } /*****定时中断函数*****/ voidtimer0()interrupt1 { TH0=0x3c;//定时重新赋初值 TL0=0xb0; count++;//秒计数值加1 tf++;//0.5s计数值加1 if(tf==5) { tf=0; f=~f; } if(count==10)//中断10次即1s=10×100ms { count=0;//秒计数次数清0 time--;//计时值减1 if(time==15)state++;//状态1或5 if(time==5)state++;//状态2或6 if(time==2)state++;//状态3或7 if(time==0) { time=16;//计时值减到0则回初值 state++;//状态0或4 } if(state==8)state=0; } } 单片机原理与应用课程设计评分表 班级: 姓名: 学号: 项目 评价 设计方案的合理性与创造性 开发板焊接及其调试完成情况 硬件设计或软件编程完成情况* 硬件测试或软件调试结果* 设计说明书质量 设计图纸质量 答辩汇报的条理性和独特见解 答辩中对所提问题的回答情况 完成任务情况 独立工作能力 组织纪律性(出勤率) 综合评分 指导教师签名: ________________ 日期: _______________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 系统 电路设计