文档库 最新最全的文档下载
当前位置:文档库 › 基于AT89C51十字路口交通灯模拟控制器设计

基于AT89C51十字路口交通灯模拟控制器设计

基于AT89C51十字路口交通灯模拟控制器设计
基于AT89C51十字路口交通灯模拟控制器设计

基于AT89C51单片机交通灯控制器

成都工业学院电气自动化11216班

一、设计目的:

在完成“单片机原理及应用”课程的学习后,通过设计小型的单片机应用系统,加深对所学知识的理解和提高单片机系统的设计能力。

二、设计任务和要求:

1、设计任务:设计基于AT89C51单片机的十字路口交通灯控制电路。

2、具体要求:

(1)设计硬件电路,包括:单片机最小系统、2位LED数码管显示器、3个按钮的键盘(SET、UP、DOWN)、12个led指示灯(红黄绿三种颜色,东西并联、南北并联),等。

(2)基本功能:

要求东西方向(A方向)车道和南北方向(B方向)车道两条交叉道路上的车辆交替通行,每次通行时间为N秒(红灯、绿灯亮的时间为N秒,N≤60S) ,可以设置。

在绿灯转为红灯时,要求最后黄灯亮3秒(固定),才能交换运行车道。

剩余秒数显示:2位LED数码管,倒计时方式:N~0

可选的扩展功能:

黄灯亮时,要求0.5s闪烁一次。

A方向、B方向的通行时间可以不同,如:A方向通行50s,B 方向通行30s。

三、设计分析及过程:

(一)、设计分析:

十字交叉路口的交通灯控制系统的结构:

根据设计要求,交通灯控制系统的硬件由8位单片机、4个数码管及其驱动电路、12个三色LED指示灯及其驱动电路、键盘(3个程序键)、电源电路等组成。可以参照方框图进行设计。

往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。用两个数码管来显示被点亮的指示灯还将点亮多久。

往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯

点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯点亮禁止通行。

假设南北方向为主干道,通行时间为60秒,东西方向是次干道,通行时间为30秒,黄灯点亮的时间均为4秒,则其工作方式如表1.1所示循环点亮信号灯。

(二)、设计过程

1、硬件设计:

AT89S52单片机简介

其引DIP封装的脚图如下:

主要性能

与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART

串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

功能特性描述

At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻

辑电平。对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,

P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验

时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个

TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2

的触发输入(P1.1/T2EX),具体如下表所示。

在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个

TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)

时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用

8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个

TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

端口引脚第二功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INTO(外中断0)

P3.3 INT1(外中断1)

P3.4 TO(定时/计数器0)

P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通)

P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必

须是该器件是使用12V编程电压Vpp。

硬件框图:

电路图:

硬件说明:

1)单片机选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调

试带来极大的方便。

2)时钟电路:晶体选12MHz,电容选30pF。见书p41图2-11

3)复位电路:当按下按键时,RST端出现1000/1200*5=4.2V,使单片机复位。为防止干扰,保证可靠复位,将复位信号经施密特电路后,再接单片机RST端。见图p40 2-10

4)EA引脚:AT89C51的EA引脚接+5V。

5)LED显示系统:南北向和东西向各采用2个数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为59秒。设计时可利用单片机的P0口和P1口作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间,数码管采用动态扫描方式显示。

6)键盘系统:设置3个程序按键:设置键、增加键、减少键,因键盘使用频率很小,采用查询方式来读取键盘。另需配置一个非程序按键:系统复位键。

无键按下时,各输入线为高电平;有键按下时,相应输入线为低电平,CPU查询此输入口的的状态就知道是哪一个键。

※按键系统的工作流程:

1)接通电源时或系统复位后,系统按程序给定的时间工作,即南北向通行60秒,东西向通行35秒,黄灯亮3秒。首先南北向通行,然后东西向通行,如此循环。

2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用“设置键、增加键、减少键”进行设置。

第一次按“设置键”时,南北向的绿灯亮,南北向的数码管显

示当前南北向的通行时间,并且按每秒1次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向的通行时间。按一次“增加键”或“减少键”,数码管的显示时间增加1秒或减小1秒,长按“增加键”或“

减少键”(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。

第二次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒1次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯的点亮时间。第三次按“设置键”时,东西向的绿灯亮,东西向的数码管显示当前东西向的通行时间,并且按每秒1次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向的通行时间。

第四次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒1次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。

第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且南北向先通行,东西向后通行。

2、软件设计:

1)、程序流程图:

2)、主程序模块:初始化及键盘监控。主要完成RAM清零,T0定时器的设置,绿、黄灯的初值设定,键盘查询以及各子程序的调用。3)、一秒定时的计算:

4)、定时中断服务程序模块:为定时器的中断服务子程序,完成0.1秒和1秒的时间定时。产生0.1秒和1秒的定时信号,每到了1秒钟,使南北绿灯(20H),南北黄灯(21H),东西绿灯(22H),东西黄灯(23H)进行递减计数。

恢复通行显示子程序:在设置通行时间的状态下(此时键处理标志位0F2H=1),如在30秒钟内没有按任何按键,则自动恢复到正常工作状态,所作的设置时间无效。

5)、键盘程序:

·键盘扫描程序模块:判断是否有键按下,并求取键号。

·键处理程序模块:分别是“设置键”“增加键”“减少键”的处理子程序。

