51单片机实验:交通信号灯控制

合集下载

基于51单片机的交通灯控制设计

基于51单片机的交通灯控制设计

基于51单⽚机的交通灯控制设计课程设计任务书及成绩课程名称单⽚机课程设计题⽬交通灯控制设计课程设计⽬标与任务、计划与进度安排:实践教学要求与任务:1、了解交通灯的基本⼯作原理;2、⽤Proteus模拟实现交通灯控制;3、⽤Keil C51编程实现上述功能;4、⽤Keil与Proteus联调。

⼯作计划与进度安排:17周查找相关资料。

18周详细设计。

19周程序测试,书写论⽂,进⾏答辩。

1 引⾔交通事业蓬勃发展,交通流量年年增长,⼤、中、⼩城市的汽车、摩托车等各种车辆与⽇俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉⼝,机动车、⾮机动车、⾏⼈来往⾮常混乱,为了在叉⼝的各条⼲道实现合理的科学分流。

本⼈根据单⽚机具有物美价廉、功能强、使⽤⽅便灵活、可靠性⾼等特点,提出了⼀种⽤STC89c51单⽚机⾃动控制交通信号灯及时间显⽰的⽅法,同时给出了软硬件的实现⽅法,为交通指挥⾃动化提供了⼀种新的廉价⼿段,具有⼀定的推⼴意义。

本⽂介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计⽬标, 开发途径及其系统结构与功能和数据地理编码、建库, 同时, 论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应⽤。

介绍了⽤于城市交叉路⼝的三⾊程控交通信号时间显⽰器的研制⽅案,对其电源供电、发光⼆极管构成的负载结构、灯⾊时间检测都给出了精巧合理的优化结构,⼤幅度地提⾼了产品可靠性并降低了制造成本。

2 应⽤软件介绍2.1 C语⾔介绍C语⾔是于1972年由贝尔实验室的Dennis Ritchie在B语⾔的基础上开发出来的。

最初的C语⾔是作为UNIX操作系统的开发语⾔⽽被⼈们所认识。

此后,贝尔实验室对C语⾔进⾏了多次改进和版本的公布,C语⾔的优点才引起⼈们的普遍注意。

随着UNIX操作系统在各种机器上的⼴范使⽤,使C语⾔得到了迅速推⼴。

1978年由Brian W. Kernighan和Dennis M. Ritchit合著了《The C Programming Language》⼀书,该书对C语⾔作了详细的描述,这本书对C语⾔发展影响深远,并成为了后来C语⾔版本的基础,称之为标准C。

51单片机实现交通灯控制程序

51单片机实现交通灯控制程序

51单片机实现交通灯控制程序2010-04-28 23:02当出现交通事故时,按下单片机右侧开关,所有红灯亮,交通停止,通行时间保持,弹起开关,交通接停止时的时间继续进行#include<reg52.h>#include<stdio.h>#define unchar unsigned char#define unint unsigned intsbit key=P3^2;unchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};unint i,j,k;unint s;unchar h;void delay(unint c); void cut0();void cut1();void cut2();void cut3();void cut4();void cut5();void cut6();void cut7();void main(){TMOD=0X06;TH0=0Xff;TL0=0xff;TR0=1;EA=1;EX0=1;EX1=1;ET0=1;P1=0x00;P3=0xff;P0=0xf6;P2=0xf5;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut0();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){cut1();P2=0xf3;delay(10);P2=0xf7;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}P2=0xee;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut2();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){P2=0xde;delay(10);P2=0xfe;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}P2=0xf6;P0=0xf5;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut4();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){cut5();P0=0xf3;delay(10);P0=0xf7;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}P0=0xee;for(h=29;h>0;h--) { for(s=24;s>0;s--) {cut6();P3=0xfc;P1=0xff;P3=0xfd;P1=dis[h/10];delay(1);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(1);}}for(h=4;h>0;h--){cut7();P0=0xde;delay(10);P0=0xfe;delay(10);P3=0xfc;P1=0xff;P3=0xfe;P1=dis[h%10];delay(20);}}void delay(unint c){while(c--)for(j=1500;j>0;j--); }void cut0(){key=1;if(key==0)while(1){P2=0xf6;key=1;if(key==1){P2=0xf5;break ;}}}void cut1(){key=1;if(key==0)while(1){P2=0xf6;key=1;if(key==1){P2=0xf7;break ;}}}void cut2(){key=1;if(key==0)while(1){P2=0xf6;key=1;if(key==1) {P2=0xee; break ;}}}void cut3() {key=1;if(key==0)while(1){P2=0xf6; key=1;if(key==1) {P2=0xfe; break ;}}}void cut4() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xf5; break ;}}}void cut5() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xf7; break ;}}}void cut6() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xee; break ;}}}void cut7() {key=1;if(key==0)while(1){P0=0xf6; key=1;if(key==1) {P0=0xfe; break ;}}}。

