自动控制交通灯C语言程序

自动控制交通灯C语言程序
自动控制交通灯C语言程序

#include

#define uchar unsigned char

#define uint unsigned int

const uchar SMG[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6F}; uchar NUM,SIGN=10,TIM,TIM2;

bit FLAG,FLAG2;

sbit hong_D=P1^0;

sbit lv_D=P1^1;

sbit huang_D=P1^2;

sbit hong_B=P1^3;

sbit lv_B=P1^4;

sbit huang_B=P1^5;

sbit BEEP=P3^4;

sbit EN1=P2^3;

sbit DIG1=P2^6;

sbit DIG2=P2^7;

sbit EN2=P2^2;

sbit DIG3=P2^4;

sbit DIG4=P2^5;

sbit KEY1=P3^0;

sbit KEY2=P3^1;

sbit KEY3=P3^2;

sbit KEY4=P3^3;

sbit KEY5=P2^0;

sbit KEY6=P2^1;

void keyscan();

uint M,N;

void delay(uint n)

{

uint x,y;

for(x=n;x>0;x--)

for(y=110;y>0;y--); }

void seg1(uint x)

{

DIG1=0;

P0=SMG[x/10];

delay(1);

DIG1=1;

P0=0X00;

DIG2=0;

P0=SMG[x%10];

delay(1);

DIG2=1;

P0=0X00;

}

void seg2(uint x)

DIG3=0;

P0=SMG[x/10];

delay(1);

DIG3=1;

P0=0X00;

DIG4=0;

P0=SMG[x%10];

delay(1);

DIG4=1;

P0=0X00;

}

void init()

{

P1=0X00;

TIM=SIGN;

}

void INT()

{

EA=1;

TMOD=0X01;

TR0=1;

ET0=1;

TH0=0X3C;

TL0=0X2B;

}

void UINT()

EA=0;

TMOD=0X00;

TR0=0;

ET0=0;

TH0=0X00;

TL0=0X00;

}

void T1_INIT()

{

EA=1;

TMOD=0X10;

TR1=1;

ET1=1;

TH1=(65535-50000)%255;

TL1=(65535-50000)/255; }

void UT1_INIT()

{

EA=0;

TMOD=0X00;

TR1=0;

ET1=0;

TH1=0;

TL1=0;

}

void erro()

hong_D=0;

lv_D=1;

huang_D=1;

hong_B=0;

lv_B=1;

huang_B=1;

BEEP=0;

P0=0x00;

while(KEY5!=0);

delay(5);

while(KEY5==0);

BEEP=1;

delay(5);

}

void night()

{

hong_D=1;

lv_D=1;

hong_B=1;

lv_B=1;

while(1)

{

if(FLAG2)

{

huang_D=0;

huang_B=0;

}

else

{

huang_D=1;

huang_B=1;

}

if(KEY6==0)

{

delay(5);

while(KEY6==0);

delay(5);

break;

}

}

}

void keyscan()

{

if(KEY3==0)

{

delay(5);

UINT();

while(KEY3==0);

delay(5);

if(TIM<4)

{

TIM=SIGN;

}

SIGN=TIM;

while(1)

{

if(KEY1==0)

delay(5);

while(KEY1==0)

{

seg1(TIM);

seg2(TIM-3);

}

delay(5);

TIM++;

if(TIM>99)

{

TIM=4;

}

SIGN=TIM;

}

if(KEY2==0)

{

delay(5);

while(KEY2==0)

{

seg1(TIM);

seg2(TIM-3);

}

delay(5);

TIM--;

if(TIM<4)

{

TIM=99;

}

SIGN=TIM;

if(KEY4==0)

{

delay(5);

while(KEY1==0);

delay(5);

INT();

break;

}

seg1(TIM);

seg2(TIM-3);

}

}

if(KEY5==0)

{

delay(5);

UINT();

while(KEY5==0);

delay(5);

erro();

INT();

}

if(KEY6==0)

{

delay(5);

UINT();

T1_INIT();

while(KEY6==0);

delay(5);

night();

UT1_INIT();

INT();

}

}

void main()