①键扫描子程序:检测P3端口,判断是否有键按下,如果有键按下,则进行延时去抖动并读取键值存入A中。

②键值处理子程序:根据键值,转相应键处理子程序。

③设置键处理子程序:设置键是一个多功能键,需要对其所按的次数进行计数,然后转到相应的程序段。

④加1键处理子程序:在按键标志位有效的情况下,每按一次加1键,对应的数据作加1处理。长按该键(时间超过1秒),则对应的数据快速增加。

⑤减1键处理子程序:在按键标志位有效的情况下,每按一次减1键,对应的数据作减1处理。长按该键(时间超过1秒),则对应的数据快速减小。

5)、显示程序模块:完成12个发光二极管(实际上只需驱动6个)和4个LED数码管的显示驱动。

6)、扫描显示子程序:为12位LED动态显示提供驱动信号。P0口和P2口为数码管提供驱动信号,P0口为字段口,低电平有效,P2口为字位码输出口,高电平有效。显示缓冲区30H到34H共4个字节,33H和32H存放南北显示的十位与个位数据;31H和30H存放东西的十位与个位数据。

五、程序清单:

T0CNT EQU 30H ;T0基本计时单元

SEC_G1 EQU 31H ;A道绿灯倒计时单元

SEC_R2 EQU 32H ;B道红灯倒计时单元

SEC_R1 EQU 33H ;A道红灯倒计时单元

SEC_G2 EQU 34H ;B道绿灯倒计时单元

SEC_G1A EQU 35H ;A道绿灯时间存储

SEC_G2B EQU 36H ;B道绿灯时间存储

SETCNT EQU 37H ;SET按键次数存储单元

DISP_BUF EQU 38H ;38H~3FH为时间显示缓冲区

DISP_BUF1 EQU 40H ;设置时间显示缓冲区

ORG 0000H

LJMP MAIN

ORG 000BH ;T0中断入口

LJMP IT0P

ORG 0050H

MAIN: MOV SP,#60H ;设置堆栈指针

MOV TMOD,#01H ;设置T0为16位定时器方式

MOV TH0,#0D8H ;置T0初值

MOV TL0,#0F0H

MOV IE,#82H ;T0中断允许

MOV T0CNT,#00H ;时间计数单元清0

MOV SETCNT,#00H ;SET按键次数清0

MOV SEC_G1,#5 ;置A道绿灯倒计时初值50s

MOV SEC_R2,#8 ;置B道红灯倒计时初值53s

MOV SEC_G2,#10 ;置B道绿灯倒计时初值40s

MOV SEC_R1,#13 ;置A道红灯倒计时初值43s

MOV SEC_G1A,#5

MOV SEC_G2B,#10

MOV 48H,#02H

MOV P1,#33H ;设定路灯初始状态,A道绿灯亮,B道红灯亮

SETB TR0 ;启动T0

MAIN_LP: LCALL DISP ;调用显示子程序

MOV P0,#0FFH ;设置P0为输入方式

MOV A,P0

ANL A,#07H ;屏蔽P0口的高5位

CJNE A,#07H,K_PRESS ;有键按下,转键处理

SJMP MAIN_LP ;无键按下,继续循环

K_PRESS: LCALL KEY_PRG

SJMP MAIN_LP ;键盘处理完后,继续循环

;T0中断子程序

IT0P: PUSH PSW ;保护现场

PUSH ACC

MOV TH0,#0D8H ;置T0初值

MOV TL0,#0F0H

JNB P1.2,LP ;A绿灯亮则跳

JNB P1.1,LP1 ;A黄灯亮则跳

JNB P1.3,LP1

JNB P1.5,LP2 ;B绿灯亮则跳

JNB P1.4,LP3 ;B黄灯亮则跳

JNB P1.0,LP3

LP: INC T0CNT ;定时中断次数加1

MOV A,T0CNT

CJNE A,#50,IT0END ;中断未到50次(1s)返回

MOV T0CNT,#00H ;到1s,基本单元清0

DEC SEC_R2

DEC SEC_G1

MOV A,SEC_R2

CJNE A,#03H,IT0END ;未到0s,返回

MOV P1,#35H ;A道绿灯灭黄灯亮

SJMP IT0END

LP1: INC T0CNT ;定时中断次数加1

MOV A,T0CNT

CJNE A,#25,IT0END ;中断未到25次(0.5s)返回

MOV T0CNT,#00H ;到0.5s,基本单元清0

CPL P1.1 ;A道黄灯灭

DJNZ 48H,IT0END

MOV 48H,#02H

DEC SEC_R2

MOV A,SEC_R2

CJNE A,#00H,IT0END ;延时未到3s,返回

MOV P1,#1EH ;A道红灯亮,B道绿灯亮

MOV SEC_G1,SEC_G1A ;给A道绿灯,B道红灯重装初值MOV A,SEC_G1A

ADD A,#03H

MOV SEC_R2,A

SJMP IT0END

LP2: INC T0CNT ;定时中断次数加1

MOV A,T0CNT

CJNE A,#50,IT0END ;中断未到50次(1s)返回

MOV T0CNT,#00H ;到1s,基本单元清0

DEC SEC_R1

DEC SEC_G2

MOV A,SEC_R1

CJNE A,#03H,IT0END ;未到0s,返回

MOV P1,#2EH ;B道绿灯灭黄灯亮

SJMP IT0END

LP3: INC T0CNT ;定时中断次数加1

