導航:首頁 > 操作系統 > 單片機按鍵控制流水燈

單片機按鍵控制流水燈

發布時間:2022-01-18 01:41:05

『壹』 單片機C語言,一個按鍵控制三個流水燈

void main()
{
int i=0; //設置參考變數
//初始化
p1.0=1;
p1.1=0;
p1.2=0;
//進入按鍵操作
while(1)
{
if(p2.2==0)
{
i++;
if(i==1)
{
p1.0=0;
p1.1=1;
p1.2=0;
delay();//延時,由於不知道你用的單片機型號,這個需要你自己設定了。
}
if(i==2)
{
p1.2=1;
p1.0=0;
p1.1=0;
delay();//延時,由於不知道你用的單片機型號,這個需要你自己設定了。
}
if(i==3)
{
p1.0=1;
p1.1=0;
p1.2=0;
delay();//延時,由於不知道你用的單片機型號,這個需要你自己設定了。
i=0;//參考變數歸0
}
}
}
}

『貳』 c51單片機獨立按鍵控制三種流水燈

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharkeyval,led,led1;
sbitkey=P3^2;
voidext0()interrupt0
{
while(key==0);
keyval++;
keyval%=3;
}
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
led=0xfe;
led1=0x55;
while(1)
{
switch(keyval)
{
case0:P1=led;led=_crol_(led,1);delay(200);break;
case1:P1=led;led=_cror_(led,1),delay(200);break;
case2:P1=led1;led1=~led1;delay(200);brek;
default:break;
}
}
}

『叄』 51單片機摁鍵控制流水燈

用4個按鍵控制流水燈,P1口接8個LED流水燈,P3.4~P3.7接有4個按鍵,模擬圖如下。

『肆』 51單片機利用獨立按鍵控制流水燈

while(1)
{ P1=aa;

delayms(1000);
aa=_crol_(aa,1);
}
這前面的while(1)根本不會退出,也就是不會執行下面的if(key1 == 0)的語句了,所以按鍵按下去當然沒有反應了
if(key1==0)
{
P1=0x7e;

『伍』 C51單片機編程,按鍵控制流水燈

#include "reg51.h"
unsigned char led[]={0xfe,0xfd,0xfb,0xf7}; //LED燈的花樣數據
void delay(unsigned char time){ //延時函數
unsigned int j=15000;
for(;time>0;time--)
for(;j>0;j--);
}
void main(){
bit dir=0,run=0; //標志位定義及初始化
char i;
while(1){
switch (P0 & 0x0f){ //讀取鍵值
case 0x0e:run=1;break; //K1動作,設run=1
case 0x0d:run=0,dir=0;break; // K2動作,設run=dir=0
case 0x0b:dir=1;break; //K3動作,設dir=1
case 0x07:dir=0;break; //K4動作,設dir=0
}
if (run) //若run=dir=1,自上而下流動
if(dir)
for(i=0;i<=3;i++){
P2=led[i];
delay(200);
}
else
for(i=3;i>=0;i--){ //run=1,dir=0,自下而上流動
P2=led[i];
delay(200);
}
else P2=0xff; //若run=0,全部燈滅
}
}

『陸』 單片機按鍵控制流水燈狀態切換

現在一般不用2051了,呵呵,不過模擬也沒事。
這程序可以這樣寫:設一個變數作為按鍵的鍵值,按下為1,再次按下為0;首先寫一個流水燈的子程序,然後再主函數里去識別之前設置的鍵值,=1--->去執行流水燈;=0--->直接把P1口賦值0(也就是全亮)。這樣就可以實現了。

『柒』 51單片機按鍵中斷控制流水燈

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharled,time=0;
sbitkey=P1^0;
voidt0isr()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
led=_crol_(led,1);
P0=led;
time++;
if(time>=200)TR0=0;
}
main()
{
ucharkeyval=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
while(1)
{
if(key==0)
{
while(key==0);
keyval++;
keyval%=3;
}
switch(keyval)
{
case0:led=0xff;P0=led;break;
case1:TR0=1;led=0xfe;break;
case2:TR0=0;break;
default:break;
}
}
}

『捌』 按鍵控制單片機流水燈模式

在死循環的函數開始判斷具體是哪個按鍵,然後根據不同的按鍵用switch case語句調用具體的流水燈模式,每一種模式可以寫在case中 也可以是一個函數

『玖』 c51單片機獨立按鍵控制,流水燈程序

while(1)
{ P1=aa;

delayms(1000);
aa=_crol_(aa,1);
}
這前面的while(1)根本不會退出,也就是不會執行下面的if(key1 == 0)的語句了,所以按鍵按下去當然沒有反應了
if(key1==0)
{
P1=0x7e;

『拾』 C51單片機按鍵切換流水燈

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delayms(uint i) //1ms延時程序

{
uint j;
for(;i>0;i--)
{
for(j=0;j<164;j++)
{;}
}
}
void main(void)

{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
P2=0X01<<i;
delay_ms(200);
}
}
}

閱讀全文

與單片機按鍵控制流水燈相關的資料

熱點內容
伺服器一直崩應該用什麼指令 瀏覽:916
cm202貼片機編程 瀏覽:723
php構造函數帶參數 瀏覽:174
解壓電波歌曲大全 瀏覽:336
為啥文件夾移到桌面成word了 瀏覽:858
命令符的安全模式是哪個鍵 瀏覽:758
編程中學 瀏覽:956
單片機求助 瀏覽:992
ug加工側面排銑毛坯怎麼編程 瀏覽:271
程序員有關的介紹 瀏覽:736
支付寶使用的什麼伺服器 瀏覽:210
安卓看本地書用什麼軟體好 瀏覽:921
經傳軟體滾動凈利潤指標源碼 瀏覽:522
螢石雲視頻已加密怎麼解除 瀏覽:574
一命令四要求五建議 瀏覽:30
qq文件夾遷移不了 瀏覽:19
液體粘滯系數測定不確定度演算法 瀏覽:332
輕棧源碼 瀏覽:426
把圖片壓縮到500k 瀏覽:35
命令你自己 瀏覽:369