導航:首頁 > 操作系統 > 單片機交通燈按鍵功能有哪些

單片機交通燈按鍵功能有哪些

發布時間:2022-08-18 11:21:07

單片機模擬交通信號燈設計

交通信號燈應該很簡單的,發個簡單的模擬圖給你看看

⑵ 交通信號燈管理系統的主要功能有哪些

交通信號燈管理系統,交通設施行業術語為交通信號控制機,是交通信號燈的一款集成控制系統,主要功能是通過網路協調控制交通路口的紅綠燈顯示、倒計時器顯示等,也是交通信號燈管理控制的智能中樞「大腦」。以下是交通信號機的功能特點介紹:

交通信號機主要有控制機櫃、集成控制系統、手持終端或手持遙控等部分組成。

KZJ-44信號機採用單片機及12C匯流排技術進行控制,工業級CPU、軟硬體看門狗技術、能在各種惡劣條件下工作。硬體設計將信號機電源與輸出負載電源分離,當負載迴路發生短路故障時,能自動斷開輸出迴路,並有指示燈指示。本機軟體設計思路先進,操作簡便易行,能方便實現44路輸出控制,適用於通行情況較復雜的路口,配合方向指示信號燈及人行信號燈使用。

產品特點:

KZJ-44型具有10路輸出的多時段定時式信號機,採用8位工業級51單片機,面板模擬路口運行,車道及人行道顯示,6位LED數碼管多個設置按鍵,構成友好人機對話界面。

產品功能:

1、 具有44路輸出

2、 四種運行模式,分別為平日、雙休日、假日、臨時,每種模式設置十個時段,每個時段內最多可設置8個相位;

3、 信號燈停電後繼續自動走時,數據在十年以內時間不丟失;

4、 如遇緊急情況,可以手動強制通行;

5、 內設硬體、軟體看門狗技術;

6、 可設置夜間黃閃和信號燈全部關閉功能;

7、 在信號燈轉換時,可設置綠閃、紅閃、紅黃同亮三種轉換模式;

8、 具有故障自動檢測功能,可以檢測紅綠燈故障、是否有綠沖突;

9、 帶有外接手控操作面板介面,方便手控操作。

10、 全金屬外殼設計,具有防塵、防電磁干擾、耐用、可靠性好等特點。

交通信號機,交通信號燈的中樞「大腦」

⑶ 單片機中十字路口交通信號燈的過程,內容,原理

基於單片機的十字路口交通燈設計

摘要:知道了交通燈的重要性,而對於交通燈最重要的是單片機。跟隨單片機的應用正在不斷深入,同時帶動傳統控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統中,單片機通常作為一個核心部件來使用,僅憑對單片機簡單了解是不夠的,應該根據具體硬體結構並且軟硬體結合,實現自己想要達到的目的。單片機自問世以來,性能不斷提高和完善,所以實用許多場合。單片機具有集成度高、功能多、速度快、體積小、功耗低、使用方便、性能可靠、價格便宜,其易於產品化、抗干擾能力強、可以在惡劣的情況下堅持工作。特別是它強大的面向控制能力,使它在工業控制領域,智能儀表、外設控制、家用電器、機器人、軍事裝置等方面得到了廣泛的應用。 考慮到單片機具有物美價廉、靈活方便、還有各種優秀的特點,所以我們從中選擇用MCS-51系列單片機AT89C51單片機來實現十字路口交通信號燈的控制。單片機系統的實體和裝置,通常由運算器、控制器、存儲器、輸入介面電路和輸入設備、輸出介面電路和輸出設備等組成。單片機實質上是一個硬體的晶元,在實際應用中,通常很難直接和被控對象進行電氣連接,必須外加各種擴展介面電路、外部設備、被控對象等硬體和軟體,才能構成一個單片機應用系統。該交通燈擬系統的硬體部分主要由鍵盤、顯示和運算部分組成,再根據實際車流量通過8051晶元的P3口設置紅、綠燈燃亮時間的功能;紅綠燈循環點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過P1口輸出,顯示時間通過P0口輸出至雙位數碼管)。本系統設計周期短、可靠性高、實用性強、操作簡單、維護方便、擴展功能強。

關鍵詞:單片機、MCS-51系列單片機AT89C51、交通燈

⑷ AT89S51 單片機控制交通燈程序(匯編語言)

ORG0000H

LJMPSTART

ORG0003H;INT0中斷入口地址

LJMPINT0

ORG0040H

START:

MOVSP,#60H

SETBEX0;INT0中斷有效

SETBIT0

SETBEA

LCALLSTATUS0;初始狀態(都是紅燈)

