模拟交通灯控制

合集下载

模拟交通灯的控制

模拟交通灯的控制

模拟交通灯的控制一、选题的原因通过对模拟交通灯控制系统的制作,进一步熟悉51单片机,掌握定时器和中断系统的综合应用,熟练软、硬件的调试方法。

二、任务要求设计并实现单片机交通灯控制系统,实现以下三种情况下的交通灯的控制:(1)正常情况下双方向轮流点亮交通灯,交通灯的状态如表1所示。

(2)特殊情况1:特殊情况时,A通道放行。

(3)特殊情况2:有紧急车辆通过时,A、B通道均为红灯,紧急情况优先级高于特殊情况。

表1 交通灯显示状态三、电路分析、仿真图及元器件选择1、电路分析:根据任务可以看出,该系统涉及定时控制东、南、西、北四个方向的12个交通信号灯,且出现特殊和紧急情况时,能及时调整交通灯的指示状态。

采用12个LED发光二极管模拟红、黄、绿交通灯,用单片机的P1口控制发光二极管的亮灭状态;交通灯控制端口线分配及控制状态如表2所示。

需要采用两个按键S1、S2模拟紧急情况和特殊情况的发生,当S1、S2为高电平(不按按键)时,表示正常情况,当S1为低电平(按下按键)时,表示紧INT脚(P3.2)即可实现外部中断0的中断申请,当S2急情况,将S1信号接至0INT脚(P3.3)即可为低电平(按下按键)时,表示特殊情况,将S2信号接至1实现外部中断1的中断申请。

根据以上分析,交通灯控制端口线分配及控制状态如下表2所示:表2 交通灯控制端口线分配及控制状态2、仿真图:根据以上的分析,用proteus画出仿真图如下图1所示。

图1 proteus仿真电路图3、元器件选择:根据图1 所示的电路图,列出该电路的元器件清单如表3所示。

表3 元器件清单四、程序设计1、程序流程图:(1)正常情况下交通灯控制程序流程:在正常情况下,A、B方向交通灯每55秒变换一次,变化时,绿灯、黄灯、红灯分别闪烁3次,每次延时1秒,其控制流程如下图2所示。

图2 在正常情况下交通灯控制程序流程(2)特殊情况1流程:特殊情况1为仅允许A向通行,采用外部中断1方式进入与其相应的中断服务程序,并设置该中断为低优先级中断,控制A方向单向通行时间为60s,其流程如图3所示。

003 模拟交通灯控制系统

003 模拟交通灯控制系统

制作名称:模拟交通灯控制系统1、 制作编号:0032、 难度等级:★★★★ (适合第3、4学期制作) 3、 设计要求1)以单片机AT89S51作为主控芯片,设计一个模拟交通灯控制系统。

2)单片机系统要求具有自动上电复位功能,其外接振荡器采用11.0592MHz 晶振。

3)要求该模拟交通灯控制系统在每个“路口”用红、黄、绿三种颜色的发光二极管来指示车辆、行人的允许通行情况,并用两位数码管显示倒计时的秒数。

4)编写程序,模拟交通灯控制过程,要求红绿灯切换以15秒为周期,中间黄灯亮3秒。

在黄灯亮的3秒时间内,蜂鸣器响,起到提示警告的作用。

5)合理选择连接于发光二极管电路上的限流电阻的阻值大小,保障发光二极管的发光亮度适中。

6)要求为该系统设计一个直流5V 单电源供电的稳压电路,保障系统的正常运行。