基于-51单片机的交通灯设计

基于-51单片机的交通灯设计
4.实验原理
4.1 基本原理
主体电路:交通灯自动控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器等组成。
本设计先是从普通三色灯的指示开始进行设计,用P1口作为输出。程序的初始化是东西南北方向的红灯全亮。然后南北方向红灯亮,东西方向绿灯亮,60秒后东西方向黄灯闪亮5秒后南北方向绿灯亮,东西方向红灯亮。重复执行。倒计时用到定时器T0,用P2口作为LED的显示。二位一体的LED重复执行60秒的倒计时。作为突发事件的处理,本设计主要用到外部中断EX0。用一模拟开关作为中断信号。实际中可以接其它可以产生中断信号的信号源。
1.单片机最小系统
图3.1 51单片机最小系统版
2. 数码管显示电路:由8位共阴LED数码管即驱动芯片74HC573组成,单片机控制两片锁存器是使能端,通过不停打开关闭使能端达到单片机一个8位I/O口控制8位数码管显示的效果。数码管显示电路如图3.2所示。
图3.2数码管显示电路
3.12位LED灯:由12个LED小灯排列起来,加上限流电阻就组成了12位交通灯。12位流水灯的阴极接在单片机的I/O端口,以灌电流输进单片机从而驱动LED。交通LED灯的原理图如图3.3所示。
师大学
电气工程及自动化
实习报告
姓 名:
班 级:
学 号:
实习科目:单片机实训
指导教师:
实习时间:
智能交通信号灯
摘 要
本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用STC89C52单片机控制的交通灯控制电路。该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。红灯亮禁止通行绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。

基于51单片机的交通信号灯模拟控制系统设计

基于51单片机的交通信号灯模拟控制系统设计

XXXX学院毕业设计(论文)课题名称交通信号灯模拟控制系统学生姓名X X X学号XXXXXXXXXXXXX系别自动化工程系专业班级机电一体化X班指导教师X X技术职务讲师XXXXXX学院教务处制指导教师:XXX 2016年9月5 日用51单片机设计交通信号灯模拟控制系统机电一体化X班XXX 指导老师:XXX摘要:城市交通信号灯模拟控制系统模拟了能够对信号灯进行远程投时的城市十字路口控制系统功能。

借助于单片机开发板上的已有资源,构建了模拟实际系统功能的单片机扩N82C55控制LED灯模块、8位七段数码管显示控制模块和板上扩展接线模块。

在分析实际系统工作流程的基础上,给出了针对单片机开发板的模拟系统C51控制程序流程。

用于实际系统时,只需要将代码移植到现场设备并进行具体设置和适当修改即可,可以在满足客户需求的前提下最小化系统开发成本。

交通信号灯模拟控制系统模拟了能够对信号灯进行远程授时的城市十字路口控制系统功能。

基于AT89C51单片机的性能参数和工作原理,应用Keil单片机编译软件的C语言编程以及使用该软件开发单片机程序,说明设计的交通信号灯模拟控制系统的工作原理、程序流程和硬件结构等相关技术,指出该系统的特点。

