单片机现代交通灯报告

单片机现代交通灯报告
单片机现代交通灯报告

广东海洋大学寸金学院《单片机》期末考查(论文设计)

论文题目:现代交通灯

Modern traffic ligths

系别:信息技术系

专业:电气工程及其自动化

班级:电气工程及其自动化3班

姓名:曾苑

学号:2011103120338

指导老师:叶伟慧

职称:讲师

日期:2013年12月15日

广东海洋大学寸金学院教务处制

目录

目录 (1)

摘要 (2)

第1章引言 (3)

1.1背景与意义 (3)

1.2系统设计实现的目标 (3)

第2章系统分析 (3)

2.1系统原理 (3)

2.2开发及运行环境 (4)

第3章硬件电路设计 (5)

3.1交通灯的芯片介绍 (5)

3.1.1 AT89c51引脚介绍 (5)

3.1.2 74LS245介绍 (6)

3.1.3 7seg-mps2-cc七段数码管以及LED灯介绍 (7)

3.2按键调整时间 (7)

第4章测试 (8)

4.1测试软件介绍 (8)

4.2软件调试 (8)

结束语 (10)

附录 (11)

程序代码 (11)

摘要

城市道口交通灯控制系统模型采用单片机作为主控制器,用于十字路口的车辆及行人的交通管理,每个方向具有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口通行转换剩余时间,在出现紧急情况时可以由交警手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转换为特种车辆放行,其他车辆禁行,15s后系统自动恢复正常管理。其他还有盲人提示音、120s与60s 通行管理转换功能。采用标准的AT89C52单片机作为控制器;通行倒计时显示采用3位LED数码管;右拐、左拐、直行及行人4种通行状态指示灯采用双色高亮发光二极管;LED显示采用动态扫描,以节省端口数。特种车辆通行采用实时中断完成,识别方法采用红外线发射及接受方案。整套电路模块由控制系统模块、通行灯输出控制显示模块、时间显示模块和自动特种车辆控制模块等组成。道口交通控制系统控制程序主要分为以下几个模块:初始化程序、主程序、定时中断程序和特种车实时响应程序等。设计时按红绿交通灯控制程序和特种车辆经过中断程序两大部分。本系统以AT89C51单片机为核心,采用汇编语言编程,设计的交通灯可用于十字路口的车辆及行人的交通管理,设计中应用了两种倒计时显示方式,120s倒计时适用于车流量较大的大城市,60s倒计时可用于中小型城市。

关键词:单片机;显示;汇编语言;交通管理; LED数码管

第1章引言

1.1背景与意义

近年来随着科技的飞速发展,单片机的应用正在不断深渗透到我们生活的各个领域,几乎每个领域有单片机的踪迹,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本次课程设采用单片机AT89C51和芯片74LS245为中心器件来设计交通灯控制器,实现了能根据定时控制AT89C51芯片的P0口设置红、绿灯燃亮时间的功能;P1口设置红绿灯循环点亮,倒计时的时间由数码管显示。

1.2系统设计实现的目标

在主干道上设置LED的红绿灯,(由于时间问题)设置红灯点亮14秒,绿灯点亮10秒,黄灯3秒,循环点亮,也可以随车流量的问题随时设置时间。

主要内容包括:

1)红绿黄三灯循环点亮

2)实现倒计时功能;

3)按下按钮调整红绿灯的时间

4)长按增加(减少)秒数按钮,以10秒递增(递减)。

第2章系统分析

2.1系统原理

实际交通灯分为东南西北四个方向以及左转右转,本次课程设计我们涉及的是简

易交通灯,不包含左转右转,只包括显示红绿灯循环亮灭、倒计时以及可以因交通需要临时调整时间,原理较为简单。

东西通行,南北红灯亮。过一段时间后,转状态。东西绿灯灭,黄灯亮。再转状态;东西红灯亮,南北绿灯亮通行。过一段时间后转状态;南北绿灯灭,黄灯亮。一段间后,又循环至初始状态。

2.2开发及运行环境

本次设计包括51单片机、7SEG-MPX2的共阴七段数码管、74LS245芯片。原理图如下:

第3章硬件电路设计

3.1交通灯的芯片介绍

3.1.1 AT89c51引脚介绍

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(计时器0外部输入)

P3.5 T1(计时器1外部输入)

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

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

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V 编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