EA/VP 31X119X218RESET 9RD 17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P 30TXD 11RXD 10U0AT89S51Y112.000MHZA1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U174LS164A1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U274LS164A1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U374LS164A1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U474LS164A1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U574LS164A1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U674LS164S0+5VC130PC230PC310uR010K+5VRESET+5V蜂鸣器Q18550R1510D1D2R1R2+5VD3R3P12R4R5R6R7R8D4D5D6D7D8132V VGNDINOUT UR13510D9+5VP10P11P12P14P15P13P20P21+5VP10P11P12P13P14P15P16P17RESET P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P34P35P36P37510×12R9R10D10P22P23D9D?DIODED?DIODED?DIODED?DIODE 8VR11R12P24P25abf c gdeV C C1234567ed c d pb a f8gd p 9DS8LEDabf c gdeV C C1234567ed c d pb af8g d p 9DS7LEDabf c gdeV C C1234567ed c d pb af8g d p 9DS6LEDabf c gdeV C C1234567ed c d pb af8g d p 9DS5LEDabf c gdeV C C1234567ed c d pb af8g d p 9DS4LEDabf c gdeV C C1234567ed c d pb af8g d p 9DS3LEDA1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U174LS164abf c gdeV C C1234567ed c d pb af8g d p 9DS2LEDA1B 2Q 03Q 14Q 25Q 36Q 410Q 511Q 612Q 713C L K8M R9U174LS164abf c gdeV C C1234567ed c d pb af8g d p 9DS1LEDD11D126、装配图7、制作实物照片8、参考程序ORG 0000HLJMP MAINORG 000BH ;T0中断服务程序入口LJMP T0FWORG 0030HMAIN:MOV 30H,#15MOV 40H,#15MOV 36H,#00HMOV 46H,#0FFHMOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV R1,#20SETB ET0SETB EASETB TR0STAR: ACALL DISPACALL DELAJMP STAR DISP: PUSH AMOV DPTR,#TABMOV A,40HMOV B,#10DIV ABMOV 50H,AMOV 51H,BMOV 54H,AMOV 55H,BMOV A,30HMOV B,#10DIV ABMOV 52H,AMOV 53H,BMOV 56H,AMOV 57H,BMOV R5,#8MOV R0,#50H LOOP: MOV A,@R0MOVC A,@A+DPTRMOV SBUF,ACLR TIINC R0DJNZ R5,LOOPMOV R2,36HCJNE R2,#0,N1 ;36H=1,跳到N1,绿灯亮CLR P1.0 ;否则36H=0,红灯亮CLR P2.0SETB P1.1SETB P2.1SETB P1.2SETB P2.2AJMP N2N1: CLR P1.2 ;N1,绿灯亮CLR P2.2SETB P1.1SETB P2.1SETB P1.0SETB P2.0N2: MOV R2,30HCJNE R2,#3,N3 ;30H><3,跳到N3,CLR P1.1 ;否则30H=3,黄灯亮CLR P2.1SETB P1.2SETB P2.2SETB P1.0SETB P2.0clr P3.2ACALL DELSETB P3.2N3: MOV R2,30HCLR P1.1 ;否则30H=2,黄灯亮CLR P2.1SETB P1.2SETB P2.2SETB P1.0SETB P2.0clr P3.2ACALL DELSETB P3.2N4: MOV R2,30HCJNE R2,#1,N5 ;30H><1,跳到N5,CLR P1.1 ;否则30H=1,黄灯亮CLR P2.1SETB P1.2SETB P2.2SETB P1.0SETB P2.0clr P3.2ACALL DELSETB P3.2N5: MOV R2,46HCJNE R2,#0,N6 ;46H=1,跳到N6,绿灯亮CLR P1.5 ;否则46H=0,红灯亮CLR P2.5SETB P1.4SETB P2.4SETB P1.3SETB P2.3AJMP N7N6: CLR P1.3 ;N6,绿灯亮SETB P1.5SETB P2.5N7: MOV R2,40HCJNE R2,#3,N8 ;40H><3,跳到N8,CLR P1.4 ;否则40H=3,黄灯亮CLR P2.4SETB P1.3SETB P2.3SETB P1.5SETB P2.5clr P3.2ACALL DELSETB P3.2N8: MOV R2,40HCJNE R2,#2,N9 ;40H><2,跳到N9,CLR P1.4 ;否则40H=2,黄灯亮CLR P2.4SETB P1.3SETB P2.3SETB P1.5SETB P2.5clr P3.2ACALL DELSETB P3.2N9: MOV R2,40HCJNE R2,#1,N10 ;40H><1,跳到N10,CLR P1.4 ;否则40H=1,黄灯亮CLR P2.4SETB P2.5clr P3.2ACALL DELSETB P3.2N10: POP ARETTAB: DB 11H,0D7H,32H,92H,0D4HDB 98H,18H,0D3H,10H,90H ,0C4H DEL: MOV R7,#200 ; 125.775mS DEL1: MOV R6,#240DJNZ R6,$DJNZ R7,DEL1RETT0FW: DJNZ R1,EXIT0PUSH ACLR EAMOV R1,#20DJNZ 30H,M1MOV A,36HCPL Amov 36H,AMOV 30H,#15;AJMP EXITM1: DJNZ 40H,EXITMOV A,46HCPL Amov 46H,AMOV 40H,#15EXIT0: MOV TH0,#3CHMOV TL0,#0B0HRETIEND。

交通信号灯模拟控制

交通信号灯模拟控制

实训时间:2011-6-27~2011-7-1报告内容页:不少于6页实训报告书写内容概要(参考实训指导书内容)一、实训题目交通信号灯模拟控制二、实训目的三、实训内容任务一:1、了解各引脚的功能。