CIRCLE:

LCALLSTATUS1;南北綠燈,東西紅燈

LCALLSTATUS2;南北綠燈閃轉黃燈,東西紅燈

LCALLSTATUS3;南北紅燈,東西綠燈

LCALLSTATUS4;南北紅燈,東西綠燈閃轉黃燈

LJMPCIRCLE

INT0:

PUSHPSW;保護現場

PUSH2

PUSHACC

MOVDPTR,#8300H

MOVA,#0FH;南北,東西都亮紅燈

MOVX@DPTR,A

MOVR2,#100;延時10秒

LCALLDELAY

POPACC;恢復現場

MOVX@DPTR,A

POP2

POPPSW

RETI

STATUS0:;南北紅燈,東西紅燈

MOVDPTR,#8300H

MOVA,#0FH

MOVX@DPTR,A

MOVR2,#10;延時1秒

LCALLDELAY

RET

STATUS1:;南北綠燈,東西紅燈

MOVDPTR,#8300H

MOVA,#96H;南北綠燈,東西紅燈

MOVX@DPTR,A

MOVR2,#200;延時20秒

LCALLDELAY

RET

STATUS2:;南北綠燈閃轉黃燈,東西紅燈

MOVDPTR,#8300H

MOVR3,#03H;綠燈閃3次

FLASH:

MOVA,#9FH

MOVX@DPTR,A

MOVR2,#03H

LCALLDELAY

MOVA,#96H

MOVX@DPTR,A

MOVR2,#03H

LCALLDELAY

DJNZR3,FLASH

MOVA,#06H;南北黃燈,東西紅燈

MOVX@DPTR,A

MOVR2,#10;延時1秒

LCALLDELAY

RET

STATUS3:;南北紅燈,東西綠燈

MOVDPTR,#8300H

MOVA,#69H

MOVX@DPTR,A

MOVR2,#200;延時20秒

LCALLDELAY

RET

STATUS4:;南北紅燈,東西綠燈閃轉黃燈

MOVDPTR,#8300H

MOVR3,#03H;綠燈閃3次

FLASH1:

MOVA,#6FH

MOVX@DPTR,A

MOVR2,#03H

LCALLDELAY

MOVA,#69H

MOVX@DPTR,A

MOVR2,#03H

LCALLDELAY

DJNZR3,FLASH1

MOVA,#09H;南北紅燈,東西黃燈

MOVX@DPTR,A

MOVR2,#10;延時1秒

LCALLDELAY

NOP

RET

DELAY:;延時子程序

PUSH2

PUSH1

PUSH0

DELAY1:

MOV1,#00H

DELAY2:

MOV0,#0B2H

DJNZ0,$

DJNZ1,DELAY2;延時100mS

DJNZ2,DELAY1

POP0

POP1

POP2

RET

這是我們的實驗,程序肯定沒問題。至於ULN2803,只是一個增大電流,電壓的晶元,因為51單片機本身的電流太小。你改一下就好。至於其他不明白的地方,可以交流。QQ375778861

⑸ 單片機交通燈按鍵設置將幾個按鍵做I/O分配

單片機用的是哪種型號的?有特殊功能的引腳盡量別用,容易出問題

根據交通功能需要多少按鍵就分配多少I/O口,比如復位按鍵、時間設置按鍵、時間加按鍵、時間減按鍵、返回按鍵,總共5個按鍵可以搞定。

⑹ 51單片機C語言程序:交通燈系統

這種問題一般沒人會的,像 CSDN、程序員網 等等有類似的設計,你可以去看看

⑺ 用單片機做交通燈,這么做

基於單片機的交通燈設計
時間:2010-12-08 21:43:12 來源: 作者:
一、 系統功能要求:
1. 設計任務在一十字路口設置交通燈,並用單片機對其進行合理的控制。
時間方向 控制要求
白天 東西 綠燈 黃燈 紅燈 南北 紅燈 綠燈 黃燈
晚上 東西 黃燈 南北 紅燈
2.總體設計方案現在流行的一種設計為兩主幹線相交的十字路。本設計採用一主幹道(南北方向),一從幹道(東西方向)的路口,即主幹道的通行時間為從幹道的2倍。在正常情況下,兩幹道的交通燈按圖1進行轉換,並以倒計數的方式將剩餘時間顯示在每個幹道對應的兩位LED上;另發揮部分為當出現緊急情況時,路口的交通燈全為紅燈,緊急情況解除時,恢復到原來的狀態。
二、 總體設計方案提示:
1.假設一個十字路口為東西南北走向。初始狀態0為東西紅燈,南北紅燈。然後轉狀態1東西綠燈通車,南北紅燈。過一段時間轉狀態。
2.東西綠燈滅,黃燈閃爍幾次,南北仍然紅燈。再轉狀態。
3.南北綠燈通車,東西紅燈。過一段時間轉狀態。
4.南北綠燈滅,閃幾次黃燈,延時幾秒,東西仍然紅燈。最後循環至狀態1。
三.硬體設計
電路原理圖如下:

