仿真版本: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è)計合集