導航:首頁 > 編程語言 > stc單片機編程點亮小燈

stc單片機編程點亮小燈

發布時間:2023-08-19 23:27:32

單片機C語言編程點亮LED燈

可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。 具體實現方法可以參考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a);void main(){ P1=0xfe; while(1) { // 向左循環點亮LED for(i=0; i<7; i++) { P1=_crol_(P1,1); // 左移一位,點亮下一位LED delay(55); } // 向右循環點亮LED for(i=0; i/ 右移一位,,點亮上一位LED delay(55); } }}// 延時函數,延時a毫秒void delay(uint a){ uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);}

❷ 單片機流水燈C語言程序(8個燈,依次點亮每個燈,延時500MS)

單片機流水燈C語言程序的源代碼如下:

#include //51系列單片機定義文件

#define uchar unsigned char //定義無符號字元

#define uint unsigned int //定義無符號整數

void delay(uint); //聲明延時函數

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8個流水燈逐個閃動

{

P1=~temp;

delay(100); //調用延時函數

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8個流水燈反向逐個閃動

{

P1=~temp;

delay(100); //調用延時函數

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8個流水燈依次全部點亮

{

P1=temp;

delay(100); //調用延時函數

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8個流水燈依次反向全部點亮

{

P1=temp;

delay(100); //調用延時函數

temp>>=1;

}

void delay(uint t) //定義延時函數

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

(2)stc單片機編程點亮小燈擴展閱讀

51單片機流水燈的源代碼如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

❸ 怎麼以stc單片機為例編寫一個LED指示燈閃爍工程。

我的個天,不能讓你家幫你作作業吧。
給個框架和思路吧。LED二極體正極串一個限流電阻接在+5V電源上,負極接在MCU一個管腳上,如P20,如果燈不夠亮,可以加個三極體放大電流。
程序思路:
main(void)
{
while(1)
{
延時
P20=~P20
//P20取反
點亮和熄滅LED
}
}

❹ 單片機的點亮一盞燈程序

MAIN: MOV P1,#11111110B;點亮P1.0所接的燈
ACALL YS ;調用延時子程序,讓P1.0所接的燈亮一小段時間
MOV P1,#11111101B;點亮P1.1所接的燈
ACALL YS ;調用延時子程序,讓P1.1所接的燈亮一小段時間
MOV P1,#11111011B;點亮P1.2所接的燈
ACALL YS ;調用延時子程序,讓P1.2所接的燈亮一小段時間
MOV P1,#11110111B;點亮P1.3所接的燈
ACALL YS ;調用延時子程序,讓P1.3所接的燈亮一小段時間
MOV P1,#11101111B;點亮P1.4所接的燈
ACALL YS ;調用延時子程序,讓P1.4所接的燈亮一小段時間
MOV P1,#11011111B;點亮P1.5所接的燈
ACALL YS ;調用延時子程序,讓P1.5所接的燈亮一小段時間
MOV P1,#10111111B;點亮P1.6所接的燈
ACALL YS ;調用延時子程序,讓P1.6所接的燈亮一小段時間
MOV P1,#01111111B;點亮P1.7所接的燈 ACALL YS ;調用延時子程序,讓P1.7所接的燈亮一小段時間
LJMP MAIN ;循環.這回用長調用指令LJMP,當程序比較長的時候就用
LJMP YS: ;延時子程序YS,功能是能讓LED亮起來或者滅掉一小段時間
MOV R1,#200 ;讓燈亮滅時間的長短也就是延時的長短跟#號後面的數據有關
D: MOV R2,#200 ;延時長點#號後面的數據就大點,延時短點#號後面的數據
T: MOV R3,#200 ;就小點,但#號後面最大的數據是255
DJNZ R3,$
DJNZ R2,T

DJNZ R1,D
RET ;子程序返回指令,子程序的設計一般都是因為主程序要調用它, ;調用完是要返回到主程序繼續運行下一個語句的
END

❺ 求講解這段STC15單片機的代碼,外部中斷2讓LED燈亮

「為什麼按下外部中斷鍵就能讓LED燈亮一下」

因為程序裡面一旦進入外部中斷,就把P1.0管腳翻轉一下,如果接了LED就會有亮滅的變化。

「P10=!P10 是什麼意思」、
將P1.0管腳的輸出電平翻轉。

「為什麼我改成P20=!P20就報錯」
因為程序里只定義了P10,P20這個符號沒有定義,你需要自己添加 sbit P20 = P2^0;

「開發板的外部中斷焊接到單片機的P1.0引腳,如果我焊接的不是P1.0引腳,那P10=!P10還好使嗎」

外部中斷跟P1.0管腳沒有關系。你重新看電路圖去……

「為什麼頭文件加上#include「STC15.H」就會報錯」
因為編譯器找不到這個文件在哪兒,當然就會嗷嗷叫喚……

閱讀全文

與stc單片機編程點亮小燈相關的資料

熱點內容
android自動化環境 瀏覽:251
androidrealm加密 瀏覽:511
地圖正在解壓縮是什麼意思 瀏覽:215
電腦軟體能放在文件夾嗎 瀏覽:784
uc伺服器怎麼打開 瀏覽:363
net怎麼編譯 瀏覽:242
我的世界187伺服器地址ip 瀏覽:953
拍賣房價的演算法 瀏覽:438
linux內核編譯視頻教程 瀏覽:881
程序員厚黑 瀏覽:207
如何在閑魚淘二手安卓機 瀏覽:175
怎麼下載晨星app 瀏覽:132
兩台伺服器如何同步內容 瀏覽:808
伺服器共用一個ip有什麼壞處 瀏覽:461
go加密exe 瀏覽:606
pdf改分欄 瀏覽:123
python執行怎麼寫 瀏覽:766
遇見她app怎麼加好友 瀏覽:548
手機怎麼設置app強制提醒 瀏覽:77
怎樣不用海綿做解壓玩具 瀏覽:81