MOV A,T0CNT

CJNE A,#25,IT0END ;中断未到25次(0.5s)返回

MOV T0CNT,#00H ;到0.5s,基本单元清0

CPL P1.4 ;B道黄灯灭

DJNZ 48H,IT0END

MOV 48H,#02H

DEC SEC_R1

MOV A,SEC_R1

CJNE A,#00H,IT0END ;延时未到3s,返回

MOV P1,#33H ;B道红灯亮,A道绿灯亮

MOV SEC_G2,SEC_G2B

MOV A,SEC_G2B ;给A道红灯重装初值

ADD A,#03H

MOV SEC_R1,A

SJMP IT0END

IT0END: POP ACC

POP PSW

RETI

;键盘处理子程序

KEY_PRG:MOV R5,#100

LCALL DELAY_MS

MOV P1,#33H

MOV P0,#0FFH

MOV A,P0 ;读取键盘端口

JNB ACC.0,K_SET ;按下SET键,转K_SET

JNB ACC.1,K_UP ;按下UP键,转K_UP

JNB ACC.2,K_DOWN ;按下DOWN键,转K_DOWN

SJMP KEY_END ;无键按下,退出

K_SET:INC SETCNT ;SET次数加1

MOV A,SETCNT

CJNE A,#03H,K_SET2 ;SET未到3次,转K_SET2

MOV SETCNT,#00H ;SET到3次,SET次数清0

MOV TH0,#0D8H ;重装T0初值

MOV TL0,#0F0H

MOV T0CNT,#00H ;T0计时单元清0

MOV SEC_G1,SEC_G1A

MOV A,SEC_G1A

ADD A,#3

MOV SEC_R2,A

MOV SEC_G2,SEC_G2B

MOV A,SEC_G2B

ADD A,#3

MOV SEC_R1,A

SETB ET0 ;允许T0中断,并启动

SETB TR0

SJMP KEY_END ;处理完,返回

K_SET2:CLR ET0 ;禁止T0中断,停止T0定时CLR TR0

SJMP KEY_END ;处理完,返回K_UP: MOV A,SETCNT

CJNE A,#01H,UP_SEC ;判断SET次数是否为1

INC SEC_G1A

MOV A,SEC_G1A

CJNE A,#61,KEY_END

MOV SEC_G1A,#00H ;大于60,置0

SJMP KEY_END ;处理完,返回

UP_SEC:CJNE A,#02H,KEY_END ;判断SET次数是否为2 INC SEC_G2B

MOV A,SEC_G2B

CJNE A,#6O,KEY_END

MOV SEC_G2B,#00H ;大于60,置0

SJMP KEY_END ;处理完,返回

K_DOWN:MOV A,SETCNT

CJNE A,#01H,DN_SEC ;判断SET次数是否为1

DEC SEC_G1A

MOV A,SEC_G1A

CJNE A,#0FFH,KEY_END ;未小于0,返回

MOV SEC_G1A,#60 ;小于0 变为60秒

SJMP KEY_END ;处理完,返回

DN_SEC:CJNE A,#02H,KEY_END ;判断SET次数是否为2 DEC SEC_G2B

MOV A,SEC_G2B

CJNE A,#0FFH,KEY_END ;未小于0,返回

MOV SEC_G2B,#60 ;小于0,变为60秒

SJMP KEY_END ;处理完,返回

KEY_END:RET

;延时子程序

DELAY_MS:MOV R4,#64H

MDL: NOP

NOP

NOP

NOP

DJNZ R4,MDL

LCALL DISP

DJNZ R5,DELAY_MS

RET

;时间数据转换子程序

CONVERT: MOV R0,#DISP_BUF ;R0为显示缓冲指针

MOV R1,#31H ;R1为A,B道的计数单元指针

MOV R7,#04H ;R7为循环次数

LCALL CONV

RET

CONVERT1:MOV R0,#DISP_BUF1

MOV R1,#35H

MOV R7,#02H ;R7为循环次数

LCALL CONV

RET

CONV: MOV A,@R1 ;读取时间数据

MOV B,#10 ;拆分为十位个位

DIV AB

MOV @R0,A ;存放十位

INC R0 ;指向下一个单元

MOV A,B

MOV @R0,A ;存放个位,

INC R0 ;指向下一个缓冲单元

INC R1 ;指向下一个存储单元

DJNZ R7,CONV

RET

;显示子程序

DISP: MOV A,SETCNT

CJNE A,#00H,DISP2 ;跳转到设置显示子程序

LCALL CONVERT

JB P1.3,DISP1 ;判断B道红灯,不亮则跳转

MOV R2,#0F7H ;A道第一位数显代码

MOV R0,#DISP_BUF ;R0显示缓冲指针

LCALL DISP_DAT ;跳到显示子程序

RET

DISP1: MOV R2,#0F7H ;A道第一位数显代码

MOV R0,#3CH ;R0显示缓冲指针

LCALL DISP_DAT ;跳到显示子程序

RET

DISP2: LCALL CONVERT1

MOV R2,#0F7H

MOV R0,#40H

LCALL DISP_DAT

RET

DISP_DAT:MOV A,#0FFH

MOV P3,A

MOV A,@R0

MOV DPTR,#SGTR

MOVC A,@A+DPTR

MOV P2,A

MOV A,R2

MOV P3,A

INC R0

MOV A,R2

RR A

