单片机C语言红绿灯

合集下载

单片机C语言LED灯点亮程序完全版

单片机C语言LED灯点亮程序完全版

1 例子 1 第二个灯亮

#include<>

void main()

{

P1=0xfd;

}

#include<>

Sbit D1=P1^0;

Void main()

{

D1=0

}

注意:略微改程序时需从头

例子 2 第一个灯亮

hex 化

#include<> include<>// 52 单片机头文件sbit led1=P1^0;// 单片机管脚位申明void main()// 主函数

{

unsigned int i; //定义一个int型变量

while(1)

{

i=50000; led1=0;// 变量赋初值为

// 点亮灯

50000

while(i--);// 延时

i=50000;

led1=1;// 熄灭灯

while(i--);

}

}

3 例子 1 3 5 7 灯同时亮

#include<> //52 单片机头文件

sbit led1=P1^0;// 单片机管脚位申明sbit led3=P1^2;// 单片机管脚位申明sbit led5=P1^4;// 单片机管脚位申明sbit led7=P1^6;// 单片机管脚位申明void main()// 主函数

{

led1=0; led3=0; led5=0; led7=0;// 将单片机口清零// 将单片机口清零// 将单片机口清零// 将单片机口清零

while(1);// 程序停止在这里,在后边会讲到为何这样写。

}

例子 2 1 3 5 7 同时亮

#include<> //52 单片机头文件void main()// 主函数{

单片机C语言LED灯点亮程序完全版