四、軟體設計
1、 流程圖

2、程序設計
ORG 0000H
MOV P0,#00H ;確保P0為低電位
lJMP MAIN0
ORG 0030H
MAIN0: MOV 30H,#08H
MOV R6,#00H
MOV R7,#00H
MOV DPTR,#TABLE ;取數碼管的解碼
MOV TMOD,#01H ;設計定時方式及時間
MOV TL0,#0CDH
MOV TH0,#0BH
SETB TR0
MOV IE,#00H
MAIN: MOV P1,#0F3H ;南北綠燈,東西紅燈
MOV R6,#1EH ;紅燈30s倒計時
MOV R7,#19H ;綠燈25s倒計時
MAIN1:CALL DELAY ;1S延時子程序
JB P0.1,REL1 ;判斷是否有東西方向按鈕按下
CJNE R7,#00H,MAIN1 ;判斷綠燈25s是否倒計完
MOV P1,#0F5H ;南北黃燈,東西紅燈
MAIN2:CALL DELAY
MOV R7,#00H ;紅燈繼續倒計時,黃燈閃爍,保持0s
CPL P1.1 ;黃燈閃爍
CJNE R6,#00H,MAIN2 ;判斷紅燈是否倒計時完
MOV P1,#0DEH ;南北紅燈,東西綠燈
MOV R7,#1EH
MOV R6,#19H
MAIN3:CALL DELAY
JB P0.0,REL2
CJNE R6,#00H,MAIN3
MOV P1,#0EEH
MAIN4:CALL DELAY
MOV R6,#00H
CPL P1.4
CJNE R7,#00H,MAIN4
JMP MAIN
REL1:MOV P1,#0F5H ;東西方向按鈕按下,南北方向強制由綠燈變成黃燈警告
MOV R6,#05H
MOV R7,#00H
JMP MAIN2
REL2:MOV P1,#0EEH ;南北方向按鈕按下,東西方向強制由綠燈變成黃燈警告
MOV R7,#05H
MOV R6,#00H
JMP MAIN4
;1s延時子程序
DELAY:MOV A,R6 ;進行南北方向倒計時時間的十進制調整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR ;找尋相應的數碼管代碼
MOV P2,#01H
MOV P3,A ;輸出個位
MOV R4,#4 ;降低動態顯示頻率
LOOP2:MOV R3,#125
LOOP3:DJNZ R3,LOOP3
DJNZ R4,LOOP2
MOV A,B
MOVC A,@A+DPTR
MOV P2,#02H ;輸出十位
MOV P3,A
MOV R4,#4
LOOP4:MOV R3,#125
LOOP5:DJNZ R3,LOOP5
DJNZ R4,LOOP4
MOV A,R7 ;進行東西方向倒計時時間的十進制調整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV P2,#04H
MOV P3,A
MOV R4,#4
LOOP6:MOV R3,#125
LOOP7:DJNZ R3,LOOP7
DJNZ R4,LOOP6
MOV A,B
MOVC A,@A+DPTR
MOV P2,#08H
MOV P3,A
MOV R4,#4
LOOP8:MOV R3,#125
LOOP9:DJNZ R3,LOOP9
DJNZ R4,LOOP8
JBC TF0,LOOP ;判斷是否計滿125ms
AJMP DELAY
LOOP:MOV TL0,#0CDH ;計滿125ms重新給定時器賦值
MOV TH0,#0BH
MOV A,30H
DEC A
MOV 30H,A
JNZ DELAY ;判斷是否計滿8次125ms,即1s
DEC R6 ;計滿1s,東西倒計時減1,南北倒計時減1
DEC R7
MOV 30H,#08H ;重新1s次數,重新計時
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;相應數值的數碼管代碼
DB 92H,82H,0F8H,80H,90H
END

⑻ 此乃單片機控制智能交通信號燈的系統原理圖請問K1 K2 K3的具體功能是什麼,急用

應該是調節 交通燈的 時間

⑼ AT89C51單片機控制的交通燈