74LS245介绍

74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)

DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。

由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD和PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。

7seg-mps2-cc七段数码管以及LED灯介绍

LED显示和中断定时电路。利用定时器T0产生每10ms一次的中断,每100次中断为1s。对两个方向分别显示红、绿、黄灯,已经相应的剩余时间即可。

A方向红灯时间=B方向绿灯时间+黄灯缓冲时间。

由原理图可以看出单片机:

P1口接LED灯,P1.0、P1.1、P1.2分别接南北方向红黄绿交通指示灯,P1.3、P1.4、P1.5分别接东西方向的红黄绿交通指示灯;

P0口按顺序从P0.0到P0.6依次接南北数码管的a、b、c、d、e、f、g端;P2.0到P2.6依次接东西数码管的a、b、c、d、e、f、g端;

3.2按键调整时间

系统设置三个按键,SET(设置)用于选择要增加(减少)对应灯的时间;ADD (增加)用于设置增加亮灯的时间;SUB(减少)用于设置减少亮灯的时间。增加或减少长按则可以以10秒递增(递减),方便人员的设置,电路图如下:当按下SET(P3.4)按键,P3.0和P3.1为高电平,共阴极数码管关闭,显示东西方向对应灯的时间;P3.5和P3.6对应ADD(加)和SUB(减)按钮。

按键图,前面接口P3.4置高电平,后面接地,按下后为低电平有效。

第4章测试

4.1测试软件介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51软件是一个基于32位Windows 环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。

4.2软件调试

应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。

工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for Target ‘Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。

成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly…),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。

结束语

本文是一篇关于用单片机实现现代交通灯的论文,设计中使用到了AT89C51和74LS245芯片等。在设计过程中我通过在网上和图书馆查阅资料,收集了关于单片机和数码管显示方面的资料,通过对这些资料的学习,我了解了单片机的基本结构,使用和单片机在生活和生产中所发挥的作用;液晶显示的原理和使用。本次毕业设计除了让我回顾以前学过的知识外,也使我学习到了新的东西。这次毕业设计可以说是对四年的大学学习的总结。

本次毕业设计完成的主要工作和任务如下:对设计方案的理论研究,单片机的合理选型,硬件电路的设计,电路板的制作,元器件的焊接,软件的编写和调试以及毕业论文的制作。

通过对本课题的研究我有以下几个方面的收获:

(1)学习与掌握了单片机的基本原理及其各种应用,对它的各种硬件接口与软件设计方法有较深入的认识。

(2)对按键程序及数码管显示有了一定的认识,能够初步掌握其原理。

(3)本设计重点在于软件的设计,因此在设计过程中使自己在大学学到的C 语言知识得到了巩固,同时提高了解决实际问题的能力。

附录

程序代码

#include"at89x51.h"

unsigned char num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数字0~9

unsigned char ctr[]={0xfa,0xf5}; //0xfa(P3_0和P3_2为0,即高位有效)0xf5(P3_1和P3_3为0,即低位有效)

unsigned char disEW[2]; //记录东西向高低位数值

unsigned char disSN[2]; //记录南北向高低位数值

unsigned char v;

unsigned char cnt_ctr;

unsigned int scdEW,scdSN;

unsigned int cntSN,cntEW;

unsigned char cntP3_4,cntP3_5,cntP3_6;

unsigned int cnt_num,cnt_key,cnt_flash,keyMemory;

int greenEW = 10,yellowEW = 3,greenSN = 10,yellowSN = 3;

//延时函数,a为1延时1毫秒

void delay_ms(unsigned int a)

{

int i;

while(a--)

{

i = 70;

while(i--);

}

}

//设置红绿黄灯秒数

void setSecond(void)

{

while(P3_4 == 0);

cntP3_4++; //标志设置键被按下的次数

switch(cntP3_4)

{

case 1:

cntEW = 5;

P1 = 0xf7;

break;

case 2:

cntEW = 1;

P1 = 0xef;

break;

case 3:

cntSN = 1;

P1 = 0xfe;

break;

case 4:

cntSN = 3;

P1 = 0xfd;

break;

case 5:

cntEW = 5;

cntSN = 5;

cnt_num = 0;

cntP3_4 = 0;

break;

}

}

//秒数加1

void addSecond(void)

