51微控制器 交通燈實驗及報告

2021-10-06 12:40:31 字數 1841 閱讀 3141

1. 實驗目的

學習模擬交通燈控制的實現方法;

掌握proteus硬體**與除錯。

*2. 任務:

根據要求編寫程式,並寫出原理性注釋;

將檢查程式執行的結果,分析一下是否正確;

完成所建工程的**及除錯。

3. 實驗內容及要求

按照電路要求在protues中設計電路圖。程式設計實現如下功能:

用微控制器埠作輸出口,控制四個方向共12個發光二極體亮滅,模擬交通燈管理。功能描述如下:初始態為四個路口的紅燈全亮之後,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時一段時間後東西路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次後,東西路口紅燈亮,而同時南北路口的綠燈亮,南北路口方向開始通車,延時一段時間後,南北路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次後,再切換到東西路口方向,之後重複以上過程。

4 實驗**:

```c

**`#include

#include

#define pa xbyte[0x7ffc]

//pa埠位址

#define pb xbyte[0x7ffd]

#define pc xbyte[0x7ffe]

#define com xbyte[0x7fff]

char code dx516[

3] _at_ 0x003b

;unsigned

char second=

;unsigned

char count =

0, total =0;

/**************8255初始化******************************/

void

init_8255

(void

)

/**************定時器1初始化******************************/

void

init_t1

(void

)

//-------------------

// 函式名稱: void delay_s(unsigned t)

// 函式功能: 利用定時器延時t*0.5秒子程式

//-------------------

void

delay_s

(unsigned

char t)

}}

void

timer1

() interrupt 3

//定時器1

void

main

(void

)else

}for

(i =

3;i >

0; i--

)for

(i =

10;i >

0;i--

)else

}for

(i =

3;i >

0;i--)}

}

- **結果

基於51微控制器模擬交通燈程式

系統概要 由於該交通系統設計乙個十字路口,a道為主幹道,b道為支幹道。由於主幹道的交通壓力較大車流量大,所以a道的通行時間 即a道的綠燈與黃燈的時間應該比b道的綠燈與黃燈時間長 只有a道的通行時間比b道的通行時間長才能合理的分配十字交通路口的交通壓力。並且該系統應該有緊急的交通情況,也就是遇到交通的...

10 3 微控制器交通燈例項

同學們在學習技術的時候,一定要多動腦筋,遇到問題後,三思而後問。有些時候你考慮的和真理就差一點點了,沒有堅持下去,別人告訴你後才恍然大悟。這樣得到的結論,可以讓你學到知識,但是卻培養不了你的邏輯思維能力。不是不能問,而是要在認真思考的基礎上再發問。有同學有疑問,板子上只有 8 個流水燈,那如果我要做...

基於51微控制器交通燈(組合語言)

設計要求 設計交通燈控制系統。模擬交通訊號燈控制 一般情況下正常顯示,東西 南北交替放行,各方向通行時間為30秒。有救護車或警車到達時,兩個方向交通訊號燈全為紅色,以便讓急救車或警車通過,設通行時間為10秒,之後交通恢復正常。用單次脈衝模擬急救車或警車申請外部中斷。proteus 圖 微控制器晶振為...