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

單片機按鍵控制流水燈

發布時間: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);
}
}
}

閱讀全文

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

熱點內容
pubg為什麼顯示伺服器連接失敗 瀏覽:650
阿里雲掃碼登錄伺服器 瀏覽:970
化學基礎pdf 瀏覽:896
51單片機晶碼管 瀏覽:281
怎麼查伺服器假死原因日誌在哪看 瀏覽:277
掃描pdf文件 瀏覽:926
解壓密碼百度雲在線解壓 瀏覽:767
傳播學演算法推薦 瀏覽:749
我的世界網路游戲如何查找伺服器 瀏覽:257
安卓和蘋果通訊錄怎麼互傳 瀏覽:203
怎麼打開隱私與應用加密的菜單 瀏覽:416
我的世界伺服器小游戲的地址大全 瀏覽:578
在網路安全中加密安全機制提供了數據的 瀏覽:249
南京前端程序員私活怎麼收費 瀏覽:981
拓撲pdf 瀏覽:440
如何在工行app查我的訂單 瀏覽:214
車壓縮機改電動 瀏覽:83
如何尋找音樂app 瀏覽:831
一加加密的照片 瀏覽:200
阿里雲虛擬主機php 瀏覽:639