加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機的交通燈設計【五岔路,左右拐,固定時間】(仿真)

11/18 08:52
781
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內容為數(shù)字版權作品,購買后不支持退換且無法轉移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關方案
  • 方案介紹
  • 相關文件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

五岔路口的交通燈設計

1、道路包含2條主干道和1條支干道

2、設計合理的交通燈規(guī)則,控制道路通行

3、數(shù)碼管顯示倒計時時間

4、通行時間固定,可在程序內修改

#include<reg51.h>
#include "74hc595.h"
#define uchar unsigned char 
#define uint unsigned int

sbit smg1=P2^0;//數(shù)碼管引腳
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit smg5=P2^4;
sbit smg6=P2^5;
sbit smg7=P2^6;
sbit smg8=P2^7;
sbit smg9=P3^0;
sbit smg10=P3^1;
sbit smg11=P3^2;
sbit smg12=P3^3;

uchar num1=0xff,num2=0xff,num3=0xff;//LED控制
//數(shù)碼管編碼
uchar code tabel[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uchar sec=0;	  //定時
uchar miao1=0,miao2=0,miao3=0,miao4=0,miao5=0,miao6=0;//時間
uchar mode=0;		  //路燈工作順序
uchar zhi1=25,zuo1=10,zhi2=20,zuo2=10,zhi3=15;//時間設置

void set_led()//設置路燈
{
	Hc595SendByte(num1);
	Hc595SendByte(num2);
	Hc595SendByte(num3);
	RCLK = 0;
	_nop_();
	_nop_();
	RCLK = 1;
}
//1路口
void run1_1()
{
	num3 |=0x01;
}
void run1_0()
{
	num3 &=0xfe;
}
void left1_1()
{
	num3 |=0x02;
}
void left1_0()
{
	num3 &=0xfd;
}
void yellow1_1()
{
	num3 |=0x04;
}
void yellow1_0()
{
	num3 &=0xfb;
}
void red1_1()
{
	num3 |=0x08;
}
void red1_0()
{
	num3 &=0xf7;
}
//2路口
void run2_1()
{
	num3 |=0x10;
}
void run2_0()
{
	num3 &=0xef;
}
void left2_1()
{
	num3 |=0x20;
}
void left2_0()
{
	num3 &=0xdf;
}
void yellow2_1()
{
	num3 |=0x40;
}
void yellow2_0()
{
	num3 &=0xbf;
}
void red2_1()
{
	num3 |=0x80;
}
void red2_0()
{
	num3 &=0x7f;
}
//3路口
void left3_1()
{
	num2 |=0x01;
}
void left3_0()
{
	num2 &=0xfe;
}
void run3_1()
{
	num2 |=0x02;
}
void run3_0()
{
	num2 &=0xfd;
}
void right3_1()
{
	num2 |=0x04;
}
void right3_0()
{
	num2 &=0xfb;
}
void yellow3_1()
{
	num2 |=0x08;
}
void yellow3_0()
{
	num2 &=0xf7;
}
void red3_1()
{
	num2 |=0x10;
}
void red3_0()

  • 有需要資料的可了解一下.docx

相關推薦

電子產業(yè)圖譜