{

while(P3_5 == 0);

cnt_key = 0; //记录长按键的参数清零

switch(cntP3_4)

{

case 1:

if(keyMemory != greenEW + 10) //判断按键是否已经加10,如果没有加10则秒数加1,如果已经加10则不加1

{

greenEW++;

}

if(greenEW == 90)

{

greenEW = 0;

}

scdEW = greenEW;

scdSN = greenEW + yellowEW + 1;

break;

case 2:

if(yellowEW++ == 9)

{

yellowEW = 0;

}

scdEW = yellowEW;

break;

case 3:

if(keyMemory != greenSN + 10)

{

greenSN++;

}

if( greenSN == 90)

{

greenSN = 0;

}

scdEW = greenSN + yellowSN + 1;

scdSN = greenSN;

break;

case 4:

if(yellowSN++ == 9)

{

yellowSN = 0;

}

scdSN = yellowSN;

break;

}

}

//秒数减1

void subSecond(void)

{

while(P3_6 == 0);

cnt_key = 0; //记录长按键的参数清零

switch(cntP3_4)

{

case 1:

if(keyMemory != greenEW - 10) //判断按键是否已经减10,如果没有减10则秒数减1,如果已经减10则不减1

{

greenEW--;

}

if(greenEW == -1)

{

greenEW = 89;

}

scdEW = greenEW;

scdSN = greenEW + yellowEW + 1;

break;

case 2:

if(yellowEW-- == 0)

{

yellowEW = 9;

}

scdEW = yellowEW;

break;

case 3:

if(keyMemory != greenSN - 10)

{

greenSN--;

}

if(greenSN == -1)

{

greenSN = 89;

}

scdEW = greenSN + yellowSN + 1;

scdSN = greenSN;

break;

case 4:

if(yellowSN-- == 0)

{

yellowSN = 9;

}

scdSN = yellowSN;

break;

}

}

//正常显示秒数

void display(void)

{

cnt_num++;

if(cnt_ctr == 10)

{

cnt_ctr = 0;

P3 = 0xff;

P3 = ctr[v];

P2 = num[disEW[v]]; //显示东西方向秒数

P0 = num[disSN[v]]; //显示南北方向秒数

if(v++ == 1)

{

v = 0;

}

}

}

//闪烁显示秒数

void dspFlash(void)

{

cnt_flash++;

if(cnt_flash < 660)

{

P3 = 0xff;

//数码管灭

}

else

{

if(cnt_flash == 1333)

//数码管亮1333=4000/3 即1秒闪3次

{

cnt_flash = 0;

}

if(cnt_ctr == 25)

{

cnt_ctr = 0;

P3 = 0xff;

P3 = ctr[v];

switch(cntP3_4)

{

case 1:

P3_0 = 1;

P3_1 = 1;

P2 = num[disEW[v]];

break;

case 2:

P3_0 = 1;

P3_1 = 1;

P2 = num[disEW[v]];

break;

case 3:

P3_2 = 1;

P3_3 = 1;

P0 = num[disSN[v]];;

break;

case 4:

P3_2 = 1;

P3_3 = 1;

P0 = num[disSN[v]];

break;

}

if(v++ == 1)

{

v = 0;

}

}

}

}

//长按加10秒

void add_10s(void)

{

cnt_key = 0;

switch(cntP3_4)

{

case 1:

greenEW = greenEW + 10; //长按秒数加10

if(greenEW >= 90)

{

greenEW = 0;

}

keyMemory = greenEW + 10; //keyMemory用来标记秒数已经加10

scdEW = greenEW;

scdSN = greenEW + yellowEW + 1;

break;

case 3:

greenSN = greenSN + 10;

if(greenSN >=90)

{

greenSN = 0;

}

keyMemory = greenSN + 10;

scdEW = greenSN + yellowSN + 1;

scdSN = greenSN;

break;

}

}

//长按减10秒

void sub_10s(void)

