A. 单片机控制的交通灯
题目 交通灯控制系统的设计
一、课程设计的目的与要求
1、课程设计目的:
(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。
(2)通过课程设计提高应用能力,分析问题和解决问题的能力。
(3)培养查阅资料的习惯,训练和提高自学,独立思考的能力。
2、课程设计要求
交通灯控制系统的设计
1) 掌握在单片机系统中扩展简单I/O接口的方法。
2) 掌握数据输出程序的设计方法。
3) 掌握模拟交通灯控制的实现方法。
4) 掌握外部中断技术的基本使用方法。
5) 掌握中断处理程序的编程方法。
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:
(1)能够正确理解课程设计的题目和意义,全面思考问题。
(2)运用科学合理的方法,认真按时完成。
二、课程设计课题的分析
1、电路的设计
1)原理
要完成本实验,首先必须了解交通灯的亮灭规律。本实验需要用到试验箱上八个发光二极管中的六个,即红、绿、黄各两个。将L1(红)、L2(绿)、L3(黄)作为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)作为南北方向的指示灯。交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。
各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮使相应使相应输入端为低电平。
当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假设急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。本程序以单次脉冲为中断申请,表示有急救车通过,单次脉冲输出端P-接CPU板上的INT0。
2)、硬件电路图
图1—1 交通灯控制系统的硬件接线图
74LS273的输出00—07接发光二极管L1—L8,74LS273的片选CS273接片选信号CS2,此时74LS273的片选地址为CFA0—CFA7之间任选。
3)、程序流程图
主程序流程
图1—2 主程序软件流程图
中断程序流程图
三、课程设计的结果
1、程序
NAME JIAOTONGGENG
OUTPORT EQU 0CFB0H ;端口地址
SAVE EQU 55H ;SAVE保存从端口CFA0输出的数据
CSEG AT 0000H
LJMP START
CSEG AT 4003H
LJMP INT
CSEG AT 4100H
START: SETB IT0 ;中断程序初始化
SETB EX0
SETB EA
MOV A,#11H ;置首显示码,两红灯全亮
MOV SAVE,A ;保存
ACALL DISP ;显示输出
ACALL DE3S ;延时3秒
LLL: MOV A,#12H ;东西路口绿灯亮,南北路口红灯亮
MOV SAVE,A
ACALL DISP
ACALL DE10S ;延时10秒
MOV A,#10H ;东西路口绿灯灭
MOV SAVE,A
ACALL DISP
MOV R2,#05H ;东西路口黄灯闪烁5次
TTT: MOV A,#14H
MOV SAVE,A
ACALL DISP
ACALL DE02S ;延时0.2秒
MOV A,#10H
MOV SAVE,A
ACALL DISP
ACALL DE02S
DJNZ R2,TTT
MOV A,#11H ;红灯全亮
MOV SAVE,A
ACALL DISP
ACALL DE02S ;延时0.2秒
MOV A,#21H ;东西路口红灯亮,南北路口绿灯亮
MOV SAVE,A
ACALL DISP
ACALL DE10S ;延时10秒
MOV A,#01H ;南北路口绿灯灭
MOV SAVE,A
ACALL DISP
MOV R2,#05H ;南北路口黄灯闪烁5次
KKK: MOV A,#41H
MOV SAVE,A
ACALL DISP
ACALL DE02S ;延时0.2秒
MOV A,#01H
MOV SAVE,A
ACALL DISP
ACALL DE02S
DJNZ R2,KKK
JMP LLL ;转SSS循环
DE10S: MOV R5,#100 ;延时10秒
JMP DE1
DE3S: MOV R5,#30 ;延时3秒
JMP DE1
DE02S: MOV R5,#02 ;延时0.2秒
DE1: MOV R6,#200
DE2: MOV R7,#126
DE3: DJNZ R7,DE3
DJNZ R6,DE2
DJNZ R5,DE1
RET
DISP: MOV DPTR,#OUTPORT
CPL A ;取反,点亮发光二极管
MOVX @DPTR,A
RET
;中断处理程序
INT: PUSH ACC ;有关寄存器入栈
PUSH PSW
MOV A,#11H ;两红灯全亮
ACALL DISP
ACALL DELAY
MOV A,SAVE ;将主程序中保存的数据再送给A
ACALL DISP
POP PSW ;有关寄存器出栈
POP ACC
RETI
DELAY:MOV R1,#100
DEL1 :MOV R2,#200
DEL2 :MOV R3,#126
DEL3 :DJNZ R3,DEL3
DJNZ R2,DEL2
DJNZ R1,DEL1
RET
END
2、现象
将程序输入到单片机中,运行程序,可以观察到现象:首先是两个路口的红灯全亮,延时3秒之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时10秒后,东西路口绿灯灭,黄灯开始闪烁。闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时10秒后,南北路口的绿灯灭,黄灯开始闪烁。闪烁5次后,再切换到东西路口方向,重复上述过程。
当有中断申请时,两个方向上的红灯亮,经过10秒急救车通过之后,恢复到急救车到来之前的状态继续运行,可有多次的中断申请。
四、课程设计的心得与体会
1.通过试验进一步理解和消化了书本知识,分析每个语句的含义,运用所学知识进行简单的程序设计。
了解了在单片机系统中扩展简单I/O接口的方法. 外部中断技术的基本使用方法,掌握了中断处理程序的编程方法。
2.通过在图书馆查阅各种单片机资料,培养了我自学和独立思考的能力。与同学交流研究,让我懂得了更多以前不明白的知识.
3.在课程设计过程中,不断调试程序和修改程序,提高了对单片机的应用能力,分析问题和解决问题的能力。
B. 基于单片机的交通信号灯控制系统_基于单片机的交通信号灯控制系统设计毕业论文
HD2000交通信号集中控制系统是华路德公司开发研制的HD202、HD204、HD207系列交通信号控制器的远程控制软件,利用城域宽带网,远程监视和控制路口信号机的工作状态和运行方式,使用户足不出户即可了解和控制路口交通状况,实现区域内交通信号灯的联动绿波带协调控制,从而提高道路通行能力和管理部门紧急情况处置反基烂慎应能力,能极大地减轻交通管理部门的维护和调节工作量。
性能与特点
高级语言编制,界面友好,操作方便。
联网方式灵活,可以通过以太网、无线通讯、电话拨号、GPRS等实现中心与路口的通讯联系。
覆盖路口控制机类型广泛,可以选择我公司出厂的HD202系列、HD204系列、HD207系列交通信号控制器,给用户最大的选择余地。
建设成本低,本系统涵盖了我公司所有档次的信号机,在已经安装了电子警察的道路交叉口,可以借用电子警察网络资源,避免了重复投资。
控制路口点数多,可以同时控制多达180个以上路口的交通信号控制机,如果建立分级通讯机制,则控制点数不受限制。
系统提供软件接口与其他系统(如GPS卫星定位系统、城市交通诱导系统、公安视频监控系统、电子警察系统等)实现交警数据的共享,为建设和谐交通提供一手交通流量数据。
采用服务器/客户端模式,后台系统由服务器和若干工作站组成,监控路口真正做到足不出户,有条件的客户甚至能通过Internet实现对路口信号机搏敬的远程监控。
功能介绍
远程监视功能,通过控制中心能实时监视路口信号机的运行状况,包括当前运行方式、运行总周期、信号灯输出状态等用户首先需要了解的路口信息。用户可以通过两种画面监视运行状态:监视主画面和路口模拟图画面。监视主画面用于全面了解路口信号机的运行状态,而路口模拟图画面能使用户直观了解实际路口信号灯的红绿显示情况。
单路口远程控制功能,通过远程监视画面(包括监视主画面和路口示意图画面)用户可以实现对路口信号机的远程手、自动切换和运行方式变换,配合视频监控能有效、及时地疏导交通和临时交通处置。
远程设置功能,通过不同类型信号机的设置画面,用户能远程设置和修改路口信号机的运行参数,如相位方案、时段方案、配时方案、运行常量等。
远程流量收集,若路口设置有车辆检测器,系统能自动、定时地收集和保存不同时段路口车道流量状态。
绿波带控制功能,系统能根据路口之间的距离、车速等信息自动协调关联路口的信号历稿灯输出周期,实现多路口之间的绿波带协调控制功能,并能根据路段的车流状态定时切换协调方向。
警卫路线控制功能,系统能根据预先设置的警卫路线,准确命令警卫路线上的信号机在特定时间段开启指定信号灯绿灯,并在持续一段时间后自动后恢复。
远程登录与控制功能,系统采用服务器/客户端模式,所有信号机数据和用户需求信息均通过服务器实现转发、存储和提取;用户通过客户端实现对服务器的登录,并通过服务器实现对路口的监视与控制。详细资料你可以看参考!
C. 单片机交通灯毕业设计
单片机交通灯毕业设计
在日常生活中,交通灯是一项必不可少的公共设施,可以维护道路的畅通和交通的秩序。如若交通灯发生故障,那么后果可想而知。因此,交通灯的正常工作就显得尤为重要。由于交通灯对于公共安全的重要性,本文基于51单片机模拟双向交通灯的设计。下面是我整理的单片机交通灯毕业设计,欢迎来参考!
一、交通灯的设计要求
双向交通灯红、黄、绿灯对应相同,红灯5s,黄灯1s,绿灯5s。当有急救车到达时,双向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10s,急救车通过后,交通灯恢复中断前状态。
二、AT89C51单片机的中断系统介绍
计算机系统中止当前的正常工作,转入处理突发事件,等到突发事件处理完毕之后,再回到原来被中断的地方,继续原来的工作,这样的整个过程称为中断。能够实现这种功能的.部件称为中断系统。产生中断请求的事件称为中断源。其中AT89C51单片机具有5个中断源,在本次设计中我们采用的是外部事情中断请求源0,以及T1计数溢出事情中断请求这两个中断源。
三、AT89C51单片机的定时/计数器介绍
在单片机中,通常计数器和定时器设计成一个部件――计数器,当计数脉冲的周期一定时,计数器就作为定时器,定时时间就是计数器计数次数和计数脉冲周期的乘积。在此我们采用的就是计数器的这个定时功能。
四、交通灯的硬件电路搭建
本次设计的硬件电路搭建如图1。两路交通灯的6个灯依次接在51单片机P1口的P1.0到P1.5,另外在单片机的P3.2口接一个按压式开关作为救护车到来时的中断源。
五、交通灯的软件编程设计
中断部分的程序设计。首先,应将51单片机中中断允许寄存器IE的EA位设为1,这代表允许中断源向CPU申请中断,即CPU开放中断。同时将IE的EX0位设为1,这代表允许外中断0向CPU申请中断。这样的话,当救护车来的时候,可以借此发出中断请求。接下来,应将定时器控制寄存器TCON的IT0位设为1,这代表外部中断0的触发方式选择为边沿触发方式。由于笔者采用了按压式的开关作为中断的发出方式,这样会产生一个脉冲,因此应当选择边沿触发方式。定时部分的程序设计。首先,应将控制寄存器TCON的TR1位置1,启动定时器T1计数。接下来,应将方式寄存器TMOD的值设为0x01,使得定时器T1工作在方式1,即16位定时/计数方式。然后,由于计时器的定时周期是1s,笔者使用定时/计数器T1精确定时50ms,则20次50ms中断时,定时时间就是1s。在定时器中断部分,笔者采用的是查询方式,即CPU不断查询TF1的状态,当TF1为1时,表示50ms定时已到,在主程序中判断是否20次50ms定时已到,如是,则时间恰好为1s。同时TF1位软件清0。根据公式,当定时时间为50ms时,计数初值应为15536,换算成十六进制是3CB0H,即计数器T1中TL1的初值为B0H;TH0的初值为3CH。当救护车到来时,双向交通灯置红,即将双向交通灯的红灯所对应的P1口位置1,其他位清0即可。时间长短的设置方法同上。最后,由于双向交通灯红灯5s,黄灯1s,绿灯5s,共11个状态,我们利用switch语句为这11个状态分别设置相应P1口的值,再利用一个循环即可。
六、结语
在机动车数量激增的今天,车辆拥堵、交通崩溃的现象还是时有发生的。其原因多半是交通灯时长设置的不合理,抑或无法根据一天之内不同时间的车流状况,对交通灯的状态进行调整。因此,合理地设计交通系统,同时对于交通灯的适当调试无疑将会派上很大用场。
;D. 用单片机做交通灯,这么做
基于单片机的交通灯设计
时间:2010-12-08 21:43:12 来源: 作者:
一、 系统功能要求:
1. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制。
时间方向 控制要求
白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯
晚上 东西 黄灯 南北 红灯
2.总体设计方案现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。
二、 总体设计方案提示:
1.假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态。
2.东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态。
3.南北绿灯通车,东西红灯。过一段时间转状态。
4.南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。
三.硬件设计
电路原理图如下:
四、软件设计
1、 流程图
2、程序设计
ORG 0000H
MOV P0,#00H ;确保P0为低电位
lJMP MAIN0
ORG 0030H
MAIN0: MOV 30H,#08H
MOV R6,#00H
MOV R7,#00H
MOV DPTR,#TABLE ;取数码管的译码
MOV TMOD,#01H ;设计定时方式及时间
MOV TL0,#0CDH
MOV TH0,#0BH
SETB TR0
MOV IE,#00H
MAIN: MOV P1,#0F3H ;南北绿灯,东西红灯
MOV R6,#1EH ;红灯30s倒计时
MOV R7,#19H ;绿灯25s倒计时
MAIN1:CALL DELAY ;1S延时子程序
JB P0.1,REL1 ;判断是否有东西方向按钮按下
CJNE R7,#00H,MAIN1 ;判断绿灯25s是否倒计完
MOV P1,#0F5H ;南北黄灯,东西红灯
MAIN2:CALL DELAY
MOV R7,#00H ;红灯继续倒计时,黄灯闪烁,保持0s
CPL P1.1 ;黄灯闪烁
CJNE R6,#00H,MAIN2 ;判断红灯是否倒计时完
MOV P1,#0DEH ;南北红灯,东西绿灯
MOV R7,#1EH
MOV R6,#19H
MAIN3:CALL DELAY
JB P0.0,REL2
CJNE R6,#00H,MAIN3
MOV P1,#0EEH
MAIN4:CALL DELAY
MOV R6,#00H
CPL P1.4
CJNE R7,#00H,MAIN4
JMP MAIN
REL1:MOV P1,#0F5H ;东西方向按钮按下,南北方向强制由绿灯变成黄灯警告
MOV R6,#05H
MOV R7,#00H
JMP MAIN2
REL2:MOV P1,#0EEH ;南北方向按钮按下,东西方向强制由绿灯变成黄灯警告
MOV R7,#05H
MOV R6,#00H
JMP MAIN4
;1s延时子程序
DELAY:MOV A,R6 ;进行南北方向倒计时时间的十进制调整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR ;找寻相应的数码管代码
MOV P2,#01H
MOV P3,A ;输出个位
MOV R4,#4 ;降低动态显示频率
LOOP2:MOV R3,#125
LOOP3:DJNZ R3,LOOP3
DJNZ R4,LOOP2
MOV A,B
MOVC A,@A+DPTR
MOV P2,#02H ;输出十位
MOV P3,A
MOV R4,#4
LOOP4:MOV R3,#125
LOOP5:DJNZ R3,LOOP5
DJNZ R4,LOOP4
MOV A,R7 ;进行东西方向倒计时时间的十进制调整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV P2,#04H
MOV P3,A
MOV R4,#4
LOOP6:MOV R3,#125
LOOP7:DJNZ R3,LOOP7
DJNZ R4,LOOP6
MOV A,B
MOVC A,@A+DPTR
MOV P2,#08H
MOV P3,A
MOV R4,#4
LOOP8:MOV R3,#125
LOOP9:DJNZ R3,LOOP9
DJNZ R4,LOOP8
JBC TF0,LOOP ;判断是否计满125ms
AJMP DELAY
LOOP:MOV TL0,#0CDH ;计满125ms重新给定时器赋值
MOV TH0,#0BH
MOV A,30H
DEC A
MOV 30H,A
JNZ DELAY ;判断是否计满8次125ms,即1s
DEC R6 ;计满1s,东西倒计时减1,南北倒计时减1
DEC R7
MOV 30H,#08H ;重新1s次数,重新计时
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;相应数值的数码管代码
DB 92H,82H,0F8H,80H,90H
END
E. 基于单片机的交通灯设计的程序
void main()
{
P3 = 0;
P1 = 0;
P2 = 0xff;
initTimer();
TR0=1;
ET0=1;
EA=1;
while(1)
{
switch(state)
{
// 状态跳转
case 0:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 10;
state = 1;
}
break;
case 1:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 2;
}
break;
case 2:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 3;
}
break;
case 3:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 10;
state = 4;
}
break;
case 4:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 5;
}
break;
case 5:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 0;
}
break;
default:break;
}
// 执行
switch(state)
{
case 0:
//东西绿灯世卖,南北红灯,倒计时30秒;
E_G = 1;W_G = 1;S_R = 1;N_R = 1;
break;
case 1:
//数码管倒计时10秒;
E_G = 1;W_G = 1;S_R = 1;N_R = 1;
display(ct,0);
display(ct,2);
display(ct+2,1);
display(ct+2,3);
break;
case 2:
//东西黄灯,倒计时2秒;悄配
E_Y = 1;W_Y = 1;S_R = 1;N_R = 1;
display(ct,1);
display(ct,3);
break;
case 3:
//南北绿灯,东西红搜运逗灯,倒计时30秒;
E_R = 1;W_R = 1;S_G = 1;N_G = 1;
break;
case 4:
//数码管倒计时10秒;
E_R = 1;W_R = 1;S_G = 1;N_G = 1;
display(ct,1);
display(ct,3);
display(ct+2,0);
display(ct+2,2);
break;
case 5:
//南北黄灯,倒计时2秒;
E_R = 1;W_R = 1;S_Y = 1;N_Y = 1;
display(ct,0);
display(ct,2);
break;
default:break;
}
}
}
F. 基于单片机的交通灯设计开题报告
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片80C51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。
本设计以单片机为核心,以LED灯作为直行和左右拐弯指示完成了对题目要求的功能。