2、完成实训指导书的基本要求。

5S 黄灯闪8次数5SA绿B红A黄B红A红B绿A红B 黄黄灯闪8次任务二:1、将A0、A1分别接到XA3、XA4后观察显示结果,并分析原因。

2、将D0---D7分别接到XD8---XD15后观察显示结果,并分析原因。

3、将原来的显示方式:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 * * * * * * * * 改为:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0* * * * * * * *要求显示正确,并写出程序更改代码或接口更改图。

4、将A组、B组对应的8255A的端口对换后,要求按最初程序显示结果输出,写出相应的更改程序。

任务三:1、将PA0、PA7分别接到PA3、PA5后,要求正常显示。

写出相应的更改程序。

2、将5S改为10S,将间隔100ms改为200ms后程序如何改写,计数器初值如何设定?3、将硬件接线中8255A的A口与B口对换后,要求显示正确,写出相应的更改程序。

四、实训原理1. 编程提示2. 程序流程图3. 程序框架五、实训硬件接线六、实训结果及分析七、实训总结(此项内容必须要求内容涉及:实训中出现的问题及收获)四、实验环境及条件1、唐都TD-PITC实验箱2、导线五、源程序清单;综合性、设计性实验--交通灯控制;PA0~PA7作为LED灯,PB0~PB7为数码管段选码,PC7读8254输出频率;*****************************************************************IOY0 EQU 9800H ;片选IOY0对应的端口始地址IOY1 EQU 9840H ;片选IOY1对应的端口始地址;*****************************************************************PORTA EQU IOY0+00H*2 ;8255的A口地址PORTB EQU IOY0+01H*2 ;8255的B口地址PORTC EQU IOY0+02H*2 ;8255的C口地址PORT8255 EQU IOY0+03H*2 ;8255的控制寄存器地址P0 EQU IOY1+00H*2 ;8254的0口地址P1 EQU IOY1+01H*2 ;8254的1口地址P2 EQU IOY1+02H*2 ;8254的2口地址P8254 EQU IOY1+03H*2 ;8254的控制寄存器地址;*****************************************************************STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTDTABLE DB 6FH,7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH;键值表,0~9对应的7段数码管的段位值DTABLE1 DB 4FH,5BH,06H,3FH ;键值表,0~3对应的7段数码管的段位值DATA ENDSCODE SEGMENTSTART PROC FARASSUME CS:CODE ,DS:DATA,SS:STACK BEGIN:PUSH DSMOV AX,OPUSH AXMOV AX,DATAMOV DS,AXMOV AL,44H ;8255A初始化MOV DX,PORT8255OUT DX,ALSTATEO:MOV AL,21H ;南北绿灯,东西红灯MOV DX,PORTAOUT DX,ALCALL LED9 ;九秒计时STATE 1:MOV AL,24H ;南北黄灯,东西红灯MOV DX,PORTAOUT DX,ALCALL LED3 ;三秒计时STATE 2:MOV AL,14H ;南北红灯,东西黄灯 MOV DX,PORTAOUT DX,ALCALL LED3STATE 3:MOV AL,12H ;南北红灯,东西绿灯MOV DX,PORTAOUT DX,ALCALL LED9STATE 4:MOV AL,14H ;南北红灯,东西黄灯MOV DX,PORTAOUT DX,ALCALL LED3STATE 5:MOV AL,24H ;南北黄灯,东西红灯MOV DX,PORTAOUT DX,ALCALL LED3JMP STATE0LED9: LEA SI,DTABLE ;取0--9模值首地址MOV CL,9 ;循环九次MOV AH,[SI]MOV DX,PORTBOUT DX,AHCALL TIME1 ;计时一秒INC DIDEC CLJN2 LED9 ;非0跳转RETLED3: LEA SI,DTABLE1 ;取0--3模值首地址MOV CL,3MOV AH,[SI]MOV DX,PORTBOUT DX,AHCALL TIME1 ;计时一秒INC DIDEC CLJNZ LED3RETTIME1: MOV AL,34H ;初始化8254工作方式MOV DX,P8254 ;计数器0,方式4OUT DX,ALMOV AL,00H ;装入计数初值OUT DX,AL ;18432分频MOV AL,48HOUT DX,ALLOOP: MOV AL,PORTCTEST AL ,80H ;检测PC7是否为1JS LOOP ;SF=0 计时一秒MOV DX PORTCTEST DX , 40HJS QUITRETQUIT : MOV DX ,OOHSTART END PCODE END SEND BEGIN六、程序运行结果1、南北方向的绿灯和东西方向的红灯同时点亮9秒钟,同时数码显示剩余时间;2、9秒钟后,南北方向的黄灯闪烁3秒钟,此时东西方向仍维持红灯点亮,同时数码显示剩余时间;3、南北方向的黄灯闪烁3秒钟后,转为南北方向的红灯和东西方向的黄灯闪烁3秒钟,同时数码显示剩余时间;4、3秒钟后,转为东西方向的绿灯闪烁9秒,此时南北方向仍维持红灯点亮,同时数码显示剩余时间;5、9秒钟后东西方向转黄灯闪烁3秒钟,南北仍红灯;6﹑3秒钟后,东西向转红灯,南北转黄灯,7﹑再回到1。