{

cnt_key = 0;

switch(cntP3_4)

{

case 1:

greenEW = greenEW - 10; //长按秒数减10

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇 实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始

不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。 在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对

单片机交通灯实训报告

机电工程学院课程设计报告 课程名称:单片机课程设计 专业班级: 13电本2班 学号: 2013041632 学生:罗炜 指导教师:王清辉、何文丰 完成时间: 报告成绩:

交通灯设计 一、设计任务与要求 设计基本要求: (1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为30秒,当剩余3秒时黄灯亮,南北方向通行时间为20秒,当剩余3秒时黄灯亮。(2)东西、南北方向各用三个(绿、黄、红)LED表示,并用数码管显示东西、南北方向的剩余时间。 (3)可利用按键修改时间参数,可以利用按键切换东西南北交通灯的当前状态(即立刻东西由红变绿,南北有绿变红,并按设定的时间工作)。 二、方案设计与论证 表2-1:交通灯的工作状态表 根据表2-1所示可将交通灯的工作状态设为以下几个步骤: 1、初始状态时即为东西方向绿灯通行27秒+3秒黄灯,此时南北红灯亮。 2、随后是南北方向绿灯通行17秒+3秒黄灯,此时东西红灯亮。 3、通过按模式选择键一次来切换东西南北交通灯的当前状态。(通过设置定时计时器T1实现交通灯的计时) 4、通过按模式选择键第二次切换至南北方向红绿灯的计时设置,通过加减按键来确定南北方向红绿灯的计时数。 5、确定南北方向计数值后,通过按模式选择键第三次切换至东西方向红绿灯的计

时设置,通过加减按键来确定东西方向红绿灯的计时数。 6、确定交通灯计时数后再按下模式选择键后,交通灯便进入工作状态。 时间计时的实现:采用定时中断实现秒的精确计时(详细方案入下列程序设计所示)。 按键输入的实现:通过编写按键读取函数,来实现交通灯的状态以及时间值得设定(详细方案入下列程序设计所示)。

51单片机交通灯课程设计

第一章单片机概述 单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块芯片内芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。 单片机的应用技术是一项新型的工程技术,其内涵随着单片机的发展而发展。由于MCS-51系列的单片机的模块化结构比较典型、应用灵活,为许多大公司所采纳,使8051系列的单片产品日新月异。在Intel公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,使产品型号不断地增加、品种不断丰富、功能不断加强,在国内外单片机应用中占有重要地位。由于单片机具有功能强、体积小、价格低等一系列优点,在各个领域都有广泛的应用,有力地推动了各行各业的技术改造和产品更新换代。 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,

产品更新换代的节奏也越来越快。 第二章MSC-51芯片简介 8051是MCS-51系列单片机的典型产品。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 ·数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM 只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

基于单片机交通灯课程设计报告书

三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED 显示等等组成交通灯演示系统。系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 引言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。 一、方案比较、设计与论证

(1) 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2) 显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3) 输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM已经够用,故选择方案二。 (4) 系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统.

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);

单片机实验三(急救车与交通灯)

单片机技术与应用 实验报告 实验名称:外部中断实验(急救车与交通灯)班级:11062811 学号:11061118 姓名:吕琳涛 指导老师:谷雨 2013年5月20日

1. 实验要求 由以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。 2. 实验目的 1.学习外部中断技术的基本使用方法。 2.学习中断处理程序的编程方法。 3. 程序说明: 在本次实验中,我们可以确定外部中断的作用是用于有救护车行驶过来时对程序的进行的简单的控制。对于正常的红绿灯的亮灭我们可以参考第一个实验中流水灯的设计理念。综上所述我们这一次的实验就是流水灯与外部中断的结合。 通过对七种情况的罗列 1 0 0 1 0 1 1 0 南北绿,东西红 0 1 1 0 1 0 0 1 南北红,东西绿 1 0 0 1 1 1 1 1 只亮东西红 0 1 1 0 1 1 1 1 只亮南北红 0 0 0 0 0 1 1 0 南北黄,东西红 0 0 0 0 1 0 0 1 南北红,东西黄 0 0 0 0 1 1 1 1 全红 我们可以利用XBYTE[0xf200]这个函数对这几种情况进行读取与显

示,在不同情况进行显示的过程中我们用以前的delay函数进行时间上的规划从而达到依次显示的效果。 0x0f 全红XBYTE[0xf200]=0x0f; 0x96 南北绿,东西红XBYTE[0xf200]=0x96; 0x9f 只亮东西红XBYTE[0xf200]=0x9f; 0x06 南北黄,东西红XBYTE[0xf200]=0x06; 0x69 南北红,东西绿XBYTE[0xf200]=0x69; 0x6f 只亮南北红XBYTE[0xf200]=0x6f; 0x09 南北红,东西黄XBYTE[0xf200]=0x09; 在具体的实验代码编写过程中,我们会用到EA=1;EX0=1;IT0=1;用于设定外部中断0为跳变沿触发方式,默认为电平触发方式。interrupt 0函数是处理有救护车驶过时的情况。 至此,程序编写完成,放入软件中进行编译和下载。

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

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