MOV R2,A

JB ACC.7,DISP_DAT ;最后一位未显示完转DISP_DA T

RET ;两位显示完,返回

SGTR: DB 3FH,06H,5BH,4FH,66H,6DH

DB 7DH,07H,7FH,6FH

五、心得体会

通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大。

在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。

综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。

由于使用的是单片机作为核心的控制元件,使得电路的可靠性比

较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则效率还不是很高等等,这需要在实践中进一步完善。

当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。

交通灯控制器的设计

交通灯控制器的设计 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

电子设计自动化实训说明书 题目:交通灯控制器的设计 系部:信息与控制工程学院 专业:电子信息工程 班级: 06级1班 学生姓名: 朱清美学号: 015 指导教师:张建军 2009年12月21日 目录 1摘要............................................................... 2设计任务与要求..................................................... 3设计原理及框图..................................................... 4单元电路设计及仿真调试............................................. 状态控制器的设计................................................ 状态译码器设计及仿真调试........................................ 定时系统设计及仿真调试.......................................... 秒脉冲发生器设计................................................ 5个人总结 (14) 6参考文献........................................................... 1摘要: 分析了现代城市交通控制与管理问题的现状,结合城乡交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的城市交通灯控制系统的硬件电路设计方案。关键词:交通控制交通灯时间发生器定时器1 引言随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道

(整理)应用8255A实现交通灯控制设计

二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书 课程名称:微机原理课程设计 班级:电子信息工程2009级6 班学号:200904135150 姓名:张强 指导教师:徐守明 二○一二年二月二十日

前言 随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。 本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。 由于时间仓促和水平所限,本次课程设计难免有欠妥之处,请不吝批评指正。 摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制 关键词:计算机可编程并行接日芯片交通灯 8255A

交通灯模拟控制系统设计

目录 引言............................................. 错误!未定义书签。 1、概述 ......................................... 错误!未定义书签。 1.1、交通灯的发展情况 (3) 2、交通灯模拟控制系统控制方案设计 (3) 2.1、技术控制要求 (4) 2.2、总体方案确定 (5) 2.2.1、方案的原理 (5) 2.2.2、方案的特点 (5) 2.2.3、方案的选择依据 (6) 3、交通灯模拟控制系统控制硬件设计 (6) 3.1、输入点和输出点分配 (6) 3.2、硬件选择 (7) 3.3、硬件连接 (8) 4、交通灯模拟控制系统控制软件设计 ........................ 错误!未定义书签。 4.1、程序流程图 (8) 4.2、梯形图 (9) 5、交通灯模拟控制系统仿真调试 ................................ .....错误!未定义书签。 5.1、系统程序仿真调试 (11) 致谢辞: (14) 总结: (15) 参考文献: (16) 附录: (17) 梯形程序图: (17) 指令程序: (19) 电源图: (21) 电气原理图: .......................................................................................................................... ..22

引言 随着我国经济的飞速发展,城市人口越来越多,居民出行次数和机动车拥有量不断增加,城市道路拥挤、车流量不均衡等问题日趋严重。人们经常会为道路拥挤、交通秩序混乱、出行时间过长等城市交通问题倍感苦恼,例如:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。因此提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫,如何才能保持城市交通的安全便捷、高效畅通和绿色环保,已成为政府政策规划的一个重点问题。 通过对十字路口交通灯控制系统的设计与制作,使我们进一步巩固和加深了对所学的基础理论、基本技能和专业知识的认识掌握。同时也培养自身综合运用所学过的基础理论、基础知识和基本技能进行分析和解决实际问题的能力,更使我们受到了PLC系统开发的综合训练,从而能够使我们进行PLC系统设计和实施,并且掌握典型自动控制系统的工作原理和设计思路。更重要的是:通过对十字路口交通灯系统的每个环节的实际制作,锻炼了自身的刻苦钻研、勇于探索、实事求是、善于与他人合作的工作作风,这为我们将来的上岗实习做好了充分的准备。 1、概述 近年来,随着大规模集成电路的发展,以微处理器为核心的可编程控制器(PLC)得到了迅猛的发展。早期的PLC主要用于顺序控制,今天的PLC已经能够应用于闭环控制、运动控制以及复杂的分布式控制系统,已逐步发展成为有一类解决自动化问题的有效而便捷的方式。由于PLC自身具有功能完善、结构模块化、开发容易、操作方便、性能稳定、可靠性高、性价比高、等优点,因而在工业生产中具有广阔的应用前景,并被誉为现代工业生产自动化的三大支柱之一。而且随着集成电路的发展和网络时代的到来,PLC必将能够获得更大的发展空间。PLC主体由三部分组成,主要包括中央处理器CPU、存储系统和输入、输出接口。PLC基本结构如图1-1所示:

交通灯控制模拟程序

交通灯控制模拟程序设计 ;*************定义数据段*********************************************** data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ;数据保存区 yellow db ? ;黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ;************************主程序段********************************************** data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ;初始化标题 q0: call mode1 ;模式选择自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间

基于AT89c51单片机实现的交通灯

江西科技师范大学 通信与电子学院《单片机应用技术》实训报告实训题目:模拟交通灯 小组成员:龚石冲罗仁敏曾建伟 班级:12电子科学与技术 指导老师:熊朝松