设计一种基于AT89C51超低功耗单片机的交通信号灯模拟控制系统,详细阐明了交通信号灯模拟控制系统的工作原理,实现了一般交通信号灯控制系统的主要功能及要求,具有实用性。

该系统充分利用了AT89C51单片机的特点,使用现今单片机广泛采用的C语言编制了系统程序,并利用Keil uVision3软件进行编译运行,最终通过Proteus完成了模拟控制系统的仿真。

关键词:AT89C51单片机K eil单片机编译软件仿真软件Proteus 6 C语言交通灯XXXXX学院毕业设计(论文)指导记录表注:指导情况须填明学生在毕业设计(论文)撰写过程中存在的问题,指导教师要求修改的内容或改进措施。

指导情况填写不包括下达任务书和开题报告意见。

基于51单片机设计的交通灯报告书

基于51单片机设计的交通灯报告书

报告书干路—支路口交通信号灯控制器项目目的:通过对模拟交通灯控制系统的操作,让我们掌握定时器和中断系统的综合应用,进一步熟练51单片机的应用.项目要求:本项目主要通过感应开关控制交通灯的切换显示,实现主干路与支路车辆的分流。

(1)在正常情况下,主干道交通灯绿灯一直亮着。

(2)当支路检测到有车辆,60秒后,主干道禁止通行,支路放行。

(3)支路放行30 秒后,恢复正常情况。

项目电路如图:按键S1、S2模拟支路的车辆检测,当S1、S2为高电平(不按下按键)时,表示正常情况。

当S1或S2为低电平(按下按键)时,表示支路上有车辆,将S1、S2接到P3.0、P3.1把信号送入到单片机。

程序设计:源程序代码:#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar time,second,n,m;sbit k1=P3^0;sbit k2=P3^1;Uchar code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x 80,0x90};//数码管显示0~9的段码表void delay(uint t){uchar i;while(t--)for(i=0;i<255;i++);}void shumaguan(uchar s){P2=0xfd;P0=Tab[s/10];delay(1);P2=0xfe;P0=Tab[s%10];delay(1);}void main(){IE=0x82;TMOD=0x01;TH0=(65536-50000)/16;TL0=(65536-50000)%16;while(1){ uchar j;P1=0xde;if(k1==0||k2==0){delay(500);if(k1==0||k2==0){time=40;TR0=1;for(second=60;second>0;)shumaguan(second);TR0=0;P2=0x00;P1=0xf3;delay(3000);for(j=0;j<2;j++){P1=0xfb;delay(200);P1=0xf3;delay(200);}P1=0xeb;delay(500);}}}}void ld() interrupt 1{TR0=0;time--;if(time==0){time=40;second--;if(second==5)P1=0xdf;if(second==4)P1=0xde;if(second==3)P1=0xdf;if(second==2)P1=0xdd;if(second==1)P1=0xdd;}TH0=(65536-50000)/16;TL0=(65536-50000)%16;TR0=1;}项目小结:本项目程序主要包括四部分:主函数、延时函数、数码管显示函数、中断函数。

51单片机交通灯仿真原理

51单片机交通灯仿真原理

51单片机交通灯仿真原理交通灯是城市道路交通指示设施中最重要的一种,它可以用来引导车辆和行人在道路上安全通行。

在交通繁忙的路口,交通灯起到了非常关键的作用。

本文将介绍使用51单片机对交通灯进行仿真的原理。

交通灯通常包括红灯、黄灯和绿灯这三种状态。

红灯表示停止,黄灯表示警告,绿灯表示行驶。

在信号灯中,红灯和绿灯的时间比较长,黄灯的时间比较短。

下面是使用51单片机进行交通灯模拟的步骤:1.硬件连接:首先,我们需要将51单片机与LED灯连接起来。

假设使用3个LED灯分别模拟红灯、黄灯和绿灯,将它们分别连接到单片机的3个IO口上。

2.程序编写:使用汇编或C语言编写程序,实现交通灯的工作逻辑。

