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

單片機按鍵控制流水燈

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

閱讀全文

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

熱點內容
php實現的n 瀏覽:544
Python寫出特效 瀏覽:976
加密的zip壓縮包修復 瀏覽:415
安卓系統源碼如何混淆 瀏覽:291
題庫演算法 瀏覽:476
臨沂壓縮機生產廠家 瀏覽:942
cad旋轉角度命令 瀏覽:389
阿里雲是用什麼牌子伺服器 瀏覽:670
java基礎入門百度雲 瀏覽:979
360壓縮咋加密 瀏覽:354
hadoopmapreduce編程 瀏覽:302
linuxraid軟體 瀏覽:589
北美gre範文pdf 瀏覽:264
硬碟錄像機接什麼伺服器設備 瀏覽:502
智慧醫療方面最優演算法 瀏覽:921
伺服器ban掉了是什麼意思 瀏覽:394
vvo手機拍的視頻在哪個文件夾 瀏覽:838
華為防火牆cli命令手冊 瀏覽:895
於正新劇玉樓春在什麼App播放 瀏覽:129
學習社會經驗下載什麼app 瀏覽:476