標(biāo)題:
單片機(jī)8個(gè)led燈自上而下循環(huán),通過按鍵改變方向、速度
[打印本頁(yè)]
作者:
有一天雨也
時(shí)間:
2018-3-29 10:18
標(biāo)題:
單片機(jī)8個(gè)led燈自上而下循環(huán),通過按鍵改變方向、速度
流水燈,初學(xué)之系列。
單片機(jī)源程序如下:
/*--------------------------------------------------
文件名稱:led.c
功能:利用LED實(shí)現(xiàn)跑馬燈效果
說明:8個(gè)led燈自上而下循環(huán),通過按鍵改變方向、速度。
---------------------------------------------------*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char L[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
uint dir=0,n=2500;
void delay(uint z)//延時(shí)函數(shù)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
void speedminus()//減速函數(shù)
{
if(n==5000) n=5000;//最慢4s
else n=n+625;
}
void speedplus(){//加速函數(shù)
if(n==625) n=625;//最快0.5s
else n=n-625;
}
void main()//主函數(shù)
{
uint i=0;
while(1){
for(;i<8;){
P0=L[i];
delay(n);
if(key1==0) dir=1-dir;//反向循環(huán)
if(key2==0) speedminus();//按一次按鍵,延時(shí)時(shí)間變長(zhǎng)
if(key3==0) speedplus();//按一次按鍵,延時(shí)時(shí)間變短
if(dir==0)
{
i++;
if(i==8)//實(shí)現(xiàn)循環(huán)效果
i=0;
break;
}
else
{
i--;
if(i>8)
i=7;
break;
}
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
新建 Microsoft Word 文檔.docx
(13.13 KB, 下載次數(shù): 19)
2018-3-29 10:17 上傳
點(diǎn)擊文件名下載附件
流水燈
下載積分: 黑幣 -5
作者:
ASLJ
時(shí)間:
2021-5-23 14:24
請(qǐng)問有電路圖看嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1