以下是一个简单的示例代码:```#include <reg51.h>#define LED_RED P0 // 定义红灯连接的IO口#define LED_YELLOW P1 // 定义黄灯连接的IO口#define LED_GREEN P2 // 定义绿灯连接的IO口void delay(unsigned int t)while(t--);void mainwhile(1)//红灯亮,其他灯灭LED_RED=0x01;LED_YELLOW=0x00;LED_GREEN=0x00;delay(5000); //等待5秒//绿灯亮,其他灯灭LED_RED=0x00;LED_YELLOW=0x00;LED_GREEN=0x01;delay(5000); //等待5秒//黄灯亮,其他灯灭LED_RED=0x00;LED_YELLOW=0x01;LED_GREEN=0x00;delay(2000); //等待2秒}```4.运行仿真:将单片机连接到电源后,程序开始执行。

红灯亮起5秒后,绿灯亮起5秒,然后黄灯亮起2秒,然后循环往复。

通过以上步骤,我们成功完成了51单片机交通灯仿真。

在实际应用中,可以通过增加传感器等组件实现更多的功能,如人行道上的行人信号灯、车辆流量检测等,进一步提高交通灯的智能化和人性化。

51单片机红绿灯设计报告

3.硬件设计 .................................................................................................................................2 3.1 硬件选型.....................................................................................................................2 3.2 系统硬件电路原理详图 .............................................................................................4 3.3 实际连线详图 .............................................................................................................5 3.3.1 共阴极数码管原理图以及四位数码管引脚图 ...............................................5 3.3.2 红绿灯模拟仿真电路 .......................................................................................5 3.3.3 51 单片机主控实物图以及原理图 ..................................................................5
1.1 课程设计制作题目及要求

51单片机交通灯毕业设计方案

51单片机交通灯毕业设计方案
以下是一个基于51单片机的交通灯设计方案:
1. 硬件设计:
- 使用51单片机作为主控制器。

- 使用红黄蓝三个LED作为信号灯的显示器件。

- 使用按钮作为手动触发信号灯切换的输入设备。

- 使用数码管显示当前信号灯状态的计时器。

- 使用适当的电阻、电容、继电器等连接单片机和LED、按钮、数码管等。

2. 软件设计:
- 配置51单片机的I/O口,将LED、按钮和数码管连接到正
确的引脚。

- 编写主程序,设置中断或轮询等方式读取按钮状态,并根
据按钮状态切换信号灯状态。

- 通过控制LED引脚的输出电平,实现红黄蓝三个信号灯的
闪烁、亮灭和切换。

- 使用定时器计时,实现信号灯的定时控制。

根据交通规则,红灯、黄灯、绿灯的显示时间可以根据需要设定。

- 使用数码管显示当前信号灯的状态和剩余时间,方便车辆
和行人了解交通灯变化。

3. 功能设计:
- 根据交通规则,设置交通灯的变换顺序和时间,确保道路
的交通流畅和安全。

- 根据需要加入手动触发信号灯切换的功能,允许人工控制,
例如紧急情况下的交通调节。

- 可以考虑加入流量检测、车辆和行人优先等功能,提高交
通效率和安全性。

- 可以通过串口或无线通信模块,实现与其他设备的联动,
例如与车载导航系统、交通监控系统等的数据交换和协同控制。

以上是一个基本的51单片机交通灯设计方案,可以根据具体
需求进行进一步调整和优化。

51单片机控制交通灯设计

