10 3 微控制器交通燈例項

2021-09-11 05:41:39 字數 1269 閱讀 1715

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

有同學有疑問,板子上只有 8 個流水燈,那如果我要做很多個流水燈一起花樣顯示怎麼辦呢?那我們在講課的時候其實都提到過了,板子上是有 8 個流水燈,還有 6 個數碼管,還有 1 個點陣 led,乙個數碼管相當於 8 個小燈,乙個點陣相當於 64 個小燈,那如果全部算上的話,我們板子上實際共接了 8+6*8+64=120 個小燈,你如果單獨只接小燈,花樣燈就做出來了。

還有同學問,板子上流水燈和數碼管可以一起工作嗎?如何一起工作呢?我們剛說了,乙個數碼管是 8 個小燈,但是大家反過來想一想,8 個流水燈不也就是相當於乙個數碼管嗎。那板子上 6 個數碼管我們可以讓他們同時亮,7 個數碼管就不會了嗎?當然了,思考的習慣是要慢慢培養的,想不到的同學繼續努力,每天前進一小步,堅持一段時間後回頭看看,就會發現你學會了很多。

#include sbit addr3 = p1^3;

sbit enled = p1^4;

unsigned char code ledchar = ;

unsigned char ledbuff[7] = ;

bit flag1s = 1; //1 秒定時標誌

unsigned char t0rh = 0; //t0 過載值的高位元組

unsigned char t0rl = 0; //t0 過載值的低位元組

void configtimer0(unsigned int ms);

void trafficlight();

void main()}}

/* 配置並啟動 t0,ms-t0 定時時間 */

void configtimer0(unsigned int ms)

/* 交通燈顯示重新整理函式 */

void trafficlight()

}else

ledbuff[0] = ledchar[timer%10]; //倒計時數值個位顯示

ledbuff[1] = ledchar[timer/10]; //倒計時數值十位顯示

}/* led 動態掃瞄重新整理函式,需在定時中斷中呼叫 */

void ledscan()else

}/* t0 中斷服務函式,完成 led 掃瞄和秒定時 */

void interrupttimer0() interrupt 1

}

微控制器案例開發 交通燈設計

include define uchar unsigned char define uint unsigned int sbit fmq p3 4 sbit qr p2 7 sbit qy p2 6 sbit qg p2 5 sbit hr p2 7 sbit hy p2 6 sbit hg p2 ...

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

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

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

1.實驗目的 學習模擬交通燈控制的實現方法 掌握proteus硬體 與除錯。2.任務 根據要求編寫程式,並寫出原理性注釋 將檢查程式執行的結果,分析一下是否正確 完成所建工程的 及除錯。3.實驗內容及要求 按照電路要求在protues中設計電路圖。程式設計實現如下功能 用微控制器埠作輸出口,控制四個...