久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2837|回復: 5
收起左側

求助這類單片機程序應該如何編寫?(按鍵實現一燈閃爍和八燈閃爍的切換)

[復制鏈接]
ID:434886 發表于 2018-12-15 16:53 | 顯示全部樓層 |閱讀模式
用一個按鍵實現一燈閃爍和八燈閃爍的切換,萌新不懂該如何實時切換啊,程序思路應該怎么寫?
回復

使用道具 舉報

ID:382454 發表于 2018-12-15 17:27 | 顯示全部樓層
很簡單.
先要寫一個閃燈的函數,之后呢,按一個鍵,打開一個LED。再按一下鍵打開8個LED口。而按鍵標志位可以定義一個bit變量來實現。即標志位為0時,就打開一個IO口,當標志位為1時,就打開8個IO口,驅動8個LED燈。
回復

使用道具 舉報

ID:434886 發表于 2018-12-15 17:39 | 顯示全部樓層
univers 發表于 2018-12-15 17:27
很簡單.
先要寫一個閃燈的函數,之后呢,按一個鍵,打開一個LED。再按一下鍵打開8個LED口。而按鍵標志位可 ...

那求問大佬這一段的切換如何實現呢?
回復

使用道具 舉報

ID:423511 發表于 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();
                }
        }
}

評分

參與人數 1黑幣 +10 收起 理由
yong761228 + 10 贊一個!

查看全部評分

回復

使用道具 舉報

ID:357520 發表于 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();
                }
        }
回復

使用道具 舉報

ID:357520 發表于 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();
                }
        }
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 正在播放国产精品 | 久久综合激情 | 欧美亚洲高清 | 91大神新作在线观看 | 国产精品久久精品 | 黑人久久| 不卡一区 | 国产日韩一区二区 | 99精品国产一区二区三区 | 日韩三区在线观看 | 国产97碰免费视频 | 天天色图 | 黄色av网站在线观看 | 欧美大片黄 | 日韩国产精品一区二区三区 | 久久久久久亚洲 | av在线电影网站 | 日韩免费在线观看视频 | 一区二区三区视频免费看 | 天天干天天干 | 亚洲国产午夜 | 日韩成人中文字幕 | www.99精品 | 91免费在线视频 | 操视频网站 | 特黄特色大片免费视频观看 | 蜜桃av鲁一鲁一鲁一鲁 | 97影院在线午夜 | 日本精品一区二区 | 国产免费一区二区 | 色婷婷一区 | 日韩精品免费视频 | 国产一区在线免费观看 | 亚洲美乳中文字幕 | 操操日 | 精品美女在线观看视频在线观看 | 中文字幕一区二区三区乱码图片 | 99久久99久久精品国产片果冰 | 国产毛片久久久久久久久春天 | 秋霞电影一区二区 | 日韩一级一区 |