一、实训选题内容、要求 交通模拟灯 要求: 1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒; 支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒; 2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化; 3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向 长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常 通行。 二、实训计划和人员安排 经小组人员商定,分工完成任务,在课余时间完成。 若其中遇到什么问题,大家聚在一起讨论解决。具体分工如下: 1、程序编写:龚石冲 2、实体焊接:龚石冲 3、实训报告:罗仁敏 4、视频及PPT:曾建伟 三、实训选题分析 交通灯由东西南北四向灯,倒计时显示,人行横道通行指示标志等部分组成。其中东西南北四向灯中的每一向都由红、黄、绿三色灯组成;东西为一组,南北为一组。黄灯在红绿灯之间转换时亮。倒计时显示表示红、黄、绿灯亮时所剩时间。由于人行横道通行指示标志与红灯是同步的,所以在模拟交通灯时省略。交通会遇到一些突发情况。因此交通信号灯要设定一些特定功能,以防不时之需。

整个电路由单片机完成,控制部分由软件完成,硬件只负责响应。 四、方案设计 方案一:主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。由按键开关完成禁止通行,东西 通行,南北通行。

基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图)

课程设计任务书 专业计算机科学与技术 班级09计(嵌入式系统方向)姓名江海洋 学号0905101072 指导教师刘钰 金陵科技学院教务处制

摘要 本文介绍了一个基于MCS-51及PROTEUS的十字路口交通灯控制系统的设计与仿真,通过对现实路况交通灯的分析研究,理解交通控制系统的实现方法。 十字路口交通灯控制系统通常要实现自动控制和在紧急情况下禁止普通车辆,而让紧急车辆优先通行。本文还对MCS-51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计进行了详细的分析。最后介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用Proteus 软件对交通灯控制系统进行了仿真,仿真结果表明系统工作性能良好。 关键字:单片机,proteus仿真,中断,十字路口交通灯控制系统

前言 1,十字路口的交通控制系统指挥着人和各种车辆的安全运行,对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。交通灯信号灯的出现是人类历史上的一次重大改革,使人类的聚居生活,产生了深远的影响。使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 2,此十字路口交通灯控制系统,分东西道和南北道,设东西道为A道,南北道为B 道。规定:A道放行时间为2分钟,B道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。 3,应用单片机实现对交通灯的控制,在十字路口用红,黄,绿的指示灯,加上四个以倒计时显示的数码管来控制交通。考虑到紧急车辆,设计紧急车辆开关。

模拟交通灯控制系统设计

贵州师范学院 电子课程设计报告书 班级11级1班 学生姓名王旭东 学号11030540094 专业电子信息科学与技术 院系物电学院 2014年6 月20 日

摘要 随着城市人口的快速增长和机动车数量的大量增加,城市交通灯作为缓解交通压力、提高道路通行效率的重要手段,其作用越来越重要。因此,如何改进交通灯的设计,使其更好的适应城市交通的发展也成为一个重要课题。红绿灯控制系统是利用8253A定时/计数器芯片的定时功能,向8259A中断控制器芯片发出定时中断请求,驱动8255A可编程并行接口芯片改变路口的LED灯的亮灭。系统采用DVCC-598JH+微机原理与接口技术实验箱作为测试与运行的平台,8086汇编语言作为编程语言,并用MASM5.0作为汇编语言开发环境。 关键词:红绿灯控制系统 8253A定时器 8259A中断控制器 8255A可编程并行接口 DVCC-598JH+ 目录 摘要 (201) 1.十字路口基本情况分析 (201) 2.交通灯状态转换分析.............................. III 3.紧急通行情况分析 (5) 4.硬件功能分析 (6) 4.1 8253A定时/计数器芯片 (6) 4.2 8259A中断控制器芯片 (7) 4.3 8255A可编程并行接口芯片 (9) 5.系统设计 (10) 5.1硬件设计 (10)

5.1.1 电路分析 (10) 5.1.2 电路连接设计 (10) 5.2软件设计 (12) 5.2.1 程序总体设计 (12) 5.2.2 程序流程设计 (13) 5.2.3 重要代码分析................................ XII 6.系统实现...................................... XVII 6.1 软件开发与运行环境 .. (10) 6.2 系统硬件环境 (20) 6.3 系统运行步骤 (20) 6.4 系统测试结果 (20) 参考文献 (21) 心得体会 (22) 1 十字路口基本情况分析 设有一个十字路口,1、3为东西方向,2、4为南北方向,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。

基于FPGA下的交通灯控制器设计

引言 随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。 现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。 城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。

第一章软件介绍 1.1 QuartusⅡ介绍 本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。在做交通灯控制器设计时选择的编程语言是VHDL语言。 在这里简单的介绍一下QuartusⅡ的基本部分。图1-1-1是一幅启动界面的图片。在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。 图 1-1-1 启动界面 开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。

AT89C52单片机控制交通灯系统