模拟交通灯控制代码

模拟交通灯控制代码

//功能:模拟交通灯控制C51参考程序具体实现功能:1、正常时信号灯控制:(1)初始状态东西南北全为红灯(5s);(2)东西绿灯、南北红灯(10s);(3)东西绿灯闪烁3次,南北红灯;(4)东西黄灯、南北红灯(2s);(5)东西红灯、南北绿灯(10s);(6)东西红灯,南北绿灯闪烁3次;(7)东西红灯,南北黄灯(2s);(8)转(2)。

2、特殊情况下,东西方向绿灯放行(5s)3、紧急情况下,如有急救车通过时,东西和南北两个方向的交通灯全为红灯(10s),急救车通过后恢复正常信号。

紧急情况优先级高于特殊情况。

4、其他提高部分:实现智能交通灯控制(略,自行考虑并编写)(1)各路口红绿灯点亮时间可调整;(2)数码管显示各路口的点亮时间并作每秒减“1”操作;(3)左转灯设计。

(4)自己设想一些特殊情况并加以处理。

分析:按键S1、S2模拟紧急情况和特殊情况的发生,当S1、S2为高电平(不按按键)时,表示正常情况。

当S1为低电平(按下按键)时,表示紧急情况,将S1信号接至INT0脚(P3.2)即可实现外部中断0的中断申请。

当S2为低电平(按下按键)时,表示特殊情况,将S2信号接至INT1脚(P3.3)即可实现外部中断1的中断申请。

程序设计:由上述流程图,程序需要多个不同延时时间,2s、5s、10s等,假定信号灯闪烁时亮灭时间各为0.5s,则可将0.5s延时作为基本的延时时间。

#include <reg51.h>unsigned char t0, t1; //定义全局变量,用来保存延时时间循环次数//函数名:delay0_5s1//函数功能:用T1的方式1编制0.5秒延时程序,假定系统采用12MHz晶振,定// 时器1、工作方式1定时50ms,再循环10次即可定时到0.5秒//形式参数:无//返回值:无void delay0_5s1( ){for(t0=0;t0<0x0a;t0++) // 采用全局变量t0作为循环控制变量{TH1=0x3c; // 设置定时器初值TL1=0xb0;TR1=1; // 启动T1while(!TF1); // 查询计数是否溢出,即定时50ms时间到,TF1=1TF1=0; // 50ms定时时间到,将定时器溢出标志位TF1清零}}//函数名:delay_t1//函数功能:实现0~127.5秒的延时//形式参数:unsigned char t;// 延时时间为0.5秒×t(0~255)//返回值:无void delay_t1(unsigned char t){for(t1=0;t1<t;t1++) // 采用全局变量t0作为循环控制变量delay0_5s1();}//函数:int_0//函数功能:外部中断0中断函数,紧急情况处理,当CPU响应外部中断0的中断请求时,// 自动执行该函数,实现两个方向红灯同时亮10秒//形式参数:无//返回值:无void int_0( ) interrupt 0 // 紧急情况中断{unsigned char i,j,k,l,m;i=P1; // 保护现场,暂存P1口、t0、t1、TH1、TH0j=t0;k=t1;l=TH1;m=TL1;P1=0xdb; // 两个方向都是红灯delay_t1(20); // 延时10秒P1=i; // 恢复现场,恢复进入中断前P1口、t0、t1、TH1、TH0t0=j;t1=k;TH1=l;TL1=m;}//函数:int_1//函数功能:外部中断1中断函数,特殊情况处理,当CPU响应外部中断1的中断请求时,// 自动执行该函数,实现东西方向放行5秒//形式参数:无//返回值:无void int_1( ) interrupt 2 // 特殊情况中断{unsigned char i,j,k,l,m;EA=0; //关中断i=P1; // 保护现场,暂存P1口、t0、t1、TH1、TH0j=t0;k=t1;l=TH1;m=TH0;EA=1; // 开中断P1=0xf3; // 东西方向放行delay_t1(10); // 延时5秒EA=0; // 关中断P1=i; // 恢复现场,恢复进入中断前P1口、t0、t1、TH1、TH0t0=j;t1=k;TH1=l;TH0=m;EA=1; //开中断}void main( ) //主函数{unsigned char k;TMOD=0x10; // T1工作在方式1EA=1; // 开放总中断允许位EX0=1; // 开外部中断0中断允许位IT0=1; // 设置外部中断0为下降沿触发EX1=1; // 开外部中断1中断允许位IT1=1; // 设置外部中断1为下降沿触发P1=0xdb; // 两个方向都是红灯delay_t1(10); // 延时5秒while(1){P1=0xf3; // A绿灯,B红灯,延时10秒delay_t1(20);for(k=0;k<3;k++) // A绿灯闪烁3次{P1=0xf3;delay0_5s1(); // 延时0.5秒P1=0xfb;delay0_5s1(); // 延时0.5秒}P1=0xeb; // A黄灯,B红灯,延时2秒delay_t1(4);P1=0xde; // A红灯,B绿灯,延时10秒delay_t1(20);for(k=0;k<3;k++) // B绿灯闪烁3次{P1=0xde;delay0_5s1(); // 延时0.5秒P1=0xdf;delay0_5s1(); // 延时0.5秒}P1=0xdd; // A红灯,B黄灯,延时2秒delay_t1(4);}}。

