课程设计---基于单片机的交通灯设计.docx_第1页
课程设计---基于单片机的交通灯设计.docx_第2页
课程设计---基于单片机的交通灯设计.docx_第3页
课程设计---基于单片机的交通灯设计.docx_第4页
课程设计---基于单片机的交通灯设计.docx_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书 题 目: 基于单片机的交通灯设计 姓 名: 汤晓波 学 号: 0904605005 指 导 教 师: 段广云 俞学兰 专 业 年 级: 09级机电2班 所在学院和系: 机械工程学院 完 成 日 期: 2012年6月29日 课 程 名 称: 机电一体化系统设计 目录1绪论11.1研究的背景和意义11.2设计要求12系统总体方案设计22.1系统结构22.2芯片选择23系统硬件设计53.1单片机最小系统53.2数码管显示模块53.3 led灯显示模块63.4系统总电路84 系统软件设计.94.1主程序设计94.2延时1s子程序104.3数码管显示程序115总结12参考文献13附录a14附录b201绪论1.1研究的背景和意义 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,但这一技术在19世纪就已出现了。时至今日,随着科技的发展,道口上的红绿灯也发生的巨大的变化,先后出现了以燃气为光源的手动式交通灯,电气式交通灯,单片机控制交通灯等等,这些技术的发展不仅给我们的生活带来更大的方便,同时也给了我们更多的安全保障,因而虽然交通灯已经发展了很长的一段时间,现进对其的研究仍然十分必要和很有意义。 1.2设计要求1) 设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行。 2) 每次绿灯变红灯时,要求黄灯先亮5s,才能变换运行车辆。3) 同步设置人行横道红、绿灯指示。4) 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。2系统总体方案设计2.1系统结构 本系统是由单片机的p口输出led和数码显示管的状态,该系统方案的框图如图1所示。单片机东西方向led灯的显示上电复位东西方向显示时间南北方向显示时间南北方向led灯的显示图1 方案框图2.2芯片选择 本实验选择的芯片是intel的80c51芯片,其引脚图如图2所示。图2 80c51引脚图mcs-51单片机内部由数据总线,控制总线和地址总线连接内部的其他设备,其内部的结构图如图3所示。图3 80c51内部结构图8051单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、 并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器:中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(ram):8051内部结构如图1有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 程序存储器:8051共有4096个8位掩膜rom,用于存放用户程序,原始数据或表格。定时/计数器(rom):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(i/o)口:8051共有4组8位i/o口(p0、 p1、p2或p3),用于对外部数据的传输。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12mhz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。3系统硬件设计3.1单片机最小系统 单片机最小系统是指用最少的原件组成可以工作的单片机系统,包括复位电路和晶振电路,在本实验中的最小系统设计中,采取的是上电复位方式,复位电路采用30pf的电容和电源与单片机的rst引脚连接,实现通电自动复位,晶振电路给单片机提供时钟源,包括晶体振荡器和2个30pf的电容组成,分别与单片机的xtal1和xtal2引脚连接,本实验单片机最小系统如图4所示。图4 单片机最小系统 3.2数码管显示模块通过数码管显示南北和东西方向的时间,数码管连接在单片机的p0口,通过p0口和相关的软件程序实现其状态的输出,p0.0口至p0.6口分别连接数码管的位选端a,b,c,d,e,f,g,p2.0至p2.3口分别连接南北方向和东西方向数码管的片选端,数码管硬件连接如图5所示。图5 数码管显示3.3 led灯显示模块 东西和南北方向的led灯与单片机的p1口连接,p1.0、p1.1和p1.2分别连接南北方向的绿灯、黄灯和红灯;p1.3、p1.4和p1.5分别连接东西方向的绿灯、黄灯和红灯,并将人行道的led灯分别串接在南北和东西方向上,led灯硬件连接图如图6所示。图6 led灯显示模块3.4系统总电路 通过对单片机最小系统、数码管显示模块和led灯显示模块的学习,最后对系统进行组合,得出系统的总电路图,其电路图如附录b所示4 系统软件设计4.1主程序设计 是第一状态:南北绿灯20秒,东西红灯25秒.第一状态初始化显示时间是否为零否显示时间减1显示时间减1第四状态:南北红灯5秒,东西黄灯5秒。显示时间是否为零否第四状态初始化是显示时间是否为零第二状态初始化是第二状态:南北黄灯5秒,东西红灯5秒.显示时间减1显示时间减1否显示时间是否为零第三状态:南北红灯25秒,绿灯20秒.显示时间否第三状态初始化是图7 主程序流程图本系统的主程序设计思路主要根据南北方向和东西方向交通灯的四种状态,即第一状态:南北绿灯,东西红灯;第二状态:南北黄灯,东西红灯;第三状态:南北红灯,东西绿灯;第四状态:南北红灯,东西黄灯。在每一个状态,通过对该状态下数码管显示的时间自减1是否等于0来判断是否进入下一状态,主程序流程图如图7所示,主程序如附录a所示。4.2延时1s子程序 本实验的硬件系统选用了四片数码显示管,这四个数码显示管实现的是动态显示,每扫描四片数码显示管一次,延时1ms子程序运行了4次,即4ms,所以循环250次就是1s,延时1ms的子程序的流程图如图8所示。定时器初始化tf=0?是 否 返回主程序 图8 延时1ms子程序流程图调用4次延时1ms子程序r1赋值250r1-1=0?返回主程序 延时1s的子程序是在扫描四片数码管(即4ms)的基础上循环250次实现的,其程序的的流程图如图9所示。 否是 图9 延时1s子程序流程图4.3数码管显示程序 数码管实现的是动态显示,每片数码管显示都调用延时1ms的子程序,共有4片数码管,循环250次就是1s。本系统选用的数码管是共阴极数码管,将数字0到9对应的数值计算出来,然后通过查表的方式查出数值。显示模块程序流程图如图10所示。a赋值要显示的数据b= 10r1=250将表的首地址numt赋值给dptra除以b并将商和余数存在指定的单元通过查表查出十位数和个位数,并将结果输出给p0调用延时1s子程序r1-1=0?返回主程序 否 是图10 显示程序流程图5总结 本次课程设计,我们小组通过proteus仿真软件,选用intel 80c51单片机,通过p0口连接数码显示管,通过p1口连接led灯,并且设置好晶振电路和复位电路,然后用汇编语言编写整个过程的程序,并且在最后实现了交通灯正确显示。在整个设计的过程中,通过对整个流程的分析,我对单片机的控制有了更加深刻的理解,通过对硬件的选择和连接,也让我对单片机的整个控制过程有了更加直观的了解. 参考文献1 杨欣. 实例解读51单片机完全学习与应用m. 北京:电子工业出版社 ,2011.2 杨欣. 电路设计与仿真基于multisim 8与 proteus2004m. 北京:清华大学出版社,2006. 3 刘乐善.微型计算机接口技术及应用m. 湖南:华中科技大学出版社,2004.4余锡存,曹国华.单片机原理及接口技术m.陕西:西安电子科技大学出版社,2000.附录aorg 0200ha_bit equ 20h ;用于存放南北十位数b_bit equ 21h ;用于存放南北个数c_bit equ 22h ;用于存放东西十位数d_bit equ 23h ; 用于存放东西个位数temp1 equ 24h ;用于存放第一二南北状态要显示的时间 temp2 equ 25h ;用于存放第一二东西状态要显示的时间temp3 equ 26h ;用于存放第三第四南北状态要显示的时间temp4 equ 27h;用于存放第三第四南北状态要显示的时间main:mov temp1,#20 mov temp2,#25mov temp3,#25mov temp4,#20star1:mov p1,#0ffhmov a,24h ;将显示时间送aclr p1.0 clr p1.5 ;南北通行,东西禁止通行mov temp1,#20 ;南北要显示的时间,mov temp2,#25 ;东西要显示的时间dyxs1:acall display1 ;调用显示dec temp1 ;时间够一秒显示时间减1dec temp2mov a,temp1cjne a,#0,dyxs1 ;若显示时间不为0保持现在状态star2: ;状态2setb p1.0clr p1.1 ;南北黄灯,东西禁止通行mov temp1,#05 ;南北要显示的时间,dyxs2:acall display1 ;调用显示dec temp1 ;时间够一秒显示时间减1dec temp2 mov a,temp1cjne a,#0,dyxs2star3:mov a,26h ;将显示时间送aclr p1.2setb p1.1 ;南北通行,东西禁止通行clr p1.3setb p1.5mov temp3,#25 ;南北要显示的时间,mov temp4,#20 ;东西要显示的时间dyxs3:acall display2 ;调用显示dec temp3 ;时间够一秒显示时间减1dec temp4mov a,temp4cjne a,#0,dyxs3 ;若显示时间不为0保持现在状态star4: ;状态4setb p1.3clr p1.4 ;南北黄灯,东西禁止通行mov temp4,#05 ;东西要显示的时间,dyxs4:acall display2 ;调用显示dec temp3 ;时间够一秒显示时间减1dec temp4mov a,temp4cjne a,#0,dyxs4ljmp main ;若显示时间不为0保持现在状态 display1:mov a,temp1 ;将南北要显示的数存放到amov b,#10 ;b=10div ab ;a除以b商存a,余数bmov a_bit,a ; 将a放到20hmov b_bit,b ;将b放到21hmov a,temp2 ;将东西要显示的数存放到amov b,#10 ;b=10div ab ;a除以b商存a,余数bmov c_bit,a ;将a放到22hmov d_bit,b ;将b放到23hmov dptr ,#numt ; mov r1,#250 ;r1=250xuhuan1:mov a,a_bit ;将南北要显示的10位数送amovc a,a+dptr ;查表mov p0,a ;显示南北10位数clr p2.0acall t1ms;定时器延时1mssetb p2.0 ;灭南北10位数mov a,b_bit ;将南北要显示的个位数送amovc a,a+dptr ;查表mov p0,a ;显示南北个位数clr p2.1acall t1ms ;定时器延时1mssetb p2.1 ;灭南北个位mov a,c_bit ;将东西要显示的10位数送amovc a,a+dptr ;查表mov p0,a ;显示东西10位数clr p2.2 acall t1ms ;定时器延时1mssetb p2.2 ;灭东西10位数mov a,d_bit ;将东西要显示的个位数送amovc a,a+dptr ;查表mov p0,a ;显示东西东西位数clr p2.3acall t1ms ;定时器延时1mssetb p2.3 ;灭东西个位数djnz r1,xuhuan1 ;循环扫描retdisplay2:mov a,temp3 ;将南北要显示的数存放到amov b,#10 ;b=10div ab ;a除以b商存a,余数bmov a_bit,a ; 将a放到20hmov b_bit,b ;将b放到2mov a,temp4 ;将东西要显示的数存放到amov b,#10 ;b=10div ab ;a除以b商存a,余数bmov c_bit,a ;将a放到22hmov d_bit,b ;将b放到23hmov dptr ,#numt ; mov r1,#250 ;r1=250xuhuan2:mov a,a_bit ;将南北要显示的10位数送amovc a,a+dptr ;查表mov p0,a ;显示南北10位数clr p2.0 acall t1ms;定时器延时1mssetb p2.0 ;灭南北10位数mov a,b_bit ;将南北要显示的个位数送amovc a,a+dptr ;查表mov p0,a ;显示南北个位数clr p2.1acall t1ms ;定时器延时1mssetb p2.1 ;灭南北个位数mov a,c_bit ;将东西要显示的10位数送amovc a,a+dptr ;查表mov p0,a ;显示东西10位数clr p2.2acall t1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论