目录 1 交通信号灯控制系统设计任务和性能指标 (1) 1.1 设计任务 (1) 1.2 性能指标 (1) 2 交通信号灯控制系统设计方案 (1) 2.1 设计思路 (1) 2.1.1 设计思路 (1) 2.1.2 功能设计 (2) 2.2 总体设计 (2) 2.2.1 通行方案设计 (2) 2.2.2 硬件设计方案 (4) 2.2.3 软件设计方案 (4) 3 交通信号灯控制系统硬件设计 (5) 3.1 系统硬件框图 (5) 3.2 单元电路设计 (5) 3.2.1 单片机最小系统 (5) 3.2.2 信号灯显示电路 (7) 3.2.3 倒计时显示电路 (8) 3.2.4 按键操作电路 (8) 4 交通信号灯控制系统程序设计 (8) 4.1 理论基础知识 (8) 4.1.1 定时器原理 (8) 4.1.2 软件延时原理 (9) 4.1.3 中断原理 (9) 4.2 主程序框图 (9) 5 调试分析及所用器件 (10) 5.1 调试环境 (10) 5.2 所用芯片 (11) 6 心得体会 (11) 7 参考文献 (12) 8 附录 (13) 附件1 程序清单 (13) 附件2 系统仿真图 (16)

摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。 软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 关键字:AT89C52 交通灯PROTUES 中断程序

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

PLC实验报告 实验三十字路口交通灯控制模拟 一、实验目的 1、掌握可编程控制器的工作原理。 2、通过动手接线,提高学生的实际动手能力以及加强对PLC基本结构的了解。 3、通过实验,,加强学生对PLC逻辑顺序编程的理解,使学生能够熟练应用PLC 定时器,以及PLC的基本辅助继电器 二、实验内容 十字路口南北方向和东西方向均设有红、黄、绿三只信号灯,交通灯启动时,6 只信号灯依一定的时序循环往复工作。交通信号灯的时序图如下图所示。

图1 整个交通灯系统至少要设置有启动键,停止键以及复位键。启动键启动系统按照上面时序开始运行;停止键停止系统,6个信号灯全部熄灭;复位键复位系统,此时无论系统处于什么状态,复位后系统重新开始运行。 本实验是一个简单时序的顺序控制实验,关键是要将交通灯状态变化的时间点标记出来。分析时序图,找出交通灯状态发生变化的每个时间点,并使PLC 做出相应的动作改变交通灯的状态。 三.实验I/O端口分配 1.输入端口 2.输出端口

四.硬件接线图 24V PLC 南北红灯南北绿灯南北黄灯东西红灯东西绿灯东西黄灯 五.实验梯型图及程序简介

六.系统使用说明书 1.按下启动键SB1,常开接点X000闭合,继电器M0闭合并进行自锁,定时器T0 T1 开始计时,首先东西方向红灯Y27亮,南北方向绿灯Y6亮,南北方向通行。 2.定时器T1计满13秒时,南北方向黄灯Y6开始闪亮,黄灯闪亮时间为2秒 3.定时器T3和T4形成一个分频电路,周期为1秒,占空比为50%,用这样一个矩形波去控制黄灯的闪亮 4.T0 计满15秒时,南北方向红灯Y17亮,东西方向绿灯Y4亮,其他灯灭,东西方向通行。 5.定时器T1计满13秒时,东西方向黄灯Y5开始闪亮,黄灯闪亮时间为2秒,闪亮原理同上。然后循环重复上述过程。 6.当停止按钮SB2,继电器M0失电,此时所有的输出灯都将熄灭,程序停止运行。 7.无论何时当复位按钮SB3按下时,定时器T0 T1将复位,程序重头开始运行。 七.实验小结 大二做过智能交通灯的程序设计,也是用的梯形图语言,然而到现在却大抵忘却了。 通过老师及书本上一些知识的介绍,我们组又重新了解了PLC 的相关知识及梯形图语言,经过一番理解与全局的设计,但是在实验

交通灯信号控制器仿真设计

交通灯信号控制器仿真设计 08机电2班 张丽云 0811116041 1.前言 城市十字交叉路口为确保车辆、行人安全有序地通过,都设有指挥信号灯。交通信号灯的出现,使交通得以有效地管制,对于疏导交通、减少交通事故有明显的效果。现有2条主干道汇合点形成十字交叉口,为确保车辆安全、迅速的通行,在交叉路口的每条道上设置一组交通灯,交通灯由红、黄、绿3色组成。红灯亮表示此通道禁止车辆通过路口;黄灯亮表示此通道未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯亮表示该通道车辆可以通行。要求设计一交通灯控制电路以控制十字路口两组交通灯的状态转换,指挥车 由表1可以得出信号灯状态的逻辑表达式: A G =n Q 1n Q 0 A Y =n Q 1n Q 0 A R =n Q 1

B G =n Q 1n Q 0 B Y =n Q 1n Q 0 B R =n Q 1 由特性方程: 10+n Q = n Q 1n Q 0+n Q 1n Q 0 11+n Q = n Q 1n Q 0+n Q 1n Q 0 1+n Q = J n Q +K n Q 可得 0J =n Q 1,0K =n Q 1;1J =n Q 0,1K =n Q 0 要实现45s 的倒计时,需选用两个74190芯片级联成一个从99到00的计数器,其中作为个位数的74190芯片的CLK 接秒脉冲发生器,再把个位数74190芯片输出端A Q 、D Q 用一个与门连起来,再接在十位数74190芯片的CLK 端。当个位数减到0时,再减1就会变成9,0(0000)和9(1001)之间的A Q 、D Q 同时由0变为1,把A Q 、D Q 与起来接在十

模拟交通灯控制代码

//功能:模拟交通灯控制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 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; // 启动T1 while(!TF1); // 查询计数是否溢出,即定时50ms时间到,TF1=1 TF1=0; // 50ms定时时间到,将定时器溢出标志位TF1清零 } } //函数名:delay_t1 //函数功能:实现0~127.5秒的延时 //形式参数:unsigned char t;

