200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 51单片机用C语言实现交通灯(红绿灯)源程序实训QY-KP1

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

时间:2021-10-14 03:50:24

相关推荐

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

源程序如下:

/*

1、程序目的:使用定时器学习 倒计时 红绿灯原理 主要程序和倒计时一样

2、硬件要求:数码管、晶振 12M

/

#include <reg52.h>

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

}

}

/********************************/

/定时中断 */

/********************************/

void tim(void) interrupt 1 using 1

{

static unsigned char second=60,count; //初值 60

TH0=0xd8;//重新赋值,10 毫秒定时

TL0=0xf0;

count++;

if (count100)

{

count=0;

second–;//秒减 1

if(second0)

{ //这里添加定时到 0 的代码 ,可以是灯电路,继电器吸合等,或者执

行一个程序

if(red) //红灭,先转黄

{

red=0;yellow=1;

second=4;

P1=0xF3;//黄灯亮 4 秒,黄灯为过渡灯,再根据情况转绿或转红

}

else if(yellow && !turnred)

{

yellow=0;green=1;

second=25;

P1=0xCF;//绿灯亮 25 秒,

}

else if(green)

{

yellow=1;green=0;

second=4;

P1=0xF3;//黄灯亮 4 秒

turnred=1;

}

else if(yellow && turnred) //绿灯灭,转黄灯,后红灯,

turnred=1 时

{

red=1;yellow=0;

P1=0xFC;//红灯亮 60 秒

second=60;

turnred=0; //接下来是转黄,绿。

}

}

Dis_Shiwei=tab[second/10];//十位显示值处理

Dis_Gewei=tab[second%10]; //个位显示处理

QY-KP1交通灯智能控制及闯红灯抓拍实训系统主要由十字路口交通模型、交通信号控制机(柜)、闯红灯抓拍系统(电子警察)、远程监控软件四部分组成。主要适用于国内“智能交通工程”、“公路运输与管理”、“高等级公路维护与管理”、“交通安全与智能控制”等相关专业的实训教学。

交通信号控制器:由S7-226 PLC(24路数字量输入/16路继电器输出)及2个EM223(16路数字量输入/16路继电器输出)开关量模块组成。通过对I/O接口的编程,控制器可以实现对交通灯的红、绿、黄灯定时控制及倒计时的信号触发(倒计时由单片机控制板控制,当单片机接收到PLC的倒计时开始信号时,倒计时电路开始显示9,然后每隔1s递减1,直至显示完1后,倒计时显示灯熄灭,当接收到下一个倒计时又重新开始倒计时显示)控制。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。