選AT89C52比較省事:
1,選T2定時器,6M晶振,500ms 計2次就是1s,60秒清,計57秒清,計3秒清,循環。
2,內部計數加,外部顯示用60-內部數,
3,按鍵1抬起,東西,南北正常,按下東西綠,南北紅。
4,按鍵2抬起,東西,南北正常,按下東西紅,南北綠。
5,選T0為計數器,按鍵(P3.2)按下,計一個數。
6,選T1為計數器,按鍵(P3.3)按下,計一個數。
7,閃爍用500ms即可!
8,沒問題了吧!呵呵。

⑽ 單片機交通燈課程設計

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

十字路口交通燈控制C程序

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

#defineucharunsignedchar

#defineuintunsignedint

#include<reg52.h>

/*****定義控制位**********************/

sbit Time_Show_LED2=P2^5;//Time_Show_LED2控制位

sbit Time_Show_LED1=P2^4;//Time_Show_LED1控制位

sbitEW_LED2=P2^3;//EW_LED2控制位

sbitEW_LED1=P2^2;//EW_LED1控制位

sbitSN_LED2=P2^1;//SN_LED2控制位

sbitSN_LED1=P2^0;//SN_LED1控制位

sbit SN_Yellow=P1^6;//SN黃燈

sbit EW_Yellow=P1^2;//EW黃燈

sbit EW_Red=P1^3;//EW紅燈

sbit SN_Red=P1^7;//SN紅燈

sbit EW_ManGreen=P3^0;//EW人行道綠燈

sbit SN_ManGreen=P3^1;//SN人行道綠燈

sbit Special_LED=P2^6;//交通正常指示燈

sbit Busy_LED=P2^7;//交通繁忙指示燈

sbit Nomor_Button=P3^5;//交通正常按鍵

sbit Busy_Btton=P3^6;//交通繁忙按鍵

sbit Special_Btton=P3^7;//交通特殊按鍵

sbit Add_Button=P3^3;//時間加

sbit Reces_Button=P3^4;//時間減

bit Flag_SN_Yellow;//SN黃燈標志位

bit Flag_EW_Yellow;//EW黃燈標志位

charTime_EW;//東西方向倒計時單元

charTime_SN;//南北方向倒計時單元

ucharEW=60,SN=40,EWL=19,SNL=19;//程序初始化賦值,正常模式

ucharEW1=60,SN1=40,EWL1=19,SNL1=19;//用於存放修改值的變數