单片机C语言LED灯点亮程序完全版
for(y=600;y>0;y--);
}
带参数的比不带参数的要方便
例子2无参和有参的对比#include<>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P1^0;
//void delay();
void delay(uint);%带一个参数的,参数类型必须要写,参数可不写。比如可以写成uint z。也可以带多个参数
uchar y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}
例子3#include<>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P1^0;
sbit beep=P2^3;
void delay(uint);
void main()
{
temp=0xfe;
while(1)
{
for(num1=0;num1<3;num1++)
{
for(num=0;num<8;num++)
{
P1=temp;
beep=0;
delay(100);
temp=_crol_(temp,1);

单片机c语言程序设计---C51-交通灯实验报告

单片机c语言程序设计---C51-交通灯实验报告

单片机c语言程序设计---C51-交通灯实验报告

课程名称:单片机c语言设计实验类型:设计型实验

实验项目名称: C51-交通灯实验

一、实验目的和要求

1.熟悉单片机的硬件结构及其工作原理

2.掌握单片机的C51编程

二、实验内容和原理

(1)硬件设计

使用P1端口连接VD1、VD2、VD3,模拟路口东面的红、黄、绿灯;P0端口连接VD9、VD10、VD11,模拟路口西面的红、黄、绿灯;P3端口连接VD17、VD18、VD19,模拟路口南面的红、黄、绿灯;P2端口连接VD25、VD26、VD27,模拟路口北面的红、黄、绿灯。路口红绿灯的显示规律为:

①南面和北面显示红灯(即VD17和VD25为红灯)时,东面和

西面显示绿灯(即VD3和VD11为绿灯)。

②南面和北面,东面和西面都变成黄灯。

③南面和北面显示绿灯,东面和西面显示红灯

④南面和北面,东面和西面都变成黄灯,然后再从①进行循环

(需注意:此处设置的黄灯显示时长应短于红灯或绿灯的显示时长)

(2)protues仿真

通过Keil编译后,利用protues软件进行仿真。在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。

三、主要仪器设备

四、操作方法与实验步骤

1.按照硬件设计在protues上按照所给硬件设计绘制电路图。

2.在keil上进行编译后生成“xxx.hex”文件。

3.编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。

五、实验结果与分析

void S_N(void)

单片机C语言LED灯点亮程序完全版精编

单片机C语言LED灯点亮程序完全版精编

单片机C语言L E D灯点亮程序完全版精编

Document number:WTT-LKK-GBB-08921-EIGG-22986

1例子1第二个灯亮

#include

void main()

{

P1=0xfd;

}

#include

Sbit D1=P1^0;

Void main()

{

D1=0

}

注意:稍微改程序时需重新hex化

例子2第一个灯亮

#include //52单片机头文件

sbit led1=P1^0; //单片机管脚位声明

void main() //主函数

{

led1=0; //将单片机P1.0口清零

while(1); //程序停止在这里,在后面会讲到为什么这样写。

}

例子3第一个灯亮

#include //52单片机头文件

void main() //主函数

{

P1=0xfe; //将单片机P1口的8个口由高到低分别赋值为11111110

while(1); //程序停止在这里,在后面会讲到为什么这样写。

}

2例子1第三个灯闪烁fir循环

#include

sbit D2=P1^2;

unsigned int a;

void main()

{

D2=0;

for(a=0;a<=10000;a++){};

D2=1;

for(a=0;a<=10000;a++){};

}

例子2第三个闪烁while循环

#include

sbit D2=P1^2;

unsigned int a;

void main()

{

a=5000;

D2=0;

while(a--);

a=5000;

D2=1;

while(a--);

}

2.#include //52单片机头文件sbit led1=P1^0; //单片机管脚位声明void main() //主函数

项目8单片机应用技能实训(C语言)教案

项目8单片机应用技能实训(C语言)教案

单片机应用技能实训(C语言)教案—项目8

项目8 数字显示交通灯控制电路制作

任务1 项目相关知识学习

二、教学实施过程

图8-2 74LS541 74HC573逻辑符号图

2、简单I/O端口扩展举例

例8.1 利用两个8D锁存器74HC573扩展两个8

单片机扩展两个8位并行输出端口的硬件电路如图

在预处理命令中将p20定义为P2.0,将p21定义为

当需要将A中数据从U2输出时,执行如下指令:

p20=0; //U2锁存数据

图8-3 扩展并行输出

采用本例方法,利用P0、P2最多可扩展

口。

例8.2 采用74LS541和74LS373为单片机扩展

和8位并行输出端口。

扩展输入输出端口的硬件电路如图8-4

74LS373作为单片机的外部数据存贮器单元来进行操作。由于74LS541和74LS373通过逻辑电路只与16

连,都是在P2.0为0时被选通的,所以二者的口地址都为

图8-4

当需要输入和输出数据时可通过如下程序完成。

char xdata *p1=0xfeff; //定义外部数据地址

unsigned char a=0x02;

a=*p1; //将74LS541对应端口数据输入

图8-5 激活SRC_CONTROL

2、使用keil c进行编译注意事项

(1)将SRC_CONTROL激活。激活方法是:在

包含汇编语言程序的C文件上右击鼠标,从弹出的快捷菜单中选择Options for file命令,双击右边的Generate

File和Assemble SRC File,使复选框由无效变为有效状态。如图8-5所示。

任务2 数字显示交通灯控制电路硬件、软件设计

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

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

c o d eu n s i g n e dc h a rt a b [ ] = { 0 x 3 f , 0 x 0 6 , 0 x 5 b , 0 x 4 f , 0 x 6 6 , 0 x 6 d , 0 x 7 d , 0 x 0 7 , 0 x 7 f , 0 x 6 f } ; / / 共阴数码管 0 9 u n s i g n e dc h a rD i s _ S h i w e i ; / / 定义十位 u n s i g n e dc h a rD i s _ G e w e i ;/ / 定义个位 v o i dd e l a y ( u n s i g n e di n tc n t ) { w h i l e ( c n t ) ; } m a i n ( ) { T M O D| = 0 x 0 1 ; / / 定时器设置 1 0 m si n1 2 Mc r y s t a l 定时器 0 ,工作方式 1 ,1 6 位定时器 T H 0 = 0 x d 8 ; / / 6 5 5 3 5 1 0 0 0 0 = 5 5 5 3 5 = D 8 F 0 (十六进制) T L 0 = 0 x f 0 ; I E =0 x 8 2 ;/ / 中断控制,E A = 1 开总中断,E T 0 = 1 :定时器 0 中断允许 T R 0 = 1 ; / / 开定时器 0 中断 P 1 = 0 x f c ; / / 红灯亮,根据红黄绿接灯的顺序。 r e d= 1 ; w h i l e ( 1 ) { P 0 = D i s _ S h i w e i ; / / 显示十位,这里实现用 8 位数码管,即左 1 位 P 2 = 0 ; d e l a y ( 3 0 0 ) ; / / 短暂延时 P 0 = D i s _ G e w e i ;/ / 显示个位,左数,2 位 P 2 = 1 ;

51单片机c语言交通灯设计报告

51单片机c语言交通灯设计报告

xxxxxxxxx

基于AT89S52交通灯设计

学院:电子信息工程

专业班级: xxxxxxxxxxxxxx

姓名: xx xx

学号: xxxxxxxxxxx

指导老师: xxxxxxxxxx

摘要

交通灯在我们日常生活中随处可见,它在交通系统中处于至关重要的位置。交通灯的使用大大减少了交通繁忙路口的事故发生,给行人和车辆提供一个安全

的交通环境,人们的生命和财产安全有了保障。本设计旨在模拟十字路口的交通灯,以AT89S51单片机为基础,结合按键和数码管等元器件设计出一个简单且完全的交通灯系统。

关键词:交通灯 AT89S52 单片机

目录

一、设计任务 (4)

二、AT89S52单片机及其他元器件简介 (4)

(1)AT89S52单片机 (4)

三、系统硬件电路设计 (6)

(1)时钟电路设计 (6)

(2)复位电路设计 (6)

(3)灯控制电路设计 (7)

(4)按键控制电路设计 (7)

四、元件清单及实物图 (8)

1、程序清单 (8)

2、原理图 (9)

五、实验心得 (9)

附1 源程序代码 (10)

附2 原理图 (16)

一、设计任务

(1)、设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两条交叉道路上的车辆交替运行,每次通行时间都设30秒,时间可设置修改。

(2)、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道,且黄灯亮时,要求每秒亮一次。

(3)、有紧急车辆要求通过时,系统要能禁止东西和南北两条路上所有的车辆通行。

二、AT89S52单片机及其他元器件简介

(1)AT89S52单片机

AT89S52是一种低功耗、高

用C语言控制灯的亮灭

用C语言控制灯的亮灭

THANKS FOR WATCHING
感谢您的观看
遇到的问题和解决方案
在项目实施过程中,我们遇到了通信协议不一致 、数据传输错误等问题。通过调整串口通信参数 、优化数据校验等方式,最终解决了这些问题。
技术应用
在项目中,我们使用了C语言的串口通信功能,以 及与硬件设备交互的API。此外,还涉及到了基本 的逻辑控制语句,如if-else、switch等。
如果LED灯不亮或常亮,可能是代码逻辑错误或硬件连接问题,需 要进一步排查。
LED灯闪烁异常
如果LED灯闪烁异常,可能是代码逻辑错误或微控制器响应超时, 需要检查代码和硬件连接。
05
总结与展望
项目总结
实现功能
通过C语言编程,成功实现了对灯的亮灭控制。程 序能够根据用户的输入指令,通过串口通信发送 相应指令给硬件设备,从而控制灯的开关状态。
示例代码
DDRB |= (1 << PB5); // 设置PB5为输出模式
int main(void) {
```c
01
03 02
示例代码
while (1) { PORTB ^= (1 << PB5); // 切换LED灯的状态 _delay_ms(500); // 延时500ms
示例代码
}
return 0;
编程步骤

单片机8个按键分别控制8个led灯c语言代码

单片机8个按键分别控制8个led灯c语言代码

//P0 接八个LED灯;P1接八个独立按键

#include <>

#define uchar unsigned char

#define BITSET(u,i,v) ( (u) = (u)&~(1<<(i)) | (v)<<(i) )

//将uchar u的第i位设置为布尔值v

#define BITVAL(u,i) ( ( (u)&(1<<(i)) )>0 )

//显示uchar u的第i位,0或1

#define BITCH(u,i) ( BITVAL(u,i)>0 BITSET(u,i,0):BITSET(u,i,1) ) //将uchar u的第i位取反

uchar key1;//存储旧的P1

void delay10ms(void)

{

unsigned char a,b,c;

for(c=1;c>0;c--)

for(b=38;b>0;b--)

for(a=130;a>0;a--);

}

void getkey()

{

u char key2=~P1,i;

i f(key2==0 && key1!=0)

{

for(i=0;i<8;i++)

{

if(BITVAL(key1,i)==1)

{BITCH(P0,i);break;}

}

}

k ey1=key2;

}

void main(void)

{

k ey1=~P1;

P0=0;

w hile(1)

{

getkey();

delay10ms();

}

}

单片机控制LED灯点亮(C语言)PPT课件

单片机控制LED灯点亮(C语言)PPT课件
▪ 以下各数是合法的十六进制整常数: 0X2A( 十进制为42) 0XA0 (十进制为160) 0XFFFF ( 十进制为65535)
▪ 以下各数不是合法的十六进制整常数: 5A ( 无前缀0X) 0X3H (含有非十六进制数码)
.
26
各种进位制的对应关系
十进制 二进制
0
0
1
1
2
10
3
11
4
100
▪{
▪ uint x,y;
▪ for(x=100;x>0;x--)

for(y=600;y>0;y--)

;
▪}
▪ 注意:第二个for循环体是一条空语句。
.
35
▪ 5)for循环
▪ for (表达式1;表达式2;表达式3) { 语句(内部可为空)} 执行过程: 1.求解一次表达式1. 2.求解表达式2,若其值为真(非0 即为真) ,则执行for中语句。然后执行第3步。否则结 束for 语句,直接跳出,不再执行第3步。 3.求解表达式3. 4.跳到第2步重复执行。
▪ C语言中的例子:
#define PI 3.1415926 2)函数声明
函数声明是指函数的定义在后面,而前面需要对 它进行调用,这样就需要预先作声明,一般来说函 数的声明只是函数首部加上分号即可。
.
31

51单片机控制的交通灯系统实验报告

51单片机控制的交通灯系统实验报告

系统实验报告

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

专业:XX

学生姓名:xx XX

学号:***********

指导教师:wwwwwwwwwww

2000年x月x日

目录

1 设计任务和性能指标 (1)

1.1设计任务 (1)

1.2性能指标 (1)

2 设计方案 (2)

2.1任务分析 (2)

2.2方案设计 (2)

3 系统硬件设计 (3)

3.1单片机的最小系统 (3)

3.2电源电路 (4)

3.3数码管显示时间电路设计 (4)

3.4信号灯控制电路设计 (5)

4 系统软件设计 (5)

4.1主程序设计 (5)

5 调试及性能分析 (6)

5.1调试分析 (6)

5.1.1 软件调试 (6)

5.1.2 硬件调试 (6)

5.1.3 系统功能调试 (6)

6 心得体会 (6)

参考文献 (8)

附录1 系统原理图 (9)

附录3 程序清单 (10)

附录3元器件清单 (14)

1 设计任务和性能指标

1.1设计任务

利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。 1.2性能指标

1. 状态1:仅亮灯,数码管不工作。

按下键4,红/黄/绿三色灯交替亮:

红—〉(20秒)黄(闪烁)—〉(5秒)绿—〉(20秒) 黄(闪烁)—〉(5

秒)红

2. 状态2:灯和数码管相结合,模拟十字路口的交通灯 在以上功能的基础上数码管倒计时显示时间。

单片机交通灯原理

单片机交通灯原理

单片机交通灯原理

单片机交通灯的原理主要是通过单片机进行控制。单片机作为整个硬件系统的核心,既是协调整机工作的控制器,又是数据处理器。在交通灯系统中,单片机主控制器负责接收来自传感器等输入设备的信号,并根据预设的逻辑控制交通灯的信号显示。

具体来说,单片机通过一系列的输入/输出口与外部设备进行连接。例如,

它可以接收来自车辆和行人传感器的信号,以了解当前交通流量和行人行走情况。基于接收到的信号,单片机通过编写程序实现对发光二极管的控制,来模拟交通信号灯的管理。

以一个十字路口的交通灯为例,初始状态时东西方向绿灯通车,南北方向红灯亮起。经过30秒后,状态切换至东西绿灯灭黄灯亮,南北红灯灭黄灯亮。再过5秒,状态切换至南北绿灯通车,东西红灯亮起。经过30秒后,状态切换至南北绿灯灭黄灯亮,东西红灯灭黄灯亮。这个过程会循环往复,以此来实现交通信号灯的自动控制。

总之,单片机交通灯原理就是通过单片机接收外部信号并根据预设逻辑控制交通灯的显示状态,以实现交通的智能化管理。

单片机红绿灯的设计实验报告

单片机红绿灯的设计实验报告

单片机红绿灯的设计实验报告

一、实验目的

1.了解单片机的基本功能与使用方法;

2.学习使用Keil C51 编译器和Proteus仿真软件;

3.掌握单片机编程语言C语言的基本语法和直接控制IO口的方法;

4.通过设计红绿灯控制系统,加深对单片机的理解并培养自己的创新意识。

二、实验基本原理

1.单片机的基本组成

①微处理器

是主要控制计算机系统工作的核心部件,包括指令寄存器、程序计数器、通用寄存器、测试和调试功能等。

②存储器

存储程序和数据,常见的有ROM、EPROM、RAM等。

③输入输出端口

把微处理器与外部器件相连,常见的有通用输入输出口I/O口、定时器/计数器、串行通信口等。

2.单片机的编程基础

C语言是单片机编程最常用的编程语言之一,其基本语法与PC编程语言相同,但要了解单片机IO口的使用和编程方法。

3.红绿灯系统的设计

本系统采用双向流量控制时相同步控制灯光,主要由四个模块组成:

(1)计数器模块

计数器模块是用来设置红绿灯系统时间的基本模块,通过定时器,定时器溢出时计数器加1,灯开始切换。

(2)红灯亮模块

红灯亮模块是用来控制红灯亮起的模块,主要是通过配置P1.0口来实现,当P1.0输出1时亮红灯,P1.0输出0时灯灭。

(3)绿灯亮模块

绿灯亮模块是用来控制绿灯亮起的模块,主要是通过配置P1.1口来实现,当P1.1输出1时亮绿灯,P1.1输出0时灯灭。

(4)黄灯亮模块

黄灯亮模块是用来控制黄灯亮起的模块,主要是通过配置P1.2口来实现,当P1.2输出1时亮黄灯,P1.2输出0时灯灭。

三、实验步骤

1. 确定系统方案,设计电路图;

完整单片机交通灯课程实验报告

完整单片机交通灯课程实验报告

课程设计任务书

学生姓名:王凯专业班级:电子科学与技术0901班

指导教师:吴友宇工作单位:信息工程学院

题目: 交通信号灯控制器的设计

初始条件:

本设计既可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建交通信号灯控制器。

用数码管显示时间计数值,用红、黄、绿LED作信号灯。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具

体要求)

1、课程设计工作量:1周。

2、技术要求:

①要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示),每次通行

时间设为0—30秒(可预置);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间。其余部分可根据情况自行发挥。

②确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述

基本原理。

③绘制总体电路原理图。

3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。

时间安排:

1、2011 年7 月3 日集中,作课设具体实施计划与课程设计报告格式的要求说明。

2、2011 年7 月3 日,查阅相关资料,学习电路的工作原理。

2、2011年7 月4 日至2011 年7 月5日,方案选择和电路设计。

2、2011 年7 月6日至2011 年7 月7 日,电路调试和设计说明书撰写。

3、2011 年7 月8 日上交课程设计成果及报告,同时进行答辩。

指导教师签名:年月日

系主任(或责任教师)签名:年月日

51单片机c语言交通灯设计报告

51单片机c语言交通灯设计报告

xxxxxxxxx

基于AT89S52交通灯设计

学院:电子信息工程

专业班级:xxxxxxxxxxxxxx

姓名:xx xx

学号:xxxxxxxxxxx

指导老师:xxxxxxxxxx

摘要

交通灯在我们日常生活中随处可见,它在交通系统中处于至关重要的位置。

交通灯的使用大大减少了交通繁忙路口的事故发生,给行人和车辆提供一个安全的交通环境,人们的生命和财产安全有了保障。本设计旨在模拟十字路口的交通灯,以AT89S51单片机为基础,结合按键和数码管等元器件设计出一个简单且完全的交通灯系统。

关键词:交通灯AT89S52 单片机

目录

一、设计任务 (4)

二、AT89S52单片机及其他元器件简介 (4)

(1)AT89S52单片机 (4)

三、系统硬件电路设计 (6)

(1)时钟电路设计 (6)

(2)复位电路设计 (6)

(3)灯控制电路设计 (7)

(4)按键控制电路设计 (7)

四、元件清单及实物图 (8)

1、程序清单 (8)

2、原理图 (9)

五、实验心得 (9)

附1 源程序代码 (10)

附2 原理图 (16)

一、设计任务

(1)、设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两条交叉道路上的车辆交替运行,每次通行时间都设30秒,时间可设置修改。

(2)、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道,且黄灯亮时,要求每秒亮一次。

(3)、有紧急车辆要求通过时,系统要能禁止东西和南北两条路上所有的车辆通行。

二、AT89S52单片机及其他元器件简介

(1)AT89S52单片机

AT89S52是一种低功耗、高

初学单片机三按键控制三灯c语言程序

初学单片机三按键控制三灯c语言程序
{
d2=0;
do{
do{
;
}while(k2==0);
delay(10);
}while(k2==0);
d2=1;
}
}
if(k3==0)
{
delay(10);
if(k3==0)
{
d3=0;
do{
do{
;
}while(k3==0);
delay(10);
}while(k3==0);
d3=Βιβλιοθήκη Baidu;
}
}
}
}
void delay(unsigned int n)
d1=1;
d2=1;
d3=1;
k1=1;
k2=1;
k3=1;
while (1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
d1=0;
do{
do{
;
}while(k1==0);
delay(10);
}while(k1==0);
d1=1;
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
unsigned int x,y;
for(x=0;x<n;x++)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要

我所做的就是在一个51单片机开发板上模拟出一个简易的十字路口的交通灯,包含了时间,红灯,黄灯,绿灯等信息。

What I did was (to) on a 51 MCU development board to simulate a simple traffic lights at an intersection, contains the time, the red light, yellow light, green light and other information.

关键词

定时器中断的用法编程的逻辑位选控制段码控制

目录

摘要 (1)

关键词 (1)

正文: (3)

1.功能 (3)

2.硬件电路 (3)

3.软件编写 (5)

4.结论 (8)

5.对课程建议 (9)

正文

1.功能

交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。

2.硬件电路

3.软件编写

4.结论

本系统就是利用了AT90C51芯片的I/O引脚。系统采用美国ATMEL公司生产的单片机AT90C51,以及其它芯片(如:74HC164、74LS04六位反向器、L7805三端稳压电源)来设计交通灯控制器,实现了红灯亮40秒,绿灯亮20秒,黄灯亮3秒。并通过AT90C51来控制74LS04芯片的输出口设置红、绿灯燃亮的功能和控制74HC164来实现在七段数码管上的时间显示;为了系统稳定可靠系统内集成了“看门狗”芯片,避免了系统因为死机而停止工作的情况发生。系统设计简便、实用性强、操作简单、程序设计简便。

系统不足:只有横纵双向,没有转向灯。还没有充分考虑的把现代管理、人工智能运用到交通的控制中,来计算交通控制点之间的距离,来更合理的安排红、绿灯的持续时间,使城市的交通管理更加人性化。使人们远离目前的交通拥塞的现象。

5.对课程建议

感谢老师对我们的教导,希望老师能够讲得生动一点,最好再带有实物的讲解,以便我们更能直观的了解。

参考文献

《51单片机工程师是怎样炼成的——基于C语言+Proteus仿真》——电子工业出版社

《新概念51单片机C语言教程——入门、提高、开发、拓展全攻略》——电子工业出版社

相关文档
最新文档