導航:首頁 > 操作系統 > 51單片機led燈

51單片機led燈

發布時間:2022-11-29 18:42:07

⑴ 51單片機中如何用匯編語言編寫流水燈

流水燈就是51單片機控制led燈依次點亮的控制方式。具體程序如下:

ORG 0000H;復位啟動
AJMP START;
ORG 001BH;T1中斷
AJMP T1INT;

;定義變數========================
YSJSEQU 30H;延時計數器
LEDEQU 31H;LED控制緩沖器

;主程序==========================
START:MOV LED,#0FEH;初始化數據
MOV YSJS,#0;
MOV TMOD,#10H;定時器1工作於方式1,16位定時器
MOV TL1,#0B0H;設置定時初值
MOV TH1,#3CH;定時時間=50mS
SETB ET1;使能定時器1中斷
SETB TR1;啟動定時器1
SETB EA;開總中斷

MOV P1,LED;初始化流水燈
LOOP:JMP LOOP;循環等待中斷
T1INT:PUSH PSW;定時器1中斷程序
PUSH ACC;保護現場
MOV TH1,#3CH;定時時間=50mS
MOV TL1,#0B0H;
INC YSJS;

PUSH ACC;保護ACC
MOV A,YSJI;
CJNE A,#2,QT1;50mS*2=100mS
MOV P1,LED;
MOV A,LED;
RL A;累加器A的值循環左移1位
MOV LED,A;
MOV YSJS,#0;
QT1:POP ACC;恢復現場
POP PSW;
RETI;返回主程序
END;匯編程序結束

(1)51單片機led燈擴展閱讀:

實現流水燈的三個方法:

第一種,匯流排方法實現流水燈。這是一種比較笨但又最易理解的方法,採用順序程序結構,用位指令控制P1口的每一個位輸出高低電平,加上延時函數,即可控制每個LED燈的亮滅。

第二種,移位方法實現流水燈採用循環程序結構編程。首先在程序開始給P1.0口送一個低電平,其它位為高。然後延時一段時間再讓低電平往高位移動,這樣就實現「流水」的效果了。

第三種,庫函數實現流水燈。利用左移函數進行。

⑵ 51單片機都有哪個口能接LED燈

89C51或89C52單片機P0P1P3P4四組共32個IO口都可以驅動LED燈。這種單片機的高電平驅動能力很弱,通常IO輸出低電平驅動LED,LED的另一端接限流電阻然後再接電源正。限流電阻的選擇上,個人經驗電流控制在2-7mA之間,根據對亮度和功耗的要求調整選擇

⑶ led燈能直接連接51單片機嗎

不能
准確的說是不允許。單片機應只考慮開和關兩種邏輯狀態。這種LED燈是不是能接單片機的問題屬於驅動能力問題。如果每次設計都要去考慮單片機管腳可以承受或者輸出的電流,或者計算單片機可以帶多大的負載,那你的設計工作的復雜性就會成倍的放大同時可靠性也會降低很多。
也許你使用的LED需要極小的電流就可以驅動而你的單片機帶負載的能力很強。從電路的角度考慮是可以直接連。但是這種情況下依然不允許將LED直接連接單片機管腳直接進行驅動。因為這種設計思路根本就是錯的,出發點都錯了,分析的結論再正確也不行。
不一定非要使用三極體來驅動,雖然我們通常的做法是用三極體。可以用一些集成電路作為驅動。不過你的設計非常簡單的話,用一個三極體也就可以了。不過注意加限流電阻,別把LED燒了。

⑷ 51單片機控制led燈點亮與熄滅

// 51單片機控制八個發光二極體 左右循環。

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}; // 改變這里 LED 各種花樣

uchar t,i;

void main()

{

TMOD=0x10;

TH1=(65535-50000)/256; // 50ms一次

TL1=(65535-50000)%256;

EA=1;

ET1=1;//開定時器1中斷

TR1=1;//啟動定時器1

t=0;

i=0;

while(1)

{

}

}

void timer1() interrupt 3

{

TH1=(65535-50000)/256; // 50ms一次

TL1=(65535-50000)%256;

t++;

if(t==20)

{

t=0;

P2=TAB[i];

i++;

if(i==18) { i=0;}

}

}

⑸ 51單片機怎麼只控制一顆LED燈閃爍

1、新建項目,如圖所示。

注意事項:

很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。

⑹ 51單片機led燈怎麼亮

要式連接51單片機的LED燈被點亮,攏共需要三步:

  1. 搭建好51單片機運行的最小系統,並連接好下載線。

  2. LED燈的正極經過470Ω電阻連接在電源正極上,LED燈的負極連接在單片機的某個介面上,例如連接I/O口P1.0上。

  3. 編程使P1.0輸出低電平,將編譯好的程序下載到單片機里,在單片機再次上電後就可以看到LED燈發光亮起了。

⑺ 51單片機的LED燈不能點亮,請指教。謝謝

你的問題應該是LS138沒有正確使能;

E1、E2的邏輯使能要求電平是相反的,不能連接在一起;

修改如下:ENLED 連接 E1,ADDR3 連接 E2、E3(即E2、E3連接在一起);

⑻ 51單片機3個LED燈同時來亮滅閃爍

如果只是人眼睛開到的同時亮滅,是沒問題的,用3條連續賦值語句。

如果要做到絕對的同時控制,是不可能的,因為有一個在另一組埠,IO寄存器不同,至少要2條賦值語句。就會有時間差,也就是賦值語句之間的時間差。

⑼ 51單片機數碼管和led燈

程序如下

#include<REG51.H>

sbit k1=P1^0;

void delay()

{

unsigned int j;

for(j=40000;j>0;j--);

}

void main()

{

while(1)

{

P0=0xff;

if(k1==0)

{

P0=0x55;

delay();

P0=0xAA;

delay();

}

}

}

模擬結果

閱讀全文

與51單片機led燈相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163