欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求助這類單片機程序應該如何編寫?(按鍵實現一燈閃爍和八燈閃爍的切換) [打印本頁]

作者: 玲天生    時間: 2018-12-15 16:53
標題: 求助這類單片機程序應該如何編寫?(按鍵實現一燈閃爍和八燈閃爍的切換)
用一個按鍵實現一燈閃爍和八燈閃爍的切換,萌新不懂該如何實時切換啊,程序思路應該怎么寫?
作者: univers    時間: 2018-12-15 17:27
很簡單.
先要寫一個閃燈的函數,之后呢,按一個鍵,打開一個LED。再按一下鍵打開8個LED口。而按鍵標志位可以定義一個bit變量來實現。即標志位為0時,就打開一個IO口,當標志位為1時,就打開8個IO口,驅動8個LED燈。

作者: 玲天生    時間: 2018-12-15 17:39
univers 發表于 2018-12-15 17:27
很簡單.
先要寫一個閃燈的函數,之后呢,按一個鍵,打開一個LED。再按一下鍵打開8個LED口。而按鍵標志位可 ...

那求問大佬這一段的切換如何實現呢?
作者: weiweimao1    時間: 2018-12-17 17:28
我寫了一個程序你看一下:
#include<reg52.h>

typedef unsigned int u8;
#define led P2          //定義led由P2口控制

sbit key=P3^1;          //定義開關與P3^1口相連
sbit one=P2^0;          //8個IO口中的一個

u8 num=1;
u8 m;
void delay(u8 z)            //
{                                 //延時函數大概延時1us
        u8 x,y;                 //
        for(x=z;x>0;x--)
        for(y=114;y>0;y--);
}

void keypor()      //檢測按鍵函數
{
        if(key == 0)
        {
                delay(10);
                if(key == 0)
                {
                   num++;
                }
        }
        while(!key);
        m=num%2;
}

void oneLED()           //一個LED閃爍
{
          one=~one;
          delay(100);
}

void eightLED()         //8個LED閃爍
{
        led=0x00;
        delay(100);
        led=0xff;
        delay(100);

}

void main()              //主函數
{
        while(1)
        {
                keypor();       
                if(m==0)
                {
                        oneLED();
                }
                if(m==1)
                {
                        eightLED();
                }
        }
}
作者: jll586    時間: 2018-12-18 11:36
weiweimao1 發表于 2018-12-17 17:28
我寫了一個程序你看一下:
#include

#include<reg52.h>

typedef unsigned int u8;
#define led P2          //定義led由P2口控制

sbit key=P3^1;          //定義開關與P3^1口相連
sbit one=P2^0;          //8個IO口中的一個

u8 m;
void delay(u8 z)            //
{                                 //延時函數大概延時1us
        u8 x,y;                 //
        for(x=z;x>0;x--)
        for(y=114;y>0;y--);
}

void keypor()      //檢測按鍵函數
{
        if(key == 0)
        {
                delay(10);
                if(key == 0)
                {
                   num++;
                }
        }
        while(!key);
        if(m==2)
        {
                 m=0;
        }
}

void oneLED()           //一個LED閃爍
{
          one=~one;
          delay(100);
}

void eightLED()         //8個LED閃爍
{
        led=0x00;
        delay(100);
        led=0xff;
        delay(100);

}

void main()              //主函數
{
        while(1)
        {
                keypor();        
                if(m==0)
                {
                        oneLED();
                }
                if(m==1)
                {
                        eightLED();
                }
        }
作者: jll586    時間: 2018-12-18 11:37
#include<reg52.h>

typedef unsigned int u8;
#define led P2          //定義led由P2口控制

sbit key=P3^1;          //定義開關與P3^1口相連
sbit one=P2^0;          //8個IO口中的一個

u8 m;
void delay(u8 z)            //
{                                 //延時函數大概延時1us
        u8 x,y;                 //
        for(x=z;x>0;x--)
        for(y=114;y>0;y--);
}

void keypor()      //檢測按鍵函數
{
        if(key == 0)
        {
                delay(10);
                if(key == 0)
                {
                   num++;
                }
        }
        while(!key);
        if(m==2)
        {
                 m=0;
        }
}

void oneLED()           //一個LED閃爍
{
          one=~one;
          delay(100);
}

void eightLED()         //8個LED閃爍
{
        led=0x00;
        delay(100);
        led=0xff;
        delay(100);

}

void main()              //主函數
{
        while(1)
        {
                keypor();        
                if(m==0)
                {
                        oneLED();
                }
                if(m==1)
                {
                        eightLED();
                }
        }




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1