{

init();

delay(3000);

FLAG=1;

INT();

while(1)

{

if(TIM>3)

{

lv_D=FLAG;

huang_D=1;

hong_D=!FLAG;

lv_B=!FLAG;

huang_B=1;

hong_B=FLAG;

if(FLAG)

{

seg1(TIM);

seg2(TIM-3);

}

else

{

seg1(TIM-3);

seg2(TIM);

}

}

if(TIM<4)

{

lv_D=1;

huang_D=FLAG;

hong_D=!FLAG;

lv_B=1;

huang_B=!FLAG;

hong_B=FLAG;

seg1(TIM);

seg2(TIM);

}

keyscan();

}

}

void time0() interrupt 1

{

TL0=0XB0;

TH0=0X3C;

NUM++;

if(NUM==20)

{

NUM=0;

TIM--;

if(TIM==0)

{

TIM=SIGN;

FLAG=!FLAG;

}

}

}

void time1() interrupt 3

{

TH1=0x3c;

TL1=0x2b;

TIM2++;

if(TIM2==10)

{

TIM2=0;

FLAG2=!FLAG2;

}

}

互相学习可以加QQ:842592293

C语言版交通灯课程设计

微机控制课程设计报告 课程名称基于C语言单片机交通灯 学生姓名张万双 学号51102022004 专业班级电子信息科学与技术2班 指导老师 2013年12月5日

目录 一.前言 (3) 二.功能概述 (3) 三.设计思路 (4) 四.硬件介绍 (4) 五.软件程序设计 (9) 六.电路图及仿真实现 (12) 七.总结 (14) 八.源程序 (15) 九.参考文献 (18)

一.前言 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。二.功能概述 2.1 设计任务:交通灯的硬件和软件设计 2.2 设计目的 1.进一步熟悉和掌握单片机的结构和工作原理。 2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。 4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。

三.设计思路 交通灯的变化规律 按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(25S)转换状态2,南北方向绿灯闪几次转亮黄灯,延时5S,东西方向仍然红灯。再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。四.硬件介绍 基础知识 交通灯控制器实例主要使用了89C51 单片机的定时器/计数器,基础知识主要包括交通灯的变化规律、定时器/计数器的概念、定时器/计数器的相关寄存器、定时器/计数器的4 种工作方式、以及定时器/计数器的变成。 4.1 定时器/计数器 定时器/计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。 首先介绍交通灯以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。

智能交通信号灯控制系统设计

编号: 毕业论文(设计) 题目智能交通信号灯控制系统设计 指导教师xxx 学生姓名杨红宇 学号201321501077 专业交通运输 教学单位德州学院汽车工程系(盖章) 二O一五年五月十日

德州学院毕业论文(设计)中期检查表

目 录 1 绪论............................................................................................................................ 1 1.1交通信号灯简介...................................................................................................... 1 1.1.1 交通信号灯概述.................................................................................................. 1 1.1. 2 交通信号灯的发展现状...................................................................................... 1 1.2 本课题研究的背景、目的和意义 ......................................................................... 1 1. 3 国内外的研究现状 ................................................................................................. 1 2 智能交通信号灯系统总设计.................................................................................... 2 2.1 单片机智能交通信号灯通行方案设计 ................................................................. 2 2.2 功能要求 ............................................................................... 错误!未定义书签。 3 系统硬件组成............................................................................................................ 4 4 系统软件程序设计.................................................................................................... 5 5 结论和展望................................................................................................................ 6 参考文献...................................................................................... 错误!未定义书签。 杨红宇 要: 但是传统的交通信号灯不已经不能满足于现代日益增长的交通压力,这些缺点体现在:红绿 以及车流量检测装置来实现交通信号灯的自控制,随着车流量来改变红绿灯1 绪论 1.1 1.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 ;设置黄灯时间

基于PLC的智能交通灯控制系统设计 开题报告

南京师范大学中北学院
毕业设计(论文)开题报告
( 10 届)
题 目: 基于 PLC 智能交通灯控制系统设计
专 业: 电气工程及其自动化
姓 名: xxx 学 号: xxx
指导教师: xxx 职 称:
填写日期:
2014 年 2 月 20 日
南京师范大学中北学院教务处 制
开题报告填写要求
1.开题报告作为毕业设计(论文)答辩委员会对学生答辩资格