SOPC十字路口模拟交通灯控制

SOPC十字路口模拟交通灯控制

Sopc技术与应用课程设计模拟交通灯控制系统专业:电子科学与技术学号:姓名:指导老师:模拟交通灯课程设计一、实验目的:1、进一步掌握SOPC的开发流程。

2、熟悉Quartus II软件的使用。

3、 NIOS II软件的使用。

二、实验内容:通过Quartus II 、SOPC Builder和NIOS II实现交通灯控制仿真。

以42秒为一个十字路口交通灯的一个周期。

东西为主干道,南北为从干道(主干道和从干道通行时间不一样)1.东西方向绿灯亮21秒(东西方向可以通行),然后黄灯闪烁5秒(黄灯亮时已过线的可以继续通行,未过线的停车等待);南北方向显示红灯26秒(南北方向禁止通行)。

2.南北方向显示绿灯11秒(南北方向通行),然后黄灯闪烁5秒(黄灯亮时已过线的可以继续通行,未过线的停车等待);东西方向显示红灯16秒(东西方向禁止通行)。

3.依次循环1和2。

三、实验步骤1.在quartus II中建立工程在自己的文件目录下,建立一个自定义文件夹,这里为1020630110(注意不能有空格或中文);2.打开QUARTUS II,点击FILE菜单下的NEW Project Wizard;然后输入工程存放目录,或点击工程路径右边的按钮设置工程存放目录,在第二栏中输入工程名称,此实验为jiaotongdeng;之后点击Next,选择芯片为cyclone系列的EP1C12Q240C8;点击Finish,对话框消失,此时已经建立好了jiaotongdeng工程文件;3.用sopc builder建立nios系统模块点击Quartus II界面第一行工具栏中的SOPC Builder工具;名称填写jiaotong,选择verilog语言后点击OK,在device family中选择cyclone4.添加元件a.cpu选择32bit标准型,其他参数默认,改名为cpu(不能出现-);b.添加JTAG UART Interface,保持默认选项,Finsh,改名jtag_uart;c.添加内部RAM:选择memory→on-chip memory,改名RAM;d.加入pio:选择other→pio设置为output ports noly点击finsh,重新命名,按此方法一次添加三个1位和一个12位pio并分别重命名为:PIO_CLOCK、PIO_LOCK、PIO_DATA、PIO_LED;e.加入定时器Timer;f. 添加元件结束后,双左击cpu弹出对话框,两个memory选项选择RAM;5.指定基地址和分配中断号:选择system下拉菜单中auto-assign baseaddress或auto-assign irqs;6.点击sopc窗口下的system generation生成系统模块,待到提示成功便可以退出SOPC Builder7.在quartus II中的图形编辑界面中进行管脚连接锁定工作将生成模块以图标形式添加到BDF文件中:于Q uartus 界面New→Block Diagram/Schematic File,于弹出画图界面双击空白弹出添加界面完成模块的输入输出接口连接,如下图:其中D4、D3、D2、D1、GND分别电位分别为10100是为了选中交通灯的12个LED, CLK为时钟、DAT为送给数码管的数字、LOCK为数码管锁存管脚;8.管脚锁定:新建引脚锁定命令文件,File→New→Tcl Script File,弹出新窗口,将引脚锁定文件输入进去,通过查阅引脚文件从而对相应输入输出对应到硬件引脚上。