1、引言 (3)2、单片机概述 (3)3、芯片简介 (4)3.1 MSC-51芯片简介 (4)3.2 8255芯片简介 (7)3.3 74LS373简介 (8)4、系统硬件设计 (9)4.1交通管理的方案论证 (9)4.2系统硬件设计 (9)4.2.1 系统总框图如下 (9)4.2.2 交通灯硬件线路图 (10)4.2.3 系统工作原理 (12)5、控制器的软件设计 (12)5.1每秒钟的设定 (12)5.2计数器硬件延时 (12)5.2.1 计数器初值计算 (12)5.2.2 计算公式 (12)5.2.3 1秒的方法 (13)5.2.4相应程序代码 (13)5.3 软件延时 (14)5.4 时间及信号灯的显示 (14)5.4.1 8051并行口的扩展 (14)5.4.2显示原理 (15)5.4.3 8255PA口输出信号接信号灯 (15)5.4.4 8255输出信号与数码管的连接 (15)5.4.5 8255与8051的连接 (16)5.5 程序设计 (16)5.5.1流程图如图所示 (16)5.5.2 程序源代码 (17)结论 (22)参考文献 (23)基于单片机的交通灯设计摘要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。

交通信号灯控制方式很多。

本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。

51单片机交通灯仿真原理

51单片机交通灯仿真原理引言:交通灯作为城市交通管理的重要组成部分,起到了引导车辆和行人通行的作用。

在现代社会中,交通灯的灯光变化是由电路控制实现的。

本文将以51单片机为基础,介绍交通灯仿真的原理和实现过程。

一、51单片机简介51单片机是一种常见的微控制器,具有高性能、低功耗、易编程等特点。

它广泛应用于各种电子设备中,包括交通灯控制。

二、交通灯的基本原理交通灯一般由红、黄、绿三个灯组成。

红灯表示停车,黄灯表示准备行驶,绿灯表示可以通行。

交通灯的变化是按照一定的时间间隔来进行的,通常为红灯亮一段时间,然后黄灯亮一段时间,最后绿灯亮一段时间。

这种变化方式可以通过51单片机的定时器和IO口控制来实现。

三、交通灯仿真的实现步骤1. 硬件连接需要准备一块51单片机开发板,以及红、黄、绿三个LED灯。

将LED灯连接到51单片机的IO口上,通过电阻限流,确保电流合适。

2. 程序编写使用C语言编写程序,实现交通灯的仿真。

首先,需要定义红、黄、绿三个灯对应的IO口。

然后,设置定时器,按照一定的时间间隔来改变灯的状态。

例如,红灯亮5秒,黄灯亮2秒,绿灯亮8秒。

通过循环控制,可以实现交通灯的循环变化。

3. 烧录程序将编写好的程序通过烧录器下载到51单片机中。

确保烧录成功后,即可进行交通灯仿真。

4. 仿真测试将51单片机开发板连接到电源,打开电源开关。

此时,红灯应亮起,表示停车;随后黄灯亮起,表示准备行驶;最后绿灯亮起,表示可以通行。

通过不断循环,交通灯的状态会一直变化,实现仿真效果。

四、交通灯仿真的应用价值交通灯仿真是对交通灯控制的一种模拟,可以用于交通管理系统的设计和优化。

通过仿真实验,可以模拟不同情况下交通灯的变化,优化交通流量,提高交通效率。

此外,交通灯仿真还可以用于交通安全教育,让行人和驾驶员更好地理解交通灯的意义和规则。

五、总结本文以51单片机为基础,介绍了交通灯仿真的原理和实现过程。

通过硬件连接、程序编写、烧录和测试等步骤,可以实现交通灯的仿真效果。

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

实验二:交通信号灯控制
地时,转弯灯均不闪亮。

三、实验程序框图
见图1。

四、实验接线图
见图2。

图2
五、实验要求
进入实验室前,先将设计好的程序填入表5-1中,其中机器码部分可参照教科书附录中的指令表人工汇编完成,也可用相应汇编软件机器汇编得到。

进入实验室后,按照实验步骤规定完成实验。

六、实验步骤
P1.0接K1,P1.1接K2,P1.4~P1.7接L1、L5、L9、L13,输入并运行自己设计的程序,应看到交通灯正确闪亮。

七、程序清单
设计程序时,将图5-2中LED1、LED5作为右转弯灯,LED9、LED13为左转弯灯。

所写程序应进行合理的注释。

【实验过程记录(源程序、测试结果及心得体会等)】
源代码:
ORG 0000H。

相关文档
最新文档