审查的依据材料之一。此报告应在指导教师指导下,由学生在毕业 设计(论文)工作前期内完成,经指导教师签署意见及院、系审查 后生效;
2.开题报告内容必须用黑墨水笔工整书写或按教务处统一设计 的电子文档标准格式(可从教务处网址上下载)打印,禁止打印在 其它纸上后剪贴,完成后应及时交给指导教师签署意见;
3.有关年月日等日期的填写,应当按照国标 GB/T 7408—94《数 据元和交换格式、信息交换、日期和时间表示法》规定的要求,一 律用阿拉伯数字书写。如“2011 年 4 月 26 日”或“2011-04-26”。
4.院系审查意见栏签章:自办专业盖中北学院教学院长签名章、 中北学院公章,非自办专业盖联办二级学院教学院长签名章、联办 二级学院公章。

毕 业 设 计(论 文)开 题 报 告
1.本课题的目的及研究意义:
随着我国交通事业的迅速发展,各种公交、运输汽车、私家车等车的急速增加,使 得城市道路交通日益堵塞,交通在许多城市已经成为“瓶颈”问题。因此,提高城市路 网的通行能力、实现道路交通的科学化管理迫在眉睫。
虽然各城市已在十字路口设置了交通灯,对交通进行了有效的疏通,但是随着社会、 经济的快速发展,原先的交通灯控制系统已经不能适应现在日益繁忙的交通状况。如何 改善交通灯控制系统,使其适应现在的交通状况,成为研究的课题。
传统的十字路口交通控制灯,通常的做法是:事先进行车流量的调查,运用统计的 方法将两个方向红绿灯的延时预先设置好。然而,实际上车辆流量的变化往往是不确定 的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、较适用的 方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等 候通过。可见,统计的方法已不能适应迅猛发展的交通现状,更为现实的需要是:能有 一种能够根据车流量变化适时调节的交通灯控制系统。
我所要研究的就是基于 PLC 的智能交通灯控制系统。智能交通系统(ITS—— Intelligent Transport Systems)ITS 是一个跨学科、信息化、系统化的综合研究体系, 其主要内容是:将先进的人工智能技术、自动控制技术、计算机技术、信息与通讯技术 及电子传感技术等有效的集成,并应用于整个地面交通管理系统而建立的一种在大范围 内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统。由于交通系统具 有较强的非线性、模糊性和不确定性,是一个典型的分布式非线性系统,而且具有多种 信息来源、多传感器的特点,用传统的理论与方法很难对其进行有效的控制。把先进的 智能控制技术、信息融合技术、智能信息处理技术与交通管理技术结合起来,代表着城 市交通信号控制系统发展的方向。
智能交通的发展是现代社会经济发展的客观要求,交通运输是国民经济和现代社会 发展的基础。由于现代社会城市化速度越来越快、国民经济的高速增长、全球经济的一 体化进程加快、个人旅行与休闲时间的不断增加以及人们对交通需求越来越高,智能交 通便成为现代社会经济发展的客观要求。

交通灯控制系统

1选题背景 今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。 关键词:AT89C51;7448,LED 2方案论证 2.1设计任务 设计基于单片机的智能交通红绿灯控制系统,要求能通过按键或遥控器设置系统参数,系统运行时,“倒计时等信息”能通过数码管或点阵发光管显示,设计时应考虑交通红绿灯控制的易操作性及智能性。以单片机的最小系统为基础设计硬件,用汇编语言、或C语言设计软件。通过本设计可以培养学生分析问题和解决问题的能力,掌握Mcs51单片机的硬件与软件设计方法,从而将学到的理论知识应用于实践中,为将来走向社会奠定良好的基础。 东西(A)、南北(B)两干道交于一个十字路口,各干道有一组红、黄、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯亮时车辆及行人小心通过。红灯的设计时间为45秒,绿灯为40秒,黄灯为5秒。 2.2 方案介绍 方案1设计思想: 采用分模块设计的思想,程序设计实现的基本思想是一个计数器,选择一个单片机,其内部为一个计数,是十六进制计数器,模块化后,通过设置或程序清除来实现状 态的转换,由于每一个模块的计数多不是相同,这里的各模块是以预置数和计数器计 数共同来实现的,所以要考虑增加一个置数模块,其主要功能细分为,对不同的状态输 入要产生相应状态的下一个状态的预置数,如图中A道和B道,分别为次干道的置数选 择和主干道的置数选择。 方案2 设计思想: 由两个传感器监视南北方向即A道与东西方向即B道的车辆来往情况,设开关K=1 为有车通过,K=0为没有车通过。则有以下四种情况: Ka=1时:Kb=0,表示A有车B没有车,则仅通行B道:

51单片机用C语言实现交通灯(红绿灯)源程序

51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。源程序如下: /* 1、程序目的:使用定时器学习倒计时红绿灯原理主要程序和倒计时一样 2、硬件要求:数码管、晶振12M */ #include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志 code unsigned char tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 unsigned char Dis_Shiwei;//定义十位 unsigned char Dis_Gewei; //定义个位 void delay(unsigned int cnt) //用于动态扫描数码管的延时程序 { while(--cnt); } main() { TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器 TH0=0xd8; //65535-10000=55535=D8F0(十六进制) TL0=0xf0; IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //开定时器0中断 P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。 red =1; while(1) { P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位 P2=0; delay(300);//短暂延时 P0=Dis_Gewei; //显示个位,左数,2位 P2=1; delay(300);

单片机设计方案——交通灯控制系统设计方案

单片机课程设计报告交通灯控制系统设计

摘要 本设计是针对交通灯系统的设计,由单片机AT89C51(实物用AT89S52)、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。AT89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。 本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。 对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 25秒,B道放行20秒。一道有车而另一道无车,交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。绿灯转换为红灯时黄灯亮 1秒钟。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

目录 1引言.......................................................................................................................................... - 1 - 1.1交通灯的重要作用........................................................................................................... - 1 -1.2该交通灯系统的特点....................................................................................................... - 1 -2系统总体方案及硬件设计 ......................................................................................................... - 2 - 2.1原理框图........................................................................................................................... - 2 -2.2设计功能........................................................................................................................... - 2 - 2.3交通灯控制系统各部分硬件组成................................................................................... - 2 - 2.3.1复位部分.................................................................................................................... - 2 - 2.3.2时钟电路部分............................................................................................................ - 3 - 2.3.3路口指示灯部分........................................................................................................ - 3 - 2.3.4显示部分.................................................................................................................... - 3 -2.4元器件清单....................................................................................................................... - 4 -3软件设计..................................................................................................................................... - 5 - 3.1交通灯控制系统软件流程图及程序分析....................................................................... - 5 - 3.1.1主程序流程图及程序模设计.................................................................................... - 5 - 3.1.2INT0中断服务程序流程图及程序模设计.............................................................. - 6 -3.2路口指示灯部分............................................................................................................... - 7 - 3.3显示部分........................................................................................................................... - 7 - 4. Proteus软件仿真 ..................................................................................................................... - 8 - 5 课程设计体会......................................................................................................................... - 10 -参考文献....................................................................................................................................... - 10 -附1:源程序代码 (13) 附2:系统原理图 (20)

交通灯控制模拟程序

交通灯控制模拟程序设计 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 ;设置黄灯时间 ?************* 定义数据段 *********************************************** 主程序段 **********************************************

自动控制交通灯C语言程序

#include #define uchar unsigned char #define uint unsigned int const uchar SMG[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6F}; uchar NUM,SIGN=10,TIM,TIM2; bit FLAG,FLAG2; sbit hong_D=P1^0; sbit lv_D=P1^1; sbit huang_D=P1^2; sbit hong_B=P1^3; sbit lv_B=P1^4; sbit huang_B=P1^5; sbit BEEP=P3^4; sbit EN1=P2^3; sbit DIG1=P2^6; sbit DIG2=P2^7; sbit EN2=P2^2; sbit DIG3=P2^4; sbit DIG4=P2^5; sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3;

sbit KEY5=P2^0; sbit KEY6=P2^1; void keyscan(); uint M,N; void delay(uint n) { uint x,y; for(x=n;x>0;x--) for(y=110;y>0;y--); } void seg1(uint x) { DIG1=0; P0=SMG[x/10]; delay(1); DIG1=1; P0=0X00; DIG2=0; P0=SMG[x%10]; delay(1); DIG2=1; P0=0X00; } void seg2(uint x)

交通灯控制系统课程设计