实验二 交通灯的模拟控制实验

实验二 交通灯的模拟控制实验

实验二交通灯的模拟控制实验一、实验目的1、用PLC构成交通灯控制系统;2、采用PLC编程语言编制控制程序并运行。

二、实验要求1、通过实验,加深理解学过的理论知识,掌握实验的基本原理。

2、受到必要的专业实验技能训练。

3、要求独立思考、独立动手来解决实际问题。

4、要学会正确使用仪器设备。

5、控制要求起动后,南北红灯亮并维持25s。

在南北红灯亮的同时,东西绿灯也亮,1s后,乙车灯亮,表示乙车可以行走。

到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,同时乙车灯灭,表示乙车停止通行。

黄灯亮2s后灭东西红灯亮。

与此同时,南北红灯灭,南北绿灯亮。

1s后甲车灯亮,表示甲车可以行走。

南北绿灯亮了25s后闪亮,3s后熄灭,同时甲车灯灭,表示甲车停止通行。

黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

四、实验所用仪器1、PLC编程电脑一台2、PLC实验箱一个3、交通灯控制系统模块一块4、实验连接导线一套五、实验步骤和方法1、编制并调试程序2、联好仪器,接通电源3、运行程序六、实验注意事项经指导教师检查同意后,方可接通电源,进行实验。

七、实验预习要求预先编制控制程序再到实验室进行实验上机调试参考程序清单:八、实验报告要求实验报告的主要内容1、实验目的2、实验用仪器、设备、记录规格、型号、数量等3、实验原理方法简要说明4、实验程序及实验结果分析,根据实验目的和实验内容,对实验数据和曲线进行分析,并作出结论。

实验报告册样式实验步骤:1、控制要求起动后,南北红灯亮并维持25s。

在南北红灯亮的同时,东西绿灯也亮,1s后,乙车灯亮,表示乙车可以行走。

到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,同时乙车灯灭,表示乙车停止通行。

黄灯亮2s后灭东西红灯亮。

与此同时,南北红灯灭,南北绿灯亮。

1s后甲车灯亮,表示甲车可以行走。

南北绿灯亮了25s后闪亮,3s后熄灭,同时甲车灯灭,表示甲车停止通行。

黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

项目六 交通信号灯模拟控制


1. 单片机LED显示器接口
河北机电职业技术学院
例1:显示数字“0”的字形码的确定方法。
共阳极接法中,要点亮的位为低电平,不点亮的位为高电平。
显示段 各段的状态 h 1 g 1 f 0 e 0 d 0 c 0 b 0 a 0
数字“0”的字形码为:C0H
共阴极接法中,要点亮的位为高电平,不点亮的位为低电平。
Company name
项目六 交通信号灯模拟控制
任务一 交通信号灯的显示器控制及实现 任务二 交通信号灯按键控制及实现
项目六 交通信号灯模拟控制
任务一 交通信号灯的显示器控制与实现
河北机电职业技术学院
(1)硬件设备:单片机开发系统、PC机等;
(2)电路原理:电路原理如下图所示。
应用电子教研室
项目六 交通信号灯模拟控制
应用电子教研室
项目六 交通信号灯模拟控制
任务二 交通信号灯的按键控制与实现
河北机电职业技术学院
(1) 任务要求
在定时交通信号灯控制的基础上,增加允许急 救车优先通过的要求。当有急救车到达时,路口 的信号灯全部变红,以便让急救车通过。 假定急救车通过时间为10s,急救车过后,交通 灯恢复先前状态。
应用电子教研室
河北机电职业技术学院
(4)任务目的
1)交通信号灯的控制原理;
2)掌握显示器控制方法及编程实现;
3)提高知识综合应用能力。
应用电子教研室
项目六 交通信号灯模拟控制
河北机电职业技术学院
(5)源程序设计
1) 程序中使用的工作单元定义如下: R1——秒数个位字形码寄存器; R2——秒数十位字形码寄存器; R5——控制定时时间的重复次数 R6——显示位寄存器的初始值(右边一位) 50H——30s显示计数器。 2) 定时器/计数器的参数计算 设系统时钟脉冲频率为6MHZ,定时器T0实现100ms定时,计数器的 初始值为: (TH0)=3CH,(TL0)=0B0H

模拟交通灯控制实验PPT课件


