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

基于51單片機(jī)的智能控制交通燈設(shè)計(二)

04/17 08:43
564
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計合集資料獲取.pdf

共1個文件

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

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

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計編號:【M05】

1.? 簡介

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

2.? 主要功能

a.當(dāng)主干道通行亮綠燈時,支干道亮紅燈,而支干道亮綠燈時,主干道亮紅燈。

b.主支干道交替通行,每次放行30s,設(shè)置亮5s的黃燈作為過渡。

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

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

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

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

3.? 源程序(Keil5)

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

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

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

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

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

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;
	while(1)
	{
		key(); 
		display();
	}
}

4.? 仿真proteus8.6

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

初始界面:

東西通行:

南北通行:

夜間模式:

禁止模式:

5.? 設(shè)計報告

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

6.? 資料清單

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

7.? 資料獲取鏈接

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

更多單片機(jī)仿真設(shè)計合集:單片機(jī)仿真設(shè)計合集

  • 單片機(jī)仿真設(shè)計合集資料獲取.pdf
    下載

相關(guān)推薦