已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
测控电路课程设计目 录摘要1第1章 绪论21.1设计背景21.2设计目的21.3设计要求21.4设计思路31.5设计任务和内容41.6控制系统的总体要求4第2章 设计总电路图及硬件设计52.1设计总电路图52.2硬件设计52.3 80C51单片机芯片简介52.4系统时钟电路62.5系统复位电路72.6数码管显示电路72.7路灯指示电路8第3章 软件系统设计93.1设计思路及关键技术93.2 数码管的编程93.3 发光二极管的编程103.4 软件流程103.5 延时函数133.6 读状态函数133.7 显示函数143.8 定时器0中断函数15第4章 Proteus软件仿真174.1 Proteus软件仿真174.2 南北路灯切换时仿真174.3 紧急情况下的仿真17第5章 软硬件结合185.1硬件电路的焊接与检测185.2下载程序及查看结果19第6章 结束语19参考文献21附录 源程序代码22附录 总的电路图28附录 状态0仿真图29附录 数码管显示自减仿真图30附录 状态1仿真图31附录 状态2仿真图32附录 状态3仿真图33附录 东西紧急仿真图34附录 南北紧急仿真图35附录 紧急仿真图36摘要在日常生活中,交通信号灯的使用,使交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由89C51单片机、键盘、LED显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,使交通实现有效控制。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用89C51编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。关键字:AT89C51 74LS00 LED 交通灯 程序 Proteus仿真第1章 绪论1.1 设计背景近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?1.2设计目的1、通过交通信号灯控制系统的设计,掌握AT89C52以控制发光二极管的亮与灭与数码管的显示时间;2、用AT89C52控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、Proteus软件仿真1.3 设计要求本系统采用8051系列单片机AT89C52为中心器件来设计交通灯控制器,实现了通过8051芯片的P0口设置红、绿灯燃亮时间显示的功能;P1口连接交通灯循环点亮,本系统操作简单、扩展功能强。 1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。 2、在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道。 3、黄灯亮时,要求每秒闪亮一次。4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用减计时的方法)。5、同步设置人行横道红、绿灯指示。1.4 设计思路 南北,东西两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯闪亮三秒,黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯与绿灯燃亮时间为南北、东西两干道的红灯亮的时间。设南北干道比东西干道的车流量大,指示灯燃亮的方案如表1-4-1。7s4s8s4s7s3s南北红灯亮红灯亮绿灯亮黄灯亮红灯亮红灯亮东西绿灯亮黄灯亮红灯亮红灯亮绿灯亮黄灯亮表1-4-1说明:(1)南北通道红灯亮了7s,东西通道绿灯也亮了7s,然后东西通道由绿灯转变成黄灯闪亮4s,软件设计是由3s自减到0s,总共4s,南北通道的红灯不变,当黄灯所亮时间为0s时,南北通道的红灯就转变绿灯,东西通道的黄灯就转变成红灯,此时南北通道红灯共亮时间即为11s,即为东西通道的绿灯时间加黄灯闪亮时间。(2)南北通道红灯亮的同时,东西通道先显示绿灯再显示黄灯闪亮,因而南北通道所亮时间为东西通道绿灯与黄灯的亮的时间和,接下来才发生红灯变绿灯,黄灯变红灯的转变。(3)当南北通道为红灯时,禁止行人车辆通过,东西通道为绿灯时,行人车辆可以通过,黄灯亮时,行人和车辆必须等待,接着,南北通道转变为绿灯,南北通道的行人和车辆可以通过,东西通道转为红灯,东西通道的行人车辆不可通行,直到变为绿灯才可通行。(4)依照表的时间和红、绿、黄灯亮情况,南北通道东西通道的灯状态转变的状况,南北通道行人和车辆,东西通道的行人和车辆就不会发生冲突,能够安全畅通的通行。1.5 设计任务和内容:任务:设计一个能够控制十二盏交通信号灯的模拟系统。并且要求交通信号灯按照交通规则的模试来运行。内容:因为本课程设计是交通灯的控制设计,所以要了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。在正常情况下,初始状态0为南北红灯,东西绿灯通行,过一段时间,然后转变状态1南北仍为红灯,东西黄灯闪烁几秒, 再转状态2 南北绿灯通行,东西红灯,过一段时间后,转变状态3南北绿灯灭,黄灯闪烁几秒,东西仍为红灯,然后循环从状态03。当紧急状况发生时,如有特殊车辆要通过等,需要进行按键控制。状态0为四个路口都为红灯,禁止其他车辆通行, 状态1为东西绿灯南北红灯,禁止南北行人车辆通行,东西方向可让特殊车辆通行,状态2为东西红灯南北绿灯,禁止东西行人车辆通行,东西方向可让特殊车辆通行。1.6 控制系统的总体要求:正常情况下: 1、执行程序时,初始态为南北红灯,东西绿灯;2、东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,南北路口禁止通行;3、延时一段时间后,东西路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁3次后,东西路口红灯亮,而同时南北路口的红灯灭,绿灯亮,南北路口方向开始通车;4、延时一段时间之后,南北路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁3次之后,再切换到东西路口方向;之后重复2到4过程。有特殊车辆要求通过时:1东西南北都不允许车辆行人通过;2只有南北禁止车辆行人通过;3只有东西禁止车辆行人通过;4正常情况时,恢复正常状况。第2章 设计总电路图及硬件设计2.1设计总电路图 见附录2.2 硬件设计交通灯控制系统的结构框图如图2-2-1所示。总体设计方案共有五个部分组成,分别是:单片机AT89C51、红、绿、黄灯显示电路、LED数显时间电路、晶振及复位控制电路、控制与调时开关电路。在进行仿真调试过程中,程序运行正确,五个部分就同时工作,从而实现了交通灯的基本功能及调时功能。AT89C51单片机74LS00驱动路灯电源部分紧急按键复位系统时钟数码管显示图2-2-1 硬件设计方案2.3 80C51单片机芯片简介时钟端接地端P3口复位端P1口接VCC,+5VP2口控制信号P0口图2-3-1 80C51单片机引脚图80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。2.4 系统时钟电路图2-3-1 系统时钟电路晶振采用了内部时钟信号源的方式。对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本系统的实际应用中一定要注意正确选择参数(3010 PF),并保证对称性(尽可能匹配)。 2.5 系统复位电路图2-4-1 系统复位电路复位电路我采用上电+按钮复位的方式。当开关打开时,RST通过电阻接地,当有开关闭合时由于电容的作用使电源VCC通过电阻施加在单片机复位端RST上,实现单片机复位。只是可惜,在进行仿真器调试过程中,该复位电路是不起作用的。具体电路如图2-4-1所示。2.6 数码管显示电路数码管工作原理 这里我们介绍8段数码管的工作原理。8段数码管又称为8字型数码管,分为8段:A、B、C、D、E、F、G、DP。其中,DP为小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共段,两根之间相互连通。发光二极管的发光原理,我们在下面会做介绍,8段LED数码管,则是在一定形状的绝缘材料上,利用不同形状点划的发光二极管组合,排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示0-9的数字。 从电路上,按数码管的接法不同又分为共阴和共阳两种。图2-5-1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。图2-5-1 数码管的内部电路接法在设计时,为了系统图的美观,我采用了2个数码管组成两个数码管组,分别表示东西方向和南北方向的数码管,采用共阳极接法。如图2-5-2。 图2-5-2 系统数码管电路2.7 路灯指示电路图 2-6-1 发光二极管示意图在设计路灯时,采用了发光二极管代替路灯。先介绍一下二极管,见图 2-6-1。二极管工作原理是单向导通,即只有正极电压高于负极电压某特定值时才会导通,而负极电压高于正极电压是不导通的。发光二极管是一种特殊的二极管,导通时会发光(发光二极管导通压降一般为1.7V1.9V)。此外,工作电流要满足该二极管的工作电流。 图2-6-2 路灯设计电路发光二极管的正负极可以用万用表进行判断,把万用表拨至二极管档或电阻挡,用两个表笔分别接触二极管的两个引出脚。若发光二极管被点亮,则与红表笔相接的引出脚为正极。从外观上看,发光二极管的正极引脚的长度也比较长。一般发光二极管与I/O端口之间都会再连接一个电阻,其作用在于限制通过二极管的电流,从而达到减少功耗或者满足端口对最大电流的限制。一般发光二极管的点亮电流为5mA至10mA。 路灯设计时我采用了红、黄、绿三种发光二级管。如图2-6-2所示。第3章 软件系统设计3.1 设计思路及关键技术 一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。首先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为南北红灯,东西绿灯通行,过一段时间,然后转变状态1南北仍为红灯,东西黄灯闪烁几秒, 再转状态2 南北绿灯通行,东西红灯,过一段时间后,转变状态3南北绿灯灭,黄灯闪烁几秒,东西仍为红灯,然后循环从状态03。紧急情况下,进行按键控制。状态0为四个路口都为红灯, 状态1为东西绿灯南北红灯,状态2为东西红灯南北绿灯。由P3口控制按键。3.2数码管的编程P2=0xfd;选择东西方向的高位数码管P2=0xfe;选择东西方向的低位数码管P2=0xf7; 选择南北方向的高位数码管P2=0xfb;选择南北方向的低位数码管P0=led_tabletime/10%10;P0=led_tabletime%10time为数码管所赋初值,若为32,则通过time/10%10选择高位3,time%10选择低位2,再通过led_table经过段选择,led_table10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/显示数码表09图3-2-1 数码管的编程共阳数码管,动态显示,利用P2口,经过74ls00驱动,利用P0口来段选通数码管的亮灭。因而编程时如图3-2-1所示:3.3 发光二极管的编程黄UA绿红东西方向黄绿红南北方向P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7图3-3-1发光二极管与单片机的连接由左边硬件图可知,南北红灯亮 东西绿灯亮,P1口应该为00011101即为OX1D,南北红灯亮 东西黄灯亮, P1口应该为00011110即为OX1E, 南北绿灯亮 东西红灯亮, P1口应该为00101011即为OX2B, 南北黄灯亮 东西红灯亮, P1口应该为00110011即为OX33, 全部红灯P1口应该为00011011即为OX1B,然后将这些情况下的值,分别对应赋给紧急状况的灯亮和正常情况的灯亮。3.4 软件流程主函数流程图如图3-4-1所示:/*-主函数-*/void main()/初始化定时器0 EA=1; /开总中断ET0=1; TMOD=0x01; /设置定时器方式1 TH0=-10000/256; TL0=-10000%256; /定时器定时10ms TR0=1; /允许计数 while(1) if(rd_emstate()/如果有紧急情况按键按下,进行如下紧急处理 switch(statebef) case 0x04:P1=em_state0;TR0=0;break;/紧急灯亮 东西南北 全部红灯case 0x02:P1=em_state1;TR0=0;break;/东西应急 东西绿灯 南北红灯case 0x01:P1=em_state2;TR0=0;break;/南北应急 南北绿灯 东西红灯case 0x00:TR0=1;break;default: break; if(state_flag)/正常状态下时间切换,如果状态标志为1,进行如下处理,进行状态间切换 switch(state) case 0:time=light_time0; time1=light_time3; P1=light_state0;break;/东西绿灯 南北红灯 case 1:time=light_time1; P1=light_state1;break;/东西黄灯 南北红灯 case 2:time=light_time2; time1=light_time4; P1=light_state2;break;/东西红灯 南北绿灯 case 3:time1=light_time5; P1=light_state3;break;/东西红灯 南北黄灯 default: break; state_flag=0;/清标志位 display(); rd_emstate()为读紧急状态函数light_time6=7,3,12,11,8,3为红绿灯显示时间存储表,time存储东西方向数码管显示时间,time1存储南北方向数码管显示时间,statebef为紧急状态时,对应P3口的值,不同的P3口的值,表示不同的灯亮情况,在读紧急状态函数中,有所介绍。state_flag为正常情况下的标志位,在定时器0中断函数中,将此值赋为了1。TH0=10000/256,TL0=10000%256,即为将10000转化为十六进制数分别将对应的高八位赋给TH0,低八位赋给TL0。定时时间为100001us=10ms。初始化定时器0while(1)switch(state)rd_emstate()=1?switch(statebef)紧急灯亮东西应急灯亮南北应急灯亮Default:breakstate_flag=1?东西绿灯南北红灯时间东西黄灯闪烁南北红灯东西红灯南北绿灯时间东西红灯南北黄灯闪烁清标志位Display()YYdisplay();default:break;图3-4-1主函数设计流程图3.5 延时函数i=100i-定义局部变量i,jj=0?i=0?j-j=100返回NYNY延时函数的流程图如图3-5-1。延时程序如下:/*-延时函数-*/void delay(void) uchar i,j; for(i=100;i0;i-) for(j=100;j0;j-); /循环10000次 12M晶振产生1us的时钟周期,循环10000次,即为100001us=10ms3.6 读状态函数读状态函数的流程图如图3-6-1。 读状态函数如下:图3-5-1 延时函数的流程图/*-读状态函数:判断是否有紧急灯状况出现-*/uchar rd_emstate(void) uchar value; value=P3; if (value=0xfe) value=0x04; /P3.0=0,紧急按键有效else if(value=0xf7)value=0x02;/p3.3=0,东西紧急按键有效else if(value=0xbf)value=0x01;/p3.6=0,南北紧急按键有效 if(value!=statebef)statebef=value;return 1;/判断是否有紧急灯状况发生,保存按键值,置返回标志为1 else return 0; 定义局部变量value读P3口状态状态改变?Return 0Staebef=valueReturn 1NY 图3-6-1 读状态函数的流程图 statebef中存放按键值,将此值对应的不同紧急情况,通过主函数中swith(statebef)查询,选择对应的发光二极管亮灭情况。选通东西方向数码管显示秒的十位,个位选通南北方向数码管显示秒的十位,个位图3-7-1 显示函数的流程图3.7 显示函数显示函数如下:/*-显示函数-*/void display(void)/东西方向数码管P2=0xfd; P0=led_tabletime/10%10;delay();/秒的十位P2=0xfe; P0=led_tabletime%10; delay();/秒的个位/南北方向数码管P2=0xf7; P0=led_tabletime1/10%10;delay();/秒的十位P2=0xfb; P0=led_tabletime1%10; delay();/秒的个位 time中存放的为东西方向数码管要显示的时间,利用time/10%10,选择秒的十位的数,再利用led_table 选择对应的码段,利用time%10,选择秒的个位的数,同样利用led table 选择对应的码段。time1中存放的为南北方向数码管要显示的时间,同样利用以上公式及led table 显示秒的十位和个位。3.8 定时器0中断函数定时器0中断函数如下:/*-定时器0-*/void Time0int(void) EA=0; TH0=-10000/256; TL0=-10000%256; time1s-; if(time1s=50&state=1) /黄灯闪烁,半秒亮半秒暗 P1=0x1F;if(time1s=50&state=3) P1=0x3b; if(time1s=0) /一秒钟到,重新置数 if(state=1) P1=light_state1; /黄灯闪烁 if(state=3) P1=light_state3; time1s=100;if(time=0|time1=0)/显示时间减到0时切换显示时间状态 state+;/四个状态轮流切换 if(state=4) state=0;state_flag=1;/置状态切换标志位 time-;/显示时间自减 time1-; EA=1; 关中断重新赋初值TH0,TL0产生10ms中断10ms到没?Ytime1s=time1s-1(times=100)Ntime1s=50?且state=1或者state=3YN黄灯灭重赋time1s=100NY数码管显示时间为0?time1s=0?更换状态Y数码管显示时间自减1开中断N图3-6-1 定时器0中断函数的流程图times=0?time1s初值为100,每10ms到时,times就会减一,减到50时,即为5010ms=0.5s,此时,在state=1时,将P1口赋为0x1F,即黄灯灭,而正常情况下,P1口赋值为0x1E,即是南北红灯亮 东西黄灯亮,因而便形成了黄灯0.5s灭,0.5s亮的效果。数码管显示时间为0后,状态才会发生变化,因而time或者time1为0时,状态就会发生变化。第4章 Proteus软件仿真4.1 Proteus软件仿真Proteus软件用于系统的仿真,编译软件采用keil UV3。程序的仿真用英国的labcenter公司的Proteus V7.13。Proteus软件将硬件与软件结合,很好的反应了所做系统的可行性,与实际的硬软件结合的效果相同,方便于我们在未焊接电路板的同时就知道如何更改程序和硬件。其结果如下:加电后的结果见附录。由附录可知软件与硬件基本没有什么问题了,东西数码管初值在软件中设为7s,显示的为绿灯时间,南北数码管初值在软件中设为11s,显示的为红灯时间。由于数码管上显示时间为某数直到减为0,因而实际数码管显示时间,为初值加1。4.2 正常情况下四个状态的循环仿真状态0时,是在单片机下载完程序后,一起动Proteus软件或者启动后按了复位键后,所呈现的结果,见附录。接着数码管上的数每秒钟自减1,见附录,即东西绿灯显示时间变为7s,6s,5s南北的红灯时间同时变为11s,10s,9s东西绿灯时间减为0时,此时在下1s转变为黄灯闪烁,黄灯显示半秒灭半秒亮,此时为状态1,见附录,此时黄灯亮的时间与红的剩下时间相同,便于在黄灯时间变为0时的下一秒,东西南北的红绿灯同时转变,当黄灯和红灯同时变为0时,接下来东西变为红灯,南北变为绿灯,此时为状态2,见附录,接下来的情况同状态0,南北的绿灯减为0后,转为黄灯闪烁,此时为状态4,当黄灯与红灯都减为0后,南北黄灯变红灯,东西红灯变绿灯,此时又为状态0,不断重复以上,就形成了,交通灯在正常情况下的运作系统。4.3 紧急情况下的仿真紧急情况下的仿真,为当按下紧急按键时,出现四个方向都为红灯且数码管不计数的情况,阻值行人车辆通过,见附录,东西紧急按键按下后,出现东西为绿灯,南北为红灯且数码管不计数的情况,见附录,允许东西通行,南北禁止通行,南北紧急按键按下后,出现南北为绿灯,东西为红灯且数码管不计数的情况,见附录,允许南北通行,东西禁止通行。有效的方便于紧急情况下的交通能够正常运行。当紧急情况过后,如需恢复正常情况,则只要按下复位按键即可,复位后的运转同附录所示。第5章 软硬件结合5.1 硬件电路的焊接与检测将硬件电路与硬件电路图对应焊接,排版时,将数码管及发光二极管的排列位置同实际的交通灯系统相似,其排版位置如图5-1-1所示:北南西东红 绿 黄红 绿 黄红 绿 黄 红 绿 黄 南北数码管显示相同,因而只需一方有数码管,东西方向同南北图5-1-1 排版位置图焊接完后,接上电源,发现数码管不亮,则需要检查硬件电路,首先看电源连接是否有问题,再看数码管是否坏掉,检测发现没有坏后,查看个元器件是否有电,以及焊接是否有短路情况,一个个排查直到找出原因。5.2下载程序及查看结果当硬件没有问题时,可以将软件下载到单片机上,然后接上电源,查看实际情况下的交通灯运转情况,看数码管显示是否正常,以及按键是否可以正常操作,若都正常无误,整个系统设计基本完成,若显示不正常,则需查看软件是否有错,以及硬件东西紧急按键南北紧急按键复位按键紧急按键红 绿 黄 红 绿 黄红 绿 黄 东红 绿 黄南西北图5-2-1 操作示意图按下后,四个方向都为红灯,则显示正常正常状况下,东西南北数码管显示所亮灯的时间按下后东西绿灯南北红灯则显示正常按下后南北绿灯东西红灯,则显示正常复位后,数码管红绿灯正常运转连接是否与硬件连接图一致。其检测操作示意图如5-2-1:第6章 结束语该系统是自己独立完成的,通过查询资料以及自己曾经学习的单片机知识,使我在设计过程中不再那么的生疏,不再那么的难以下手。设计过程中思路明确,步骤有条不紊。我先画了硬件连接图,然后将此图用Proteus软件绘出,Proteus软件是通过自学学会的,然后将网上搜索的有关交通灯的C语言程序进行修改,将修改的软件下载到proteus中,查看运行结果,并进行修改和完善。通过此次课程设计,使我深深地体会到:现代的社会是信息的社会,很多与人们生活紧密相关的产品都是电子产品。要熟练地掌握单片机的基本知识,这样才能对实验中出现的问题进行分析解决。通过这次对交通灯系统的设计,我掌握了设计一个实用装置电路的基本方法和基本步骤,掌握了实用装置工作的基本原理,实际解决了设计中出现的问题,增强了寻找问题,解决问题的能力。此次电子设计的成功不仅帮助我更好地掌握书本知识,尤其重要的是增强了我们的自信,培养了我独立思考的能力!通过这一个月紧张而充实的课程设计,我学到了很多东西,让我重新认识自己,受益匪浅,并对我以后所要做的毕业设计有了一个初步的了解。做好一个课程设计或毕业设计不仅要具备扎实的书本知识并会善于应用,还要学会查阅资料,对以前学过的知识不清楚的地方还要进行复习,实在搞不明白的地方要向老师或同学请教,这样才可能做出一个比较不错的课程设计。参考文献1余发山. 单片机原理及应用技术. 中国矿业大学,20022李朝青. 单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,19983李广弟. 单片机基础. 北京:北京航空航天大学出版社,19924李泉溪. 单片机原理与应用实例仿真. 北京:北京航空航天大学出版社,20095江世明. 基于proteus的单片机应用技术. 北京:电子工业出版社,2009附录 源程序代码#include#define uchar unsigned char#define uint unsigned intuchar code led_table10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/显示数码表09uchar code light_state=0x1D,0x1E,0x2b,0x33;/交通灯状态存储表 状态0南北红灯亮 东西绿灯亮 状态1南北红灯亮 东西黄灯亮 状态2 南北绿灯亮 东西红灯亮 状态3南北黄灯亮 东西红灯亮uchar code em_state3=0x1B,0x1D,0x2B;/紧急灯状态显示表 1全部红灯 2东西绿灯南北红灯 3东西红灯南北绿灯uchar light_time6=7,3,12,11,8,3;/显示时间存储表uchar statebef,time1s=100,state=0;/存储紧急灯状态,定时基数,状态基数uint time,time1;/显示时间变量bit state_flag=1;/显示时间更改状态,状态切换标志位,红绿切换标志位/*-延时函数10ms-*/void delay(void) uchar i,j; for(i=100;i0;i-) for(j=10;j0;j-); /*-读状态函数:判断是否有紧急灯状况出现-*/uchar rd_emstate(void) uchar value; value=P3; if (value=0xfe) value=0x04;else if(value=0xf7)value=0x02;else if(value=0xbf)value=0x01; if(value!=statebef)statebef=value;return 1;/判断是否有紧急灯状况发生,保存按键值,置返回标志为1 else return 0; /*-显示函数-*/void display(void) /东西方向数码管 P2=0xfd; P0=l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑安全与环境保护实务操作指南及试题解析
- 机械制造业安全生产自测题及答案手册
- 咖啡师职业技能认证考试题库及答案解析
- 教师招聘考试题库与答案解析集
- 康复师考试重点题型回顾与答案解析
- 健康饮食计划搭配测试题答案
- 懒人健身计划轻松提升体能测试题及答案解析
- 健康饮食指南趣味测试题集及解析
- 环保科技领域测试题及答案集合
- DB1310T 369-2025 化学分析实验室玻璃仪器使用规范
- 货运安全责任制度
- 北师大版六年级上册数学《练习二》
- 失业证明模板(通用6篇)
- T、K、Y管节点焊缝超声波检验缺陷的判定
- YS/T 781.4-2012铝及铝合金管、棒、型材行业清洁生产水平评价技术要求第4部分:氟碳漆喷涂产品
- ZJ70DB钻机绞车安装、操作及维护保养规程
- GB/T 20220-2006塑料薄膜和薄片样品平均厚度、卷平均厚度及单位质量面积的测定称量法(称量厚度)
- 汽车 照明与信号系统检修精品课件
- 《塔式起重机安全规程》GB5144-2006
- 课件现实与理想-西方古典绘画 课件高中美术人美版(2019)美术鉴赏
- 电子元器件基础知识课件
评论
0/150
提交评论