基于AT89C51的交通灯控制系统设计

基于AT89C51的交通灯控制系统 作品设计、发明的目的和基本思路 随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。 目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。 本系统是以AT89C51单片机作为控制系统的核心,模拟定周期交通信号灯的工作状态。并采用PROTEUS进行仿真,仿真结果满足预期性能要求。 设计内容和要求: 利用AT89C51单片机设计一十字路口交通灯控制系统。 1:系统由单片机系统、数码管显示、交通灯演示系统组成。 2:具有人行道、左转、右转,以及基本的交通灯的功能。 3:具有数码管倒计时功能。 4:要求甲乙车道的车辆交替运行,每次通行为60秒。为绿灯的车道先显示40秒的直行,再显示20秒的左行。 5:要求黄灯先亮四秒,才能变换车道,黄灯亮时要求闪亮。 硬件设计 控制流程分析: (1)从十字路口交通灯示意图1分析可知:东西、南北方向信号灯控制是中心对称的,即无论是主干道还是支干道两侧系统对同方向的信号灯控制是同步的。 (2)从示意图分析可知,人行道各个方向,系统对两侧的信号灯的控制也是同步的,且人行道的红绿灯变化和行车道的红绿灯变化应该是一致的。 (3)通过上面的分析,可以采用单片机的p0-p3口及r0到r7寄存器配合来实现控制发光二极管灯和数码管。 系统的硬件设计 本系统选用通过P0到p3口用做输出显示控制口。P0口用作输出南北方向led数码管字符编码,P1口用作输出东西方向led数码管字符编码。P2 口用于输出东西、南北方面LED 数码管的位选信号,以及各个人行道发光二极管的控制信号的输出。P3口用于输出东西、南北方向信号灯控制信号。 LED数码管采用动态显示方式实现倒计时读秒,并且本系统的了led采用的是LED的

交通灯控制系统

*****大学 信息与电气工程学院 《课程设计报告》 题目:交通灯控制系统设计 专业:通信工程 班级:通信一班 姓名:** 学号:******** 指导教师:************ 2015年 1 月 10 日

信息与电气工程学院 课程设计任务书 20 —20 学年第学期 专业:通信工程班级:通信一班学号:姓名: 课程设计名称:微机原理与接口技术 设计题目:交通灯控制系统设计 完成期限:自2014 年12 月29日至2015 年1 月9 日共 2 周 设计依据: 交通灯在我们的日常生活中很常见,现代化城市交通中交通灯已成为城市不可或缺的一部分。基于微处理器的交通灯控制系统成为主要设计方法。采用微处理器结合外围芯片,通过软件编程方式即可实现对交通灯的控制。 设计内容及要求: 采用8086/8088控制器和8位并行接口芯片8255设计实现交通灯控制系统,编写软件程序并采用Protel软件或其它软件绘出硬件电路图和PCB板图。 基本要求: (1) 初始状态为全红灯,等待5秒,LED显示倒计时,然后东、西方向亮红灯,南、北 方向亮绿灯,时间为10秒,LED显示倒计时;转为南、北方向绿灯闪3秒,然后转为黄灯3秒,LED显示倒计时;再转为东、西方向绿灯,南、北方向红灯,时间为10秒LED显示倒计时;然后再转为东、西方向绿灯闪3秒,再转为黄灯3秒;再次转为东、西方向红灯,南、北方向绿灯。最后照此循环。 (2) 采用Protel软件绘制硬件电路图。 提高要求: (1)如果发生突发情况,如实施救护让道情况,要求东西或南北方向长时间红灯,应如 何处理?请给出设计方案。 (2) 采用Protel软件绘制PCB板图。 指导教师(签字): 批准日期:年月日

at89c51单片机_交通灯控制系统(含源码及仿真图).

模拟交通灯设计报告 题目交通信号灯控制系统 团队研发区第二组 完成时间2011-11-31 贵州民族学院开放实验室