2011年至2012年第1学期《单片机原理与应用》课程设计 班级1006402 指导教师涂立旎 学生人数___ _3__ ___ 设计份数 1 2011年12月23日

城市交通灯控制系统设计报告 1006402-42 流溪 1006402-24钱升 1006402-06毛运鹏 一.设计时间 2012年12月19日——2011年12月23日 二.设计地点 一实验楼401机房 三.设计小组及成员分工 1006402-42 流溪(组长,编写及调试程序) 1006402-24 钱升(负责设计报告的书写及资料整理) 1006402-06 毛运鹏(原理图、流程图设计) 四.指导老师 涂立老师,旎老师 五.设计题目 基于51型单片机的城市交通灯控制系统 六.设计容及目标 1.该交通灯系统的设计容 本设计是基于AT89S51单片机的十字路口交通灯控制系统,利用6个发光二极管模拟交通灯。按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。 2.该交通灯系统的设计目标 本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。

七.流程图与原理图及部分说明 1.程序流程图如图1所示: 图1. 程序流程图 2.主程序流程图步骤说明: (1)东西方向车道红灯亮,南北方向车道绿灯亮。表示东西方向车道上的车辆禁止通行,南北方向车道允许通行。绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。

AT89C52单片机控制交通灯系统

目录 1 交通信号灯控制系统设计任务和性能指标 (1) 设计任务 (1) 性能指标 (1) 2 交通信号灯控制系统设计方案 (1) 设计思路 (1) 设计思路 (1) 功能设计 (2) 总体设计 (2) 通行方案设计 (2) } 硬件设计方案 (4) 软件设计方案 (4) 3 交通信号灯控制系统硬件设计 (5) 系统硬件框图 (5) 单元电路设计 (5) 单片机最小系统 (5) 信号灯显示电路 (7) 倒计时显示电路 (8) 按键操作电路 (8) 4 交通信号灯控制系统程序设计 (8) - 理论基础知识 (8) 定时器原理 (8) 软件延时原理 (9) 中断原理 (9) 主程序框图 (9) 5 调试分析及所用器件 (10) 调试环境 (10) 所用芯片 (11) 6 心得体会 (11) 7 参考文献 (12) | 8 附录 (13) 附件1 程序清单 (13)

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

51交通灯控制系统

MCS-51单片机课程设计报告 ——交通灯控制系统 姓名:朱正威 学号:110901418 指导老师:潘峰 东华大学信息学院自动化系 2014.6.22

目录 一、项目概述 (3) 二、系统设计 (3) 1.设计思想 (3) 2.方案可行性分析 (3) 3.总体方案 (3) 三、硬件设计 (5) 1.单片机最小系统部分 (5) 2.LED数码管串行显示部分 (5) 3.独立按键部分 (5) 四、软件设计 (6) 1.软件设计思想 (6) 2.程序流程图 (6) 3.程序清单 (7) 五、系统仿真及调试 (13) 六、结果与展望 (15) 七、参考文献 (15)

一、项目概述 项目所要设计的是交通灯控制系统,十字路口交通灯由红、绿两色LED显示器(两位8段LED显示器)组成,LED显示器显示切换倒计时,以秒为单位,每秒更新一次;为确保安全,绿LED计数到0转红,经5秒延时(显示红色0)后,另一道开始绿色倒计时。 1)主干道(A道)先通行且通行时间为45s;(加5秒红灯延时,共50秒) 2)支道(B道)通行时间为25 s;(加秒红灯延时,共30秒) 3)主道与支道的车辆交错通行; 4)若遇紧急情况,按开关时,主道与支道都为红灯20 s 5)根据实时交通堵塞情况人为控制时,按K2时,主道延时30 s通行,按K3 时,支道延时30 s通行。 设计以AT89C51为核心的控制电路,并编写相关的系统软件。 二、系统设计 1.设计思想 该模拟交通灯控制系统采用模块化结构,主要分为定时器中断控制、按键扫描、LED数码管显示三个部分。在设计完成一个方向上的红绿灯数码管计时后,再进行两个方向红绿灯的切换显示以及特殊情况下的处理。 2.方案可行性分析 采用AT89C51作为系统主控芯片,其包含两个定时器中断T0和T1、两个外部中断,以及4个I/O端口P0到P3端口。本系统采用其定时器T1进行定时,每隔一定时间定时中断一次,在中断程序内进行变量自加,以此可以设置任意长的定时时间。如设置1s的定时改变红绿灯LED数码管显示值,设置0.2m的按键扫描周期进行按键定时扫描。为了节省I/O口资源以及硬件连接上的方便,采用串口显示芯片MAX7219进行LED数码管显示部分的设计。 整个方案设计结构清晰明了,硬件连接简洁,软件编程模块清晰,经实践验证,此方案可行。 3.总体方案 在Proteus环境中进行硬件电路的设计和搭建,具体硬件电路设计如图1、2所示。在Keil环境下进行软件设计51单片机编程,为定时器中断和MAX7219串口显示和主函数部分分别建立相应的源文件和头文件,进行模块化编程。

