• 方案介紹
    • 1.? 簡介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設計報告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機的智能控制交通燈設計(一)

04/17 08:42
818
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

單片機仿真設計合集資料獲取.pdf

共1個文件

資料清單:C程序+仿真+設計報告+使用說明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語言:C語言

設計編號:【M04】

1.? 簡介

? 本文提出了一種基于51單片機的智能控制交通燈設計。該設計在硬件方面主要采用AT89C51單片機作為主控核心,結合獨立按鍵、數(shù)碼管、LED燈,實現(xiàn)不同的紅綠燈切換時間,并且具有倒計時的功能。

2.? 主要功能

a.當主干道通行亮綠燈時,支干道亮紅燈,而支干道亮綠燈時,主干道亮紅燈。

b.主支干道交替通行,主干道每次放行30s、支干道25s,設計30s和25s計時顯示電路

c.在過程中間,要亮5s的黃燈作為過渡,設置5s計時顯示電路。

d.有緊急車輛要求通過時,系統(tǒng)要能禁止東西或南北兩條路上所有的車輛通行。

e.夜間模式:東西南北方向黃燈閃爍。

f.禁止模式:東西南北方向紅燈亮起,禁止通行。

g.支持對東西、南北方向的倒計時時間調(diào)整。

3.? 源程序(Keil5)

本設計采用keil5 C51軟件(內(nèi)附安裝包)實現(xiàn)程序設計。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。

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

uchar data buf[4];             //秒顯示的變量
uchar data sec_dx=25;          //東西數(shù)默認
uchar data sec_nb=25;          //南北默認值
uchar data set_timedx=25;      //設真東西方向的時間
uchar data set_timenb=25;     //設置南北方向的時間
int n;
uchar data countt0,countt1;   //定時器中斷次數(shù)
//定義6組開關
sbit k4=P3^7;                   //切換方向
sbit k1=P3^5;                   //時間加
sbit k2=P3^6;                  //時間減
sbit k3=P3^4;                  //確認
sbit k5=P3^1;                  //禁止
sbit k6=P3^0;                  //夜間模式
sbit Red_nb=P2^6;             //南北紅燈標志
sbit Yellow_nb=P2^5;          //南北黃燈標志
sbit Green_nb=P2^4;           //南北綠燈標志.

sbit Red_dx=P2^3;             //東西紅燈標志
sbit Yellow_dx=P2^2;         //東西黃燈標志
sbit Green_dx=P2^1;          //東西綠燈標志

bit set=0;           //調(diào)時方向切換鍵標志=1時,南北;=0時,東西
bit dx_nb=0;         //東西南北控制位
bit shanruo=0;       //閃爍標志位,
bit yejian=0;        //夜間黃燈閃爍標志位

uchar code table[11]={                       //共陰極字型碼

	0x3f,        //--0
	0x06,        //--1
	0x5b,        //--2
	0x4f,        //--3
	0x66,        //--4
	0x6d,        //--5
	0x7d,        //--6
	0x07,        //--7
	0x7f,        //--8
	0x6f,        //--9
	0x00         //--NULL
};

//函數(shù)的聲明部分
void delay(int ms);
void key_to2();
void key_to3();
void display();
void key();
void logo();
//主程序
void main()
{
	TMOD=0X11;
	TH1=0X3C;
	TL1=0XB0;
	TH0=0X3C;
	TL0=0XB0;
	EA=1;
	ET0=1;
	ET1=1;
	TR0=1;
	TR1=0;
	EX0=1;
	EX1=1;
	logo();
	P2=0Xc3;
	sec_nb=sec_dx+5;
	while(1)
	{
		key(); 
		display();
	}
}
void key(void)                     //按鍵掃描子程序
{
	if(k1!=1)    //時間加
	{
		display();
		if(k1!=1)
		{
		TR0=0;
		shanruo=0;
		P2=0x00;
		TR1=0;
		if(set==0)
			set_timedx++;
		else
			set_timenb++;
		if(set_timenb==100)
			set_timenb=1;
		if(set_timedx==100)
			set_timedx=1;
		sec_nb=set_timenb;
		sec_dx=set_timedx;
		do
		{
			display();
		}
		while(k1!=1);
	}
}

4.? 仿真proteus8.6

? 本設計采用proteus8.6軟件(內(nèi)附安裝包)實現(xiàn)仿真設計,如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導出的,所以請盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

初始界面:

東西通行:

南北通行:

夜間模式:

禁止模式:

5.? 設計報告

設計報告主要包括硬件電路、軟件設計、仿真調(diào)試等等,僅供參考。

6.? 資料清單

設計資料主要包括C程序+仿真+設計報告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【M04】百度網(wǎng)盤下載鏈接

更多單片機仿真設計合集:單片機仿真設計合集

  • 單片機仿真設計合集資料獲取.pdf
    下載

相關推薦