1 / 14
文档名称:

交通灯单片机交通灯课程设计报告.pdf

格式:pdf   大小:1,151KB   页数:14页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

交通灯单片机交通灯课程设计报告.pdf

上传人:青山代下 2024/5/13 文件大小:1.12 MB

下载得到文件列表

交通灯单片机交通灯课程设计报告.pdf

相关文档

文档介绍

文档介绍:该【交通灯单片机交通灯课程设计报告 】是由【青山代下】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【交通灯单片机交通灯课程设计报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..————设计报告学院:物理电气信息学院专业:电子信息工程姓名:杨锋学号:指导教师:陈潮红完成时间:2011-12-:..:..:传统交通灯的介绍在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师,纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两灯以旋转式方形玻璃提灯组成,红色表示“停顿〞,绿色表示“注意〞。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮,表示“停顿〞,绿灯亮,表示“通行〞。而中国最早的马路交通灯却是诞生于1928年的**英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、开展和完善。.z:..随着社会的不断进步,传统的交通灯的缺陷也日益出现,其中设计过于死板,达不到道路的最大通行效率是最明显的问题,红绿灯交替变换时间过于程式化。随着我国经济的高速开展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大局部城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法已不能适应迅速开展的交通现状。,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的平安行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停顿,让紧急车通过。针对道路交通拥挤,穿插路口经常出现拥堵的情况。:1、根据各道路路口车流量的大小自动调节通行时间。2、考虑特殊车辆通行情况,设计紧急迫换开关。第二章课程设计流程交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的平安行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停顿,让紧急车通过。、?单片机技术?课程所学的有关知识。.z:..通过硬件设计、软件设计,使学生掌握用单片机组成应用系统的方法,提高软件设计能力。。。:1南北方向:绿灯亮30S放行,黄灯亮4S警告,然后红灯亮30S制止。2东西方向:绿灯亮30S放行,黄灯亮4S警告,然后红灯亮30S制止。,同时用2位LED进展30S递减时间显示。,同时用2位LED进展30S递减时间显示。、调试。(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为根本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为根本I/O或闪控式I/O两种模式,:..制存放器〕均被去除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进展通讯;/CS=1时,:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制存放器..z:..当时,PA口被选择;当A0=0,A1=1时,PB口被选择;当A0=1,A1=0时,PC口被选择;当A0==1时,控制存放器被选择..z:..有4个I/O端口,每个端口都是8位双向口,共占32根引脚。每个端口都包括一个锁存器〔即专用存放器P0~P3〕、一个输出驱动器和输入缓冲器。通常把4个端口称为P0~P3。在无片外扩展存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。:通用输入/输出接口。通用I/O接口有输出、输入和端口操作三种工作方式。〔1〕输出方式计算机执行写P1口的指令如MOVPl,*data时,P1口工作于输出方式,此时数据data经内部总线送入锁存器锁存。如果*位的数据为1,该位锁存器输出端Q=1、=0,使V1截止,从而在引脚P1.*上出现高电平。反之,如果数据为0,则Q=0、=1,使V1导通,P1.*上出现低电平。〔2〕输入方式计算机执行读P1口的指令如MOVA,P1时,P1口工作于输入方式。控制器发出的读信号翻开三态门1,引脚P1.*上的数据经三态门l进入芯片的内部总线,,因此输入时无锁存功能。在执行输入操作时,如果锁存器原来存放的数据Q=0。则由于=1,将使V1导通,引脚被始终钳位在低电平上,不可能输入高电平。为此,在输入前必须先用输出指令置Q=1,使V1截止。正因为如此,P1口称为准双向口。单片机复位后,P1各口线的状态均为高电平,可直接用作输入。,除了作为通用I/O接口外,〔T2〕还作为定时器/计数器2的外部计数脉冲输入端,(T2E*)。P1口输出时能驱动4个LSTTL负载。P1口内部有上拉电阻,因此在输入时,即使由集电极开路电路或漏极开路电路驱动,也无需外接上拉电阻。:通用I/O接口或高8位地址总线。1〕地址总线状态..:..中取指令,或者执行片外RAM、片外ROM的指令时,模拟开关打向上边,P2口上出现程序计数器PC的高8位地址或数据指针DPTR的高8位地址〔A8~A15〕,上述情况下,锁存器内容不受影响。当取指或外部存储器完毕后,模拟开关打向下边,使输出驱动器与锁存器Q端相连,引脚上将恢复原来的数据。一般地说,如果系统扩展了外部ROM,取指的操作将连续不断,P2口不断送出高8位地址,这时P2口就不应再作为通用I/O口使用。如果系统仅仅扩展外部RAM,情况应具体分析,当片外RAM容量不超过256B时,可以使用存放器间接寻址方式的指令:MOV*A,RiMOV*Ri,A由P0口送出8位地址寻址,P2口引脚原有的数据在片外RAM期间不受影响,故P2口仍可用作通用I/O接口;当片外RAM容量较大需要由P2口、P0口送出16位地址时,P2口不再用作通用I/O接口;当片外RAM的地址大于8位而小于16位时,可以通过软件从P1、P2、P3口中的*几根口线送出高位地址,从而可保存P2的全部或局部口线作通用I/O接口用。2〕通用I/O接口状态P2口作准双向通用I/O接口使用时,其功能与P1口一样,工作方式、负载能力也一样。,每一根线还具有第二种功能。P3口用作I/O接口时,其功能与P1口一样。P3口作为第二功能输入操作时,其锁存器Q端必须为高电平,否则无法输入或输出第二功能信号。单片机复位时,锁存器输出端为高电平。P3口第二功能中的输入信号R*D、、、T0、T1经缓冲器1输入,可直接进入芯片内部。;地址/数据分时复用总线和通用I/O接口。P0口输出时能驱动8个LSTTL负载,即输出电流不小于800μA。,例如医用呼吸机,各种分析仪,监护仪,*些专用单片机设计用于实现特定功能,从而在各种电路中进展模块化应用,而不要求使用人员了解其内部构造。如音乐集成单片机,:..微缩在纯电子芯片中〔有别于磁带机的原理〕,就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中〔类似于〕,由微控制器读出,转化为模拟音乐电信号〔类似于声卡〕。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。*include<>*include<.h>*defineb8255*BYTE[0*ff29]//定义8255B口地址*definec8255*BYTE[0*ff2a]//定义8255C口地址*definectrl8255*BYTE[0*ff2b]//定义8255控制字地址codeunsignedcharsag[10]={0*fc,0*60,0*da,0*f2,0*66,0*b6,0*be,0*e0,0*fe,0*f6};//0123456789段码〔段码排列:abcdefgdp〕sbitclk=P3^1;sbitsdata=P3^0;dataunsignedcharc_data,b_data=0;unsignedchar*b_port,*c_port;unsignedintintdata=65536-50000;//定时常数〔按100ms计算T=(65535-intdata)Tcy,Tcy=2uS〕unsignedcharsec1=10;//1秒计时初值〔sec1=10*100ms〕unsignedcharsec2=5;//〔sec2=5*100ms〕unsignedcharsec=30;//25秒计时初值〔sec=25*sec1s〕bitdirect=0,direct1=0;e*ternvoiddisplay(unsignedchard);voidEastWest(void);voidSouthNorth(void);voidFlash(void);voidHC164_Send(unsignedchardisplaysag);voiddisplay(unsignedchard);voidmain(void){unsignedchar*ctrl;ctrl=&ctrl8255;c_port=&c8255;b_port=&b8255;*ctrl=0*80;//置8255控制字,A口输出,B口输出,C口输出,工作方式0TMOD=0*01;//:..TH0=intdata/256;//3C(intdata=C3B0)TL0=intdata%256;//余数B0IE=0*82;//开中断〔总中断及T0中断〕EastWest();//初始化交通灯显示display(sec);//初始化计时显示TR0=1;//启动定时while(1){if(sec2==0)//{sec2=5;Flash();*b_port=b_data;*c_port=c_data;}if(sec1==0)//定时到1秒{sec1=10;sec=sec-1;//倒计时display(sec);//显示计时if(direct1==0)//交通灯显示{EastWest();*b_port=b_data;*c_port=c_data;}else{SouthNorth();*b_port=b_data;*c_port=c_data;}if(sec==0)//变换方向{sec=30+1;//置计时初值〔由于显示在倒计时后,初值需加1〕direct=!direct;}}direct1=direct;//保证交通灯显示与倒计时置数同步}}voidEastWest(void)//东西向显示{if(sec>5).z:..{b_data=0*08;c_data=0*61;}elseif(sec<=2&&sec>=0){b_data=0*08;c_data=0*a2;}}voidSouthNorth(void)//{if(sec>5){b_data=0*03;c_data=0*0c;}elseif(sec<=2&&sec>=0){b_data=0*05;c_data=0*14;}}voidFlash(void)//闪烁显示{if(sec<=5&&sec>2){if(!direct1)//交通灯显示{if((c_data&0*41)==0*41){c_data&=0*be;}else{c_data|=0*41;}}else{if((c_data&0*08)==0*08){c_data&=0*f7;b_data&=0*0d;.z:..}else{c_data|=0*08;b_data|=0*02;}}}}voiddisplay(unsignedchard)//{unsignedchari;unsignedintoutdata[2];outdata[1]=(d/10)%10;//取出高位〔整形会将b/10的小数位丢掉〕outdata[0]=d%10;//取出低位;for(i=0;i<2;i++){switch(outdata[i]){case0:HC164_Send(sag[0]);break;case1:HC164_Send(sag[1]);break;case2:HC164_Send(sag[2]);break;case3:HC164_Send(sag[3]);break;case4:HC164_Send(sag[4]);break;case5:HC164_Send(sag[5]);break;case6:HC164_Send(sag[6]);break;case7:HC164_Send(sag[7]);break;case8:HC164_Send(sag[8]);break;case9:HC164_Send(sag[9]);break;}}}voidHC164_Send(unsignedchardisplaysag){unsignedchari;for(i=0;i<8;i++){if((displaysag&0*01)==0*01)//判断段码最低位{sdata=1;//输出1}else{sdata=0;//:..}clk=0;clk=1;//displaysag>>=1;//段码右移1位}}voidint_0(void)interrupt1using2//1号中断,使用2号存放器组{IE=0*00;//关中断TH0=0*3c;//intdata/256;TL0=0*b0;//intdata%256;//置定时初值sec1=sec1-1;//1秒倒计时sec2=sec2-1;//|=0*82;//开中断}第五章系统仿真图第六章课设总结及心得体会通过本次课程设计不能,我学到了许多平时学不到的东西,让我受益匪浅,感触颇多,深有体会。这次课程设计历时一个星期,通过这个星期的学****发现了自己的很多缺乏,无论是对知识的理解还是实践能力以及理论联系实际的能力还急需提高。在这个过程中,我也曾经因为错误失落过,也曾经因为小有成绩而热情高涨。正如生活一样,汗水预示着结果也见证着收获。虽然这只是一次的极简单的课程设计,可是平心而论,也消耗了我们不少的心血,这才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊!通过这次课程设计,我感到:这个工程确实很累,但当实验成功的时候,我的心中就不免兴奋,不免冲动。以前种种艰辛这时就变成了最甜美的回忆!对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。我想这次课程设计给我留下来许多印象,给了自己许多经历,一定会在以后的学****生活中留下许多积极的影响!.z:..