-
1
实验目的
在以往单元电路的基础上综合运用 8255A可编程并行接口芯片,8254 定时/计数器芯片,中断系统。 学习实际计算机控制系统设计方法。
-
2
实验原理
在本次实验中,我们利用发光二极管 模拟交通灯,实验箱上所用的是双色 二极管,红、绿两线均接高电平时发 黄光,实验中的发光二极管是利用 8255驱动,工作于方式1,利用8253 作为0.5S脉冲发生器。
-
11
L1 : JMP L1
L2 : MOV SI,0
INT7: MOV AX,DATA
MOV DS,AX
MOV DX,288H
MOV AL,LED1[SI]
OUT DX,AL
INC SI
CMP AL,0FFH
JZ L2
MOV AL,20H
OUT 20H,AL
MOV AH,1
INT 16H
JZ NEXT
IN AL,21H
OR AL,80H
OUT 21H,AL
STI
MOV AH,4CH
INT 21H
NEXT:IRET
CODE ENDS
END START
-
12
④ 26S~30S取南北红灯亮、东西黄灯闪的数(82H,80H) 每隔0.5S取一个数,也就是1S黄灯闪一次,要取10个此 数字。
⑤ 转①重复
-
6
实验步骤
1、输入源程序,并检查无误后,保存到E:\。 2、汇编,连接后形成EXE的可执行文件。 3、按图一所示的实验接线图连接实验线路。
检查无误后打开实验箱的电源。 4、执行可执行文件,观察六个发光二极管的
① 前10S中取 南北绿、东西红的数(24H),那么要取 10÷0.5=20个此数字。

十字路口交通灯控制的模拟

目录1. 概述 (1)2. 硬件设计 (2)2.1.控制要求 (2)2.2. PLC介绍 (3)2.2.1 PLC的基本概念 (3)2.2.2 PLC的主要特点 (4)2.2.3 PLC的结构及其工作原理 (4)2.4.I/O分配表 (7)2.5.I/O接线图 (8)3. 软件设计 (9)3.1设计梯形图 (9)3.2设计指令表 (12)4. 调试 (15)4.1 . 编程思想 (15)4.2. 控制系统的程序调试步骤 (15)4.3. 调试过程遇到的问题及解决方法 (15)5. 结束语 (16)6.参考文献 (17)1.1. 概述十字路口交通指示灯在日常生活中随处可见,设计安全可靠的交通灯在正常生活中起着重要作用。

应用PLC设计满足要求实际要求的十字路口指示灯是一个非常重要的手段。

PLC是以微处理器为基础,综合了计算机技术.半导体技术.自动控制技术.数字技术和网络通信技术发展起来的一种通用工业自动控制装置。

PLC以其可靠性高.灵活性强.使用方便的优越性,迅速占领了工业控制领域。

本设计介绍了应用PLC实现十字路口交通信号灯的自动控制。

通过对交通信号灯的控制要求分析,对PLC控制系统进行了软、硬件设计,并通过实验证明该系统简单、经济、运行可靠,具有很高的实用价值。

2.硬件设计2.1.控制要求在十字路口南北方向以及东西方向均设有红,黄,绿3只信号灯,6只信号灯依一定的时序循环往复工作。

信号灯受电源总开关控制,接通电源,信号灯系统开始工作;关闭电源所有的信号灯都熄灭,程序自动关闭。

在晚上车辆稀少时,要求交通灯处于下班工作状态,即两个方向的黄灯一直闪烁。

在信号灯工作期间,东西以及南北方向的红灯亮维持30秒,在红灯亮时的最后2s,东西以及南北方向的黄灯同时闪烁,时间为2s,东西以及南北方向的绿灯为长亮25s,然后闪烁3s。

下图为交通灯示意图2.2.总体思路启动I0.0东西绿灯Q4.0东西黄灯Q4.1东西红灯Q4.2南北绿灯Q4.3南北黄灯Q4.4南北红灯30s 25s 3s 2s 此图为交通灯时序图2.2. PLC介绍2.2.1 PLC的基本概念可编程控制器是计算机家族中的一员,是为工业控制应用而设计制造的。

基于51单片机的交通信号灯模拟控制系统实验一

基于51单片机的交通信号灯模拟控制系统实验一、实验目的和要求1.掌握单片机基本资源使用。

2.掌握单片机电路原理图绘制和仿真。

3.掌握单片机C语言软件开发以及联合仿真。

二、实验内容和原理实验内容:1.根据题目绘制单片机电路原理图。

2.绘制程序流程图并编写C语言程序3.在仿真程序中进行联合仿真,最后提交实验报告三、主要仪器设备keilC,proteus。

四、操作方法与实验步骤4.1 题目要求用单片机设计一个十字路口交通灯模拟控制系统,要求东西、南北两个方向都通行20秒,警告3秒,禁止20秒,同时要考虑到东西、南北两个方向出现异常情况,出现异常情况器该方向通行60秒。