摘要 本设计是针对交通灯系统的设计,由单片机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)

51单片机综合实验交通灯设计报告

51单片机综合实验交通灯设计报告 班级: 学生姓名: 学号: 指导教师:

一实验题目 交通灯控制系统设计 二实验目的 1、学会用8051单片机开发简单的计算机控制系统; 2、学会用汇编语言和C语言开发系统软件; 3、学会8051单片机开发环境wave或Keil uVision3软件的使用; 4、学会Proteus软件的使用方法,会用Proteus单片机系统进行仿真; 5、学会Protel软件的使用方法,会用Protel绘制电气原理图和印制板图; 6、熟悉七位数码管显示的使用方法; 7、了解交通灯控制系统的基本组成。 三实验要求 交通灯处在十字路口上。它有红﹑黄﹑绿三种颜色的灯组成。红灯亮时道路上的车辆停止运行;黄灯是一种过渡用的信号灯,当它亮时,表示道路上的红绿色信号灯即将进行转换。下面拿东西南北四个方向来说明。当东西方向允许行车(或者左转)的时候,南北方向就禁止行车,即此时东西方向的绿灯亮红灯灭,而南北方向的绿灯灭红灯亮。反之当南北方向允许行车(或者左转)的时候,东西方向就禁止行车,即此时南北方向的绿灯亮红灯灭,而东西方向的绿灯灭红灯亮。交通灯配置示意图如图1所示。同时当有特殊的情况发生时,能手动控制各个方向的信号灯。设计任务就是将这一电路用单片机来实现具体的控制。

1 十字路口交通灯配置示意图 四 设计内容与原理 为了在后面的分析中便于说明,将南北方向允许直行命名为状态1,南北方向允许左转命名为状态2,南北方向行车到东西方向行车的转换阶段命名为状态3,将东西方向允许直行命名为状态4,东西方向允许左转命名为状态5,东西方向行车到南北方向方向行车的转换阶段命名为状态6。 假定直行绿灯点亮的时间为25s ,左转绿灯点亮的时间为20s ,黄灯点亮的时间为5s ,则对方红灯的点亮时间为50秒。黄灯每隔500ms 亮一次,之后灭500ms (亮灭一次叫作闪烁一次),一共闪烁5次,持续5s 。各个状态之间的变换情况如下: 具体显示周期如下:

单片机课程设计交通灯设计

课程设计(论文)任务书学院:电气工程学院 题目:基于单片机的 交通灯控制 起止时间2016年8月20日至2016年9月9日 学生姓名: abc 专业班级:本13电力05班 指导教师: ABC 系主任: ABC 院长: ABC 2016 年8月20日

摘要 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。 随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。道路拥挤现象日趋严重,造成的经济损失越来越大,并一直保持大比例的增长。现在交通系统已不能满足经济发展的需求。由于生活水平的提高,人们对交通运输的全性及服务水平提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。 中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。 关键词:单片机闯红灯检测车流量

交通灯单片机课程设计报告

南航科院 单片机课程设计 题目交通灯程序设计 系(部) 信息工程系 专业(班级) 电子信息工程 学号 指导教师

单片机原理及应用课程设计任务书系(部):专业:指导教师:

交通灯程序设计 摘要 本次单片机课程设计选择的题目是交通灯程序设计,主要是根据本学期所学的《单片机原理和接口技术》的知识,编写交通灯的控制程序,在WAVE6000集成调试软件上进行编译,并在Proteus 7 Professional软件上进行仿真,观看结果。在经过多次的调试和电路上的修改,实现了所需要的结果(达到了设计任务书上的要求)。主要涉及的容包括倒计时、中断等,使用芯片80C51进行程序控制。 关键词 AT89C51 LED显示交通灯

目录 1、交通灯程序 (5) 2、交通灯仿真电路 (8) 3、结论与心得 (9) 4、存在的不足及建议 (10) 参考文献 (10)