红绿灯C语言程序

红绿灯C语言程序(P0口接数码管,平口接发光二极管) #include #define uchar unsigned char #define uint unsigned int uchar i=0,c=0,s=1;// m_flag=1;// ////////////////////////////////////// void dxlv1_nbh1(void) // { P1=0x5a; } void dx0_nbh1(void) // { P1=0x0a; } void dxh1_nbl1(void) // { P1=0xa5; } void dxh1_nb0(void) // { P1=0xa0; } void nbs(void) // 南北灯闪 { if(m_flag==1){dxh1_nb0();} else {dxh1_nbl1();} } void dxs(void){ // 东西灯闪 if(m_flag==1){dx0_nbh1();} else {dxlv1_nbh1();} } //////主程序////////////////// void main() { TMOD=0x01;//定时器0工作在方式1 TH0=-5000/256;//50ms

TL0=-5000%256;//20ms IE=0x82;///允许定时器0中断 TR0=1;///启动定时器0 while(1){ //0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f if(s==10){P0=0x3f;} // 东西绿灯亮,南北红灯亮倒计时开始 if(s==9)P0=0x06; if(s==8)P0=0x5b; if(s==7)P0=0x4f; if(s==6)P0=0x66; if(s==5)P0=0x6d; if(s==4)P0=0x7d; if(s==3)P0=0x07; if(s==2)P0=0x7f; if(s==1){P0=0x6f;P1=0x5a;} if(s>9&&s<13){dxs();} //10秒结束南北红灯继续,东西绿灯一秒一闪闪三次 if(s==13){dxh1_nbl1(); P0=0x6f; }//东西红灯亮,南北绿灯亮倒计时开始 if(s==22){P0=0x3f;} if(s==21)P0=0x06; if(s==20)P0=0x5b; if(s==19)P0=0x4f; if(s==18)P0=0x66; if(s==17)P0=0x6d; if(s==16)P0=0x7d; if(s==15)P0=0x07; if(s==14)P0=0x7f; if(s>21&&s<25){nbs();} //10秒结束东西向红灯亮继续,南北绿灯一秒一闪三次 if(s==25){s=1; }// s归位 } } /////T0中断子程序//////////// void T0_INT()interrupt 1 { TH0=-50000/256;//50ms TL0=-50000%256; if(c==10)m_flag=0; c++;if(c==20)//50ms*20=1s {m_flag=1; c=0;

交通灯控制程序

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2总体设计 (2) 2.1需求规定 (2) 2.2运行环境 (2) 2.3基本设计概念和处理流程 (3) 2.4结构 (3) 2.5功能器求与程序的关系 (3) 2.6人工处理过程 (3) 2.7尚未问决的问题 (3) 3接口设计 (3) 3.1用户接口 (3) 3.2外部接口 (3) 3.3内部接口 (4) 4运行设计 (4) 4.1运行模块组合 (4) 4.2运行控制 (4) 4.3运行时间 (4) 5系统数据结构设计 (4) 5.1逻辑结构设计要点 (4) 5.2物理结构设计要点 (4) 5.3数据结构与程序的关系 (4) 6系统出错处理设计 (5) 6.1出错信息 (5) 6.2补救措施 (5) 6.3系统维护设计 (5)