` 目录 一、项目名称 (1) 二、选题背景 (1) 2.1 课题背景 (1) 2.2 交通灯的历史 (1) 三、单片机简介 (2) 3.1 单片机的发展历程 (2) 3.2 单片机的特点: (3) 3.3 AT89C52单片机简介 (4) 四、设计基本要求和步骤 (5) 4.1 基本要求 (5) 4.2 设计步骤 (6) 五、硬件和软件设计 (6) 5.1 硬件电路图 (6) 5.2 程序流程图 (8) 主程序 (8) 运行过程 (9) LED显示程序 (10) T0中断 (11) INT0中断 (11) 5.3 P0、P1口显示状态编码表 (12) 5.4 程序源代码 (12) 5.5 程序运行效果图 (21) 六、心得体会 (22) 七、参考文献.............................................................................. 错误!未定义书签。

模拟交通灯设计报告 一、项目名称 十字路口交通信号灯控制系统 二、选题背景 2.1 课题背景 由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 2.2 交通灯的历史 1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街

基于PLC的交通灯控制系统

永州职业技术学院 课 程 设 计 课程名称: PLC的原理与应用 题目:基于PLC的交通灯控制系统系、专业:电气自动化 年级、班级 07级电子大专班 学生姓名:秦志斌 指导老师:李明老师 时间: 2009.12.28—2010.1.4

目录 摘要 (3) 一、系统总体方案设计 (3) 1.1 系统设计任务要求 (3) 1.2 系统总框图 (4) 1.3 系统工作原理 (4) 1.4 方案论证与比较 (4) 1.4.1 PLC控制交通灯 (4) 1.4.2 FPGA控制方式 (5) 1.4.3 单片机8255扩展方式 (6) 1.4.4单片机74LS164扩展方式 (6) 二、硬件设计 (7) 2.1 PLC简介 (7) 2.2 红绿灯显示电路设计 (8) 2.3 倒计时电路 (9) 2.4 报警提示电路 (9) 三、软件设计 (10) 3.1程序设计思想 (10) 3.2系统程序流程图 (10) 3.3 PLC梯形图编程优点 (11) 四、系统调试与仿真 (11) 五、心得体会 (12) 参考文献 (13) 附录1整机原理图 (14) 附录2本交通灯设计系统源程序 (14)

摘要:本文论述了基于PLC的交通灯模拟控制系统, 该系统根据实际公路交通灯情况进行东西和南北方向的切换控制,通过数码管显示和箭头指示来指挥车辆的轮流流通,采用高亮度数码管和发光二极管模拟交通灯的实际情况。该系统具有贴近生活、实用性强、操作简单、扩展性好等特点。 关键词:PLC; 交通灯; 模拟控制 一、系统总体方案设计 1.1系统设计任务要求 1.1.1任务 设计并制作一个能对东、西、南、北方向进行控制和显示的一个自动化交通灯系统。 1.1.2要求 (1)基本要求 ①控制功能:能分别对东、西、南、北四个方向进行合理的控制,其中向右转要求能够一直通行; ②显示功能:能实现显示当前倒数的时间。采用七段LED数码管来显示; ③报警功能:当其中某个方向的灯坏了或者某个线路有问题时,能够及时报警。 (2)发挥部分 ①能实时测定车辆的数量; ②能根据车辆的数量合理变更不同的通行方案; ③其他功能。 1.2 系统总框图

交通灯控制模拟程序

交通灯控制模拟程序设计 data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ; 数据保存区 yellow db ? ; 黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ?************************ J data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ; 初始化标题 q0: call mode1 ; 模式选择 自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间 ?************* 定义数据段 *********************************************** 主程序段 **********************************************

基于AT89C51单片机的十字路口交通灯设计

51单片机应用实训报告 课程名称51单片机应用 实训题目十字路口交通信号灯 系别机电技术系 专业班级机电1401 学号 姓名

基于AT89C52RC单片机的十字路口交通灯设计 1 设计目的和方案 1.1设计目的 近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。现代社会有越来越多的人开始有了自己的私家车,同时,便有了交通拥挤的问题,如何在车流量巨大的十字路口保证车辆畅行,交通灯便起到了巨大的作用。实际上,1858年,英国伦敦就有了最早的然煤气交通灯,至今,交通灯已经普及到世界各地,成为社会生活中不可或缺的装置。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 1.2设计方案 设计方案如表1所示。 表1设计方案 55s 5s 55s 5s 南北道红灯亮红灯亮绿灯亮黄灯亮....... 东西道绿灯亮黄灯亮红灯亮红灯亮....... 1.4设计任务 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。红灯的设计时间为60秒,绿灯及左转绿灯各为55秒。黄灯为闪烁5秒。 2功能 该电子产品实现的功能:本系统除基本交通灯功能以外,还有倒计时等功能,较好的模拟了十字路口出现的状况。 具体功能如下: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,

交通灯的模拟控制系统设计

摘要 本次设计是对交通灯的模拟控制系统的设计,总体分为两部分:一、硬件部分。对于硬件部分主要工作是选型部分,我的本次设计是交通灯,所以硬件选型主要有AT89C51、红绿灯显示器、及数码管显示器。二、软件部分。根据设计要求,所以将软件部分分成了几个模块:主体程序实现基本的循环,即主干道绿灯亮60S,黄灯5S;支干道绿灯亮40S黄灯5S;子程序有计时到一秒子程序、中断子程序(全为红灯、南北通行、东西通行、重新定时等)。将上面个部分逐一实现后,然后就是硬件部分连接问题。根据AT89C51单片机个端口的特点,将选好的部件有效地与它连接起来。最后将编好的汇编程序转换为HEX 文件导入到单片机内,进行仿真。经过反复修改及指导老师指导后,可以实现仿真。 关键词:交通灯;硬件部分;软件部分 - 1 -

Abstract The designer to the traffic light simulation, the design of the control system of general divided into two parts: one, the hardware part. For hardware part of the main work is part of the selection, I this design is the traffic lights, so hardware selection mainly AT89C51, red street light display, digital tube display level. Second, software parts. According to the design requirements, so will be divided into several modules of software: subject to basic program of circulation, that is a green light to main 60 S, yellow light 5 S; A trunk road a green light yellow light 40 S, yellow light 5 S; The son to a second time program has a subroutine, interrupt subroutine (total for the red light, north and south, traffic to pass something, timing, etc.). Will above a part one by one to achieve, and then the hardware part is linking problem. According to the characteristics of a port AT89C51 single-chip microcomputer, taking good parts effectively with it together. Finally will be programmed the assembler program into: into single chip inside, files are simulated. After repeated modifying and guiding teacher, can achieve after simulation. Key words:The traffic lights; Hardware parts;Software part - 2 -

相关文档
相关文档 最新文档