『壹』 51單片機用匯編語言實現八個LED的全亮全滅
;以89c51單片機為例,假定用P1控制LED:IO_LED EQU P1;led_0 BIT P1.0;led_1 BIT P1.1;led_2 BIT P1.2;led_3 BIT P1.3;led_4 BIT P1.4;led_5 BIT P1.5;led_6 BIT P1.6;led_7 BIT P1.7; ;定義開關LED的數據,假定LED正極一端接電源,另一端通過限流電阻接I/O埠: DATA_CloseLED EQU 11111111B;DATA_OpenLED EQU 00000000B;ORG 0000HAJMP MAINORG 0030H;-----------------------;延時0.5秒程序(註:此延時函數摘自STC-ISP)DELAY500MS:;@12.000MHzPUSH 30HPUSH 31HPUSH 32HMOV 30H,#4MOV 31H,#205MOV 32H,#180NEXT:DJNZ 32H,NEXTDJNZ 31H,NEXTDJNZ 30H,NEXTPOP 32HPOP 31HPOP 30HRET;-----------------------;下面是主程序MAIN:MOV IO_LED,#DATA_CloseLED;同時關閉8個LEDLCALLDELAY500MS;延時0.5秒MOV IO_LED,#DATA_OpenLED;同時打開8個LEDLCALLDELAY500MS;延時0.5秒LJMP MAIN;循環END;上面程序演示了8個LED間隔0.5秒同時亮和滅的變化。51單片機用匯編語言實現八個LED的全亮全滅
『貳』 51單片機控制16個led燈,要求16個燈依次點亮後依次熄滅
假設16個燈接P0和P1,高電平點亮,每次亮一個燈
程序大致這樣:
uint b;//16位變數對應16個燈
uchar i;
while(1)
{
for(i=0;i<16;i++)
{
b=0x01<<i;
P0=b;//自動取低8位
P1=b<<8;//取高8 位
delayms(200);
}
}
『叄』 c51單片機:兩個獨立按鍵控制一個led,k1按下松開led閃爍,k2按下松開led滅
#include"reg52.h"
typedefunsignedintu16;
typedefunsignedcharu8;
sbitled=P2^0;//把所要控制的led燈定義為p2.0這個口
sbitk1=P2^1;
sbitk2=P2^2;
voiddelay(u16i)
{
while(i--);
}//一個延時程序
voidmain()
{
if(k1==1)
while(1)
{
led=1;
delay(50000);//大約延時450ms
led=0;
if(k2==1)
break;
}
led=0;
}
思路很簡單,就是用檢測的方法去掃描相應的按鍵是否被觸發,然後執行相應的子程序。
『肆』 求實現51單片機按下按鈕LED燈亮1秒後熄滅
要實現51單片機按下按鈕LED燈亮1秒後熄滅,這很簡單,檢測到按下按鈕後點亮LED燈並開始計時,1秒到就滅燈。用定時器定時並用中斷方式,計中斷次數,定時×次數=1秒即可。
『伍』 給單片機一個高電平信號點亮LED。無信號LED延時10秒滅。LED亮滅過程加上pwm漸亮漸滅
可以分10個段,也就是10秒,PWM值從100到0每次減10,這樣就可以實現這個效果了。
『陸』 單片機是怎樣控制發光二極體的亮與不亮
1.LED的陽極接地,陰極接單片機IO口,那麼IO口高電平,LED滅,低電平,LED亮
2.LED的陰極接地,陽極接單片機IO口,那麼IO口高電平,LED亮,低電平,LED滅