導航:首頁 > 操作系統 > 流水燈間隔點亮單片機程序

流水燈間隔點亮單片機程序

發布時間:2024-12-22 08:40:14

㈠ 51單片機從中間到兩邊逐個點亮再從兩邊到中間逐個點亮程序

這個流水燈程序最好用數組定義8個狀態的燈,這樣用for循環就可以實現了。簡潔明了,易讀性強,也容易理解。
#include<reg51.h>
#define uchar unsigned char
code uchar ledtab[10]=
{
0xff,0xe7,0xc3,0x81,0x00, //中間開始逐漸點亮
0xff,0x7e,0x3c,0x18,0x00 //兩邊開始逐漸點亮
}
void delay(int ms)
{
uchar i;
while(ms--)for(i=0;i<120;i++);
}
main()
{
uchar i;
while(1)
{
for(i=0;i<10;i++)P1=ledtab[i];
delay(1000);
}
}

㈡ 單片機可控制流水燈匯編程序 要求:按一下亮一個,再按一下第二個亮,第一個熄滅

/************************************
編寫者:XP
學習單片機一個星期,這是我自己寫的*/
#include<reg52.h>
sbit Key=P3^2;
sbit LED_1=P1^0;
sbit LED_2=P1^1;
/**********************************
*********延時函數*****************/
void Delay(int del)
{ int i,j;
for(i=0;i<=42;i++)
for(j=0;j<=del;j++) ;
}
void main()
{ while(1)
{ if(Key==0)
{ Delay(10); //軟體防抖,延時10ms
if(Key==0)
{ LED_1=0; //第一個燈亮
LED_2=1; //
Key=1;
Delay(250);
if(Key==0)
{ Delay(10); //軟體防抖,延時10ms
LED_1=1; //第一個滅
LED_2=0;} //第二個亮
}
}
Delay(300);
Key=1;
}
}

㈢ 單片機C語言編程:讓8個LED流水燈以0.2s時間間隔從左到右依次點亮然後重復實現

#include<reg52.h>
#include<intrins.h>
void delay(unsigned int z );
void main()
{
unsigned int a;
unsigned char b=0xfe;
for(a=0;a<8;a++)
{
P1=b;//P1口接8個LED燈
delay(200);
b=_crol_ (b,1);
}
}
void delay(unsigned int z)
{
unsigned int i;
for(;z>0;z--) //延遲時間自己算吧
for(i=110;i>0;i--);
}
用匯編寫這個容易點
main: mov a,#0feh
mov r0,#8
loop: mov p1,a
acall delay
rl a
djnz r0,loop
delay:mov r6,#0ffh
loop1: mov r7,#01h
djnz r7,$
djnz r6,loop1
ret
end
好像是這樣,延遲時間可能不太准,也是P1口接8個LED燈

閱讀全文

與流水燈間隔點亮單片機程序相關的資料

熱點內容
元神的伺服器怎麼看 瀏覽:362
stc8單片機串口中斷 瀏覽:954
信號分析pdf 瀏覽:927
暴力刪除命令 瀏覽:803
qt如何編譯加快速度 瀏覽:903
php添加數據sql語句 瀏覽:717
免費的小說app有什麼 瀏覽:405
螺桿壓縮機進氣閥動畫 瀏覽:651
兩台伺服器如何做負載均衡 瀏覽:227
程序員的工資是漲的嗎 瀏覽:813
視頻存儲伺服器可以干什麼 瀏覽:463
創建文件夾安裝失敗怎麼回事 瀏覽:832
程序員高考隔了幾年 瀏覽:822
雲伺服器是哪一層 瀏覽:22
jit編譯器的jit什麼意思 瀏覽:330
我想清理手機中空白文件夾 瀏覽:976
電腦e盤文件夾刪不掉怎麼辦 瀏覽:607
外圓凹圓弧編程 瀏覽:462
html5編程題 瀏覽:840
乾燥機製冷壓縮機一開就跳動 瀏覽:389