4.2 系统设计思路设置东西、南北方向的交通灯状态变量。

设置计时器变量,用来记录当前状态的持续时间。

设置异常情况变量,用来记录异常情况是否出现。

在主循环中使用无限循环来控制交通灯的状态和计时器的更新。

根据计时器的值和交通灯状态,判断当前状态,并控制灯的状态切换。

初始化交通灯状态和计时器,使东西、南北方向都为"通行"状态,计时器初始值设置为20秒。

在循环中,逐秒更新计时器的值,并判断当前状态。

如果计时器的值为0,即当前状态持续时间结束,根据当前状态进行灯的状态切换和计时器的重设。

如果出现异常情况,将相应方向的状态设置为"异常",并将计时器设置为60秒4.2 电路图绘制(包含详细的参数选定文字和图像叙述)4.3 C程序编制(包含详细的文字和程序流程图)#include <reg51.h>void delay500ms (unsigned char k);void main(void)SP=0X60;TMOD=0x01;IE=0x85;TCON=0x05;while(1)//初始化P1=0x21;delay500ms (40);P1=0x41;delay500ms (6);P1=0x12;delay500ms (40);P1=0x14;delay500ms (6);//状态1,东西方向绿灯,南北方向红灯20s //状态2,东西方向黄灯,南北方向红灯3s //状态3,南北方向绿灯,东西方向红灯20s//状态4,南北方向黄灯,东西方向红灯3s//东西方向异常,东西方向绿灯闪,南北方向红灯闪60svoid int 0(void) interrupt0)unsigned char il,i2;i1=Pl;for(i2=0;i2<60;i2++)P1=0x21;delay500ms (1);P1=0x00;delay500ms (1);Pl=il;//南北方向异常,南北方向绿灯闪,东西方向红灯闪60s void int 1(void) interrupt 2 unsigned char jl,j2;j1=P1;for (j2=0;j2<60;j2++)P1=0x12;delay500ms (1);P1=0x00;delay500ms (1);Pl=jl;//延时500ms 函数void delay500ms (unsigned char m) unsigned char k1, k2;TH0=0x3C;TL0=0xB0;TRO=1;for (k1=0;k1<m;k1++)for (k2=0;k2<10;k2++)while(!TFO);TF0=0;TH0=0x3C;TL0=0xB0;4.3 仿真分析(包含文字和图像叙述)状态,东西方向绿灯,南北方向红灯20秒,状态编码“100”(1):)状态2,东西方向黄灯,南北方向红灯3秒,状态编码“00000 (41H);状态了,南北方向绿灯,东西方向红灯20秒,状态编码“00”00 (2H);:状态4,南北方向黄灯,东西方向红灯3秒,状态编码“000”(4H)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训10 模拟交通灯控制
【任务一】
交通灯的基本功能如下:
任务目的:
通过对模拟交通灯控制系统的制作,让读者掌握定时器和中断系统的综合应用,进一步实现软硬件联调的方法。

任务要求:
设计并实现单片机交通灯控制系统,实现以下三种情况下的交通灯控制。

(1)正常情况下双方向轮流点亮交通灯,交通灯的状态如下表所示:
(2)特殊情况时,A通道放行。

(3)有紧急车辆通过时,A、B通道均为红灯。

其中紧急情况高于特殊情况。

硬件电路设计:
各灯对应的控制端口线的分配及控制状态如下表所示:
1、使用keil软件编写程序,实现上述交通灯的第(1)种情况的控制,生成HEX文件,
并保存。

程序流程图如下:
参考程序如下:
2、使用Proteus ISIS软件仿真运行,观察并调试仿真结果。

【任务二】
1、在任务1的基础上加入第(2)(3)种情况的控制,生成HEX文件,并保存。

程序流程图如下:
中断参考程序如下:
紧急情况下中断函数参考程序:
特殊情况下中断函数参考程序:
2、使用Proteus ISIS软件仿真运行,观察并调试仿真结果。

【任务三】
本实验硬件电路要求为:
请根据实验台的硬件连接特性,参考任务一的程序,新建一个工程,实现模拟交通灯控制的功能。

在试验台进行硬件连接,利用下载软件将HEX 文件下载到单片机中实际运行,并观察运行结果。

【任务提交】
1、文件夹命名规则(学号姓名,如:20070102***)
2、只需要提交.C 和.HEX 文件
3、本次任务所提交的文件夹中应含有:3个.C 和3个.HEX 文件
DISP3D
DISP4D
DISP1D
DISP2D


CLK
DIN。

相关文档
最新文档