一、跑馬燈和流水燈的區別
好多人分不清跑馬燈和流水燈,還以為是同一種狀態,雖然難度等級是一樣的,但是燈的亮滅顯示方式是不一樣的。請看下圖
二、微控制器控制led燈的常用電路接法
弄清楚跑馬燈的顯示狀態後可以開始進行設計了, 在日常的跑馬燈設計電路中led燈一般接為這兩種形式,共電源或共地,也就是通常說的灌電流式和拉電流式
三、電路分析與程式設計
大家可以根據自己實際的電路需要選擇其中一種接法,由於at89s52微控制器io埠不操作時是高電平所以下面我選擇的是共電源接法。
電路分析:當電路輸出高電平[埠為1]led燈滅,當電路輸出低電平[埠為0]led燈亮
大家可以按照自己的思路程式設計,方法不唯一,下面我將介紹3種方法
方法一:不利用演算法,直接使用io控制[可以說是最蠢的方法,但是一樣能實現效果,並且容易理解]
#include
//led輸出埠位定義
sbit led0=p0^0;
sbit led1=p0^1;
sbit led2=p0^2;
sbit led3=p0^3;
sbit led4=p0^4;
sbit led5=p0^5;
sbit led6=p0^6;
sbit led7=p0^7;
//延時函式
void delay(void)
void main()
}方法二:借助陣列對上面程式進行改進,使埠一次性賦值定義
#include
#define uchar unsigned char
#define uint unsigned int
//定義乙個一維陣列
unsigned char table=;
//延時函式
void delay(void)
void main()}}
方法三:利用函式封裝庫
#include
#include //此為呼叫函式的標頭檔案必須新增
#define uchar unsigned char
#define uint unsigned int
//延時函式
void delay(void)
void main()
}還有移位運算等其他的方法在這裡就不一一列出,大家可以自己嘗試!
微控制器實驗 跑馬燈
實驗效果 知識點 org 0000h 主程式 main mov a,0feh acc初始化,11111110b loop mov p1,a 將acc的資料傳送到p1口 lcall delay 呼叫延遲子程式 rl a 將acc中的資料左右一位 ljmp loop 回到loop標記處,點亮下一盞燈 d...
51微控制器實現跑馬燈
今天準備重新把課設時自己焊的51微控制器班子拿出來玩一玩。我的板子晶振是12mhz的,led燈只有兩個,分別接了p0.0和p0.1。下面是跑馬燈的實現,p0是乙個8位的數,每個位就代表了它對應的io口的電平輸出,當然因為我的板子設計時led另一端接的vcc而不是gnd,所以另一端,也就是微控制器端需...
51微控制器跑馬燈程式
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 c documents and settings administrator 桌面 脈衝 mai xheng.uv2 project fil...