ucharcodetable[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段選碼

ucharcodeS[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信號燈控制代碼

/**********************延時子程序************************/

voidDelay(uchara)

{

uchari;

i=a;

while(i--){;}

}

/*****************顯示子函數**************************/

voidDisplay(void)

{

charh,l;

h=Time_EW/10;

l=Time_EW%10;

P0=table[l];

EW_LED2=1;

Delay(2);

EW_LED2=0;

P0=table[h];

EW_LED1=1;

Delay(2);

EW_LED1=0;

h=Time_SN/10;

l=Time_SN%10;

P0=table[l];

SN_LED2=1;

Delay(2);

SN_LED2=0;

P0=table[h];

SN_LED1=1;

Delay(2);

SN_LED1=0;

h=EW1/10;

l=EW1%10;

P0=table[l];

Time_Show_LED1=1;

Delay(2);

Time_Show_LED1=0;

P0=table[h];

Time_Show_LED2=1;

Delay(2);

Time_Show_LED2=0;

}

/**********************外部0中斷服務程序************************/

voidEXINT0(void)interrupt0using1

{

EX0=0;//關中斷

if(Add_Button==0)//時間加

{

EW1+=5;

SN1+=5;

if(EW1>=100)

{

EW1=99;

SN1=79;

}

}

if(Reces_Button==0)//時間減

{

EW1-=5;

SN1-=5;

if(EW1<=40)

{

EW1=40;

SN1=20;

}

}

if(Nomor_Button==0)//測試按鍵是否按下,按下為正常狀態

{

EW1=60;

SN1=40;

EWL1=19;

SNL1=19;

Busy_LED=0;//關繁忙信號燈

Special_LED=0;//關特殊信號燈

}

if(Busy_Btton==0)//測試按鍵是否按下,按下為繁忙狀態

{

EW1=45;

SN1=30;

EWL1=14;

SNL1=14;

Special_LED=0;//關特殊信號燈

Busy_LED=1;//開繁忙信號燈

}

if(Special_Btton==0)//測試按鍵是否按下,按下為特殊狀態

{

EW1=75;

SN1=55;

EWL1=19;

SNL1=19;

Busy_LED=0;//關繁忙信號燈

Special_LED=1;//開特殊信號燈

}

EX0=1;//開中斷

}

/**********************T0中斷服務程序*******************/

voidtimer0(void)interrupt1using1

{

staticucharcount;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

count++;

if(count==10)

{

if(Flag_SN_Yellow==1)//測試南北黃燈標志位

{SN_Yellow=~SN_Yellow;}

if(Flag_EW_Yellow==1) //測試東西黃燈標志位

{EW_Yellow=~EW_Yellow;}

}

if(count==20)

{

Time_EW--;

Time_SN--;

if(Flag_SN_Yellow==1)//測試南北黃燈標志位

{SN_Yellow=~SN_Yellow;}

if(Flag_EW_Yellow==1)//測試東西黃燈標志位

{EW_Yellow=~EW_Yellow;}

count=0;

}

}

/*********************主程序開始**********************/

voidmain(void)

{

Busy_LED=0;

Special_LED=0;

IT0=1;//INT0負跳變觸發

TMOD=0x01;//定時器工作於方式1

TH0=(65536-50000)/256;//定時器賦初值

TL0=(65536-50000)%256;

EA=1;//CPU開中斷總允許

ET0=1;//開定時中斷

EX0=1;//開外部INTO中斷

TR0=1;//啟動定時

while(1)

{/*******S0狀態**********/

EW_ManGreen=0;//EW人行道禁止

SN_ManGreen=1;//SN人行道通行

Flag_EW_Yellow=0; //EW關黃燈顯示信號

Time_EW=EW;

Time_SN=SN;

while(Time_SN>=5)

{P1=S[0];//SN通行,EW紅燈

Display();}

/*******S1狀態**********/

P1=0x00;

while(Time_SN>=0)

{Flag_SN_Yellow=1;//SN開黃燈信號位

EW_Red=1; //SN黃燈亮,等待左拐信號,EW紅燈

Display();

}

/*******S2狀態**********/

Flag_SN_Yellow=0;//SN關黃燈顯示信號

Time_SN=SNL;

while(Time_SN>=5)

{P1=S[2];//SN左拐綠燈亮,EW紅燈

Display();}

/*******S3狀態**********/

P1=0x00;

while(Time_SN>=0)

{Flag_SN_Yellow=1;//SN開黃燈信號位

EW_Red=1; //SN黃燈亮,等待停止信號,EW紅燈

Display();}

/***********賦值**********/

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

/*******S4狀態**********/

EW_ManGreen=~EW_ManGreen;//EW人行道通行

SN_ManGreen=~SN_ManGreen;//SN人行道禁止

Flag_SN_Yellow=0; //SN關黃燈顯示信號

Time_EW=SN;

Time_SN=EW;

while(Time_EW>=5)

{P1=S[4];//EW通行,SN紅燈

Display();}

/*******S5狀態**********/

P1=0X00;

while(Time_EW>=0)

{Flag_EW_Yellow=1;//EW開黃燈信號位

SN_Red=1;//EW黃燈亮,等待左拐信號,SN紅燈

Display();}

/*******S6狀態**********/

Flag_EW_Yellow=0; //EW關黃燈顯示信號

Time_EW=EWL;

while(Time_EW>=5)

{P1=S[6];//EW左拐綠燈亮,SN紅燈

Display();}

/*******S7狀態**********/

P1=0X00;

while(Time_EW>=0)

{Flag_EW_Yellow=1;//EN開黃燈信號位

SN_Red=1;//EW黃燈亮,等待停止信號,SN紅燈

Display();}

/***********賦值**********/

EW=EW1;

SN=SN1;

EWL=EWL1;

SNL=SNL1;

}

}

閱讀全文

與單片機交通燈按鍵功能有哪些相關的資料

熱點內容
熊貓繪畫app怎麼做出大佬的筆刷 瀏覽:603
雲存儲伺服器知識 瀏覽:461
伺服器cpu是什麼指令集 瀏覽:590
糖貓t10怎麼安裝app 瀏覽:992
電腦加密u盤怎麼使用 瀏覽:517
linux如何升級php版本升級 瀏覽:841
二級程序員c語言難度 瀏覽:351
批處理編譯qt 瀏覽:66
鐵友app怎麼查詢機票訂單 瀏覽:197
myeclipselinux破解版 瀏覽:417
批處理命令語法不正確 瀏覽:889
pdf合並成一個pdf在線 瀏覽:383
柱加密區構造要求 瀏覽:514
地板木龍骨標准跟加密區別 瀏覽:150
解壓放鬆的好地方河南 瀏覽:965
搜狗怎麼移動到文件夾 瀏覽:617
文件自動選擇到文件夾 瀏覽:794
贈送的app怎麼在ipad下載 瀏覽:508
頸椎解壓後神經恢復 瀏覽:849
怎麼看app訂閱扣費 瀏覽:314