概要设计说明书 1引言 1.1编写目的 创建一个可供日常交通灯使用的程序,目标读者为交通灯控制人员。 1.2背景 说明: a.交通路口复杂交通信号灯的设计 b.任务提出者,开发者:陈磊 用户:交通指挥系统 设计环境:使用Verilog HDL语言进行设计 使用Quartus 2编程环境进行开发。。 1.3定义 ORDER 选择信号 ROAD 亮灯控制信号 EN5 5秒延时使能信号 LIN5 5秒延时终止信号 EN25 25秒延时使能信号 LIN25 25秒延时终止信号 RST 系统复位信号 CLK 系统时钟信号 1.4参考资料 Verilog HDL数字系统设计与应用

2总体设计 2.1需求规定 输入项目: CLK 系统时钟信号 RST 系统复位信号 输出项目: ROAD 亮灯控制信号,ROAD=00,红灯亮;ROAD=01,黄灯亮;ROAD=10,绿灯亮;ROAD=11,黄灯亮。 处理要求: 根据ORDER的不同值,使相应的灯发亮。 2.2运行环境 运行环境:。Quartus II 9.0 2.3基本设计概念和处理流程

交通灯控制系统的设计

《微型计算机技术》 课程设计报告 题目交通灯控制系统的设计作者xx 班级xx 学号xx 指导教师xx 2005 年6月20日

《微型计算机技术》 课程设计报告 题目交通灯控制系统的设计作者xx 班级xx 学号xx 指导教师xx 2005 年6月20日

目录 第一部分: 微机硬件结构组成及原理知识---------------------------------------------------- 2第二部分: 微型计算机应用的系统设计------------------------------------------------------- 5 一、要求-------------------------------------------------------------------------------- 5 二、目的--------------------------------------------------------------------- 5 三、内容设计与步骤------------------------------------------------------ 5 四、设计结果与分析------------------------------------------------------ 10 五、设计体会--------------------------------------------------------------- 10 六、感谢--------------------------------------------------------------------- 10

十字路口交通灯控制 C 程序

/************************************ ***************** 十字路口交通灯控制C 程序 ************************************* *****************/ #define uchar unsigned char #define uint unsigned int #include /*****定义控制位**********************/ sbit Time_Show_LED2=P2^5;//Time_Show_LED 2控制位 sbit Time_Show_LED1=P2^4;//Time_Show_LED 1控制位 sbit EW_LED2=P2^3; //EW_LED2控制位sbit EW_LED1=P2^2; //EW_LED1控制位sbit SN_LED2=P2^1; //SN_LED2控制位sbit SN_LED1=P2^0; //SN_LED1控制位sbit SN_Yellow=P1^6;//SN黄灯 sbit EW_Yellow=P1^2;//EW黄灯 sbit EW_Red=P1^3;//EW红灯 sbit SN_Red=P1^7;//SN红灯 sbit EW_ManGreen=P3^0;//EW人行道绿灯 sbit SN_ManGreen=P3^1;//SN人行道绿灯 sbit Special_LED=P2^6;//交通正常指示灯 sbit Busy_LED=P2^7;//交通繁忙指示灯sbit Nomor_Button=P3^5;//交通正常按键 sbit Busy_Btton=P3^6;//交通繁忙按键sbit Special_Btton=P3^7;//交通特殊按键sbit Add_Button=P3^3;//时间加 sbit Reduces_Button=P3^4;//时间减 bit Flag_SN_Yellow; //SN黄灯标志位bit Flag_EW_Yellow;//EW黄灯标志位char Time_EW;//东西方向倒计时单元 char Time_SN;//南北方向倒计时单元uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式 uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量 uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D, 0x7D,0x07,0x7F,0x6F};//1~~~~9段选码uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0 X81,0X84};//交通信号灯控制代码 /**********************延时子程序************************/ void Delay(uchar a) { uchar i; i=a; while(i--){;} } /*****************显示子函数**************************/ void Display(void) { char h,l; h=Time_EW/10; l=Time_EW%10; P0=table[l]; EW_LED2=1; Delay(2); EW_LED2=0; P0=table[h]; EW_LED1=1; Delay(2); EW_LED1=0; h=Time_SN/10; l=Time_SN%10; P0=table[l]; SN_LED2=1; Delay(2); SN_LED2=0; P0=table[h]; SN_LED1=1; Delay(2); SN_LED1=0;

相关文档
最新文档