1、交通灯程序 #include //#include //?? #define uchar unsigned char #define uint unsigned int uchar h; uint r=0; uint s; uchar code dis[]={ 0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90,0Xff}; void delay(uint c) { uint i,j; for(i=0;i0;h--) { for(s=248;s>0;s--) { P0=0xff; P2=0x01; P0=dis[h/10]; delay(1); P0=0xff; P2=0x02; P0=dis[h%10]; delay(1); P0=0xff; P2=0x04; P0=dis[h/10]; delay(1);

单片机交通灯(含程序)解析

单片机课程设计报告 题目现代交通灯的设计 专业电气工程及其自动化 班级电气081 学号3080421029 学生姓名郭琪 指导老师王水鱼老师 2010年秋季学期 起止日期:2011年1月10日至2011年1月14日 平时(10%任务完成 (30% 答辩 (30% (30%

课设报告 总评成绩 目录 一、引言 3 二、概要设计 4 2.1设计思路 4 2.2设计的主要内容和要求 4 2.3总体设计框图 5 三、硬件设计 5 3.1LED 循环电路设计 6 3.1.189c51单片机概述 6 3.1.2 LED循环说明9 3.2 倒计时显示电路11 3.2.1 74LS164芯片11 3.2.2 共阴极数码显示管12 3.2.3 倒计时电路13 3.2.4 急通车电路13 四、软件设计14 4.1程序流程图14 4.2 LED红绿灯显示14 4.3 到计时显示16 4.4急通车控制16 4.5程序代码16

五、总结16 参考文献17 附录一: 18 附录二: 19 基于51 单片机的交通灯控制系统设计

摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51 单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED 信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一、引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19 世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”绿,色表示“注意”。1869年1 月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市 5 号大街的一座高塔上。红灯亮表示 “停止”绿,灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968 年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车 辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停

单片机交通灯实验报告(汇编语言)

实验四单片机交通灯实验 1、实验要求 本实验分两部分,第一部分是普通交通灯的模拟:初始状态0为东西红灯,南北红灯.然后转状态1南北绿灯通车,东西红灯.过一段时间转状态,南北绿灯闪几次转两黄灯,延时几秒,东西仍然红灯,再转状态3,东西绿灯通车,南北红灯.过一段时间转状态4.东西绿灯山几次转黄灯,延时几秒,南北仍然红灯,,最后循环至状态1。 第二部分在以上的基础上当有急救车到达时,两项交通信号为全红,以便让急救车通过.假定急救车通过路口时间为10秒,急救车通过后,交通恢复中断前状态.被实验已按键为终端申请,表示有急救车通过. 2、实验电路图 (1)十二端口控制 (2)六端口控制

3、实验程序如下 (1) 十二位控制ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN: MOV P1,#0F0H MOV P0,#0FFH MOV A,#00H MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB ET0 SETB EA SETB TR0 HERE: SJMP HERE IT0P: MOV TL0,#0B0H MOV TH0,#3CH INC A CJNE A,#50,L1 MOV P1,#0FCH MOV P0,#0F3H RETI L1: CJNE A,#100,L2 MOV P1,#03CH MOV P0,#0FFH RETI L2: CJNE A,#110,L3

MOV P1,#0FCH MOV P0,#0FFH RETI L3: CJNE A,#120,L4 MOV P1,#03CH MOV P0,#0FFH RETI L4: CJNE A,#130,L5 MOV P1,#0F3H MOV P0,#0FCH RETI L5: CJNE A,#180,L6 MOV P1,#0C3H MOV P0,#0FFH L6: CJNE A,#190,L7 MOV P1,#0F3H MOV P0,#0FFH RETI L7: CJNE A,#200,L8 MOV P1,#0C3H MOV P0,#0FFH L8: CJNE A,#210,BUTTON MOV P1,#0F0H MOV P0,#0FFH CLR A RETI BUTTON:RETI END (2) 六位控制ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P ORG 0013H LJMP IT1P MAIN: MOV P0,#09H MOV A,#00H MOV TL0,#0B0H MOV TMOD,#61H MOV TL0,#0FFH MOV TH0,#0FFH SETB ET0 SETB EA SETB TR0 SETB PX1

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

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

摘要 本设计是针对交通灯系统的设计,由单片机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)

相关文档
最新文档