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

標(biāo)題: C51單片機(jī)有4個(gè)按鈕控制4個(gè)LED,程序上電LED高電平,如何修改成上電低電平?謝謝 [打印本頁]

作者: QDMLIT    時(shí)間: 2022-1-4 15:31
標(biāo)題: C51單片機(jī)有4個(gè)按鈕控制4個(gè)LED,程序上電LED高電平,如何修改成上電低電平?謝謝
C51,有4個(gè)按鈕控制4個(gè)LED,程序上電LED高電平,初學(xué)不懂C語音,請問如何修改成上電低電平,謝謝

單片機(jī)源程序如下:
/C51,有4個(gè)按鈕,按鈕1按下,LED1亮;
//按鈕2按下,LED1滅,LED2亮;以此類推,
#include<reg52.h>
sbit led1=P1^1; //led燈,
sbit led2=P1^2; //led燈,
sbit led3=P1^3; //led燈,
sbit led4=P1^4; //led燈,
sbit key1=P2^1; //按鍵,
sbit key2=P2^2; //按鍵,
sbit key3=P2^3; //按鍵,
sbit key4=P2^4; //按鍵,
void delay(unsigned int t) //延時(shí)函數(shù)
{
while(--t);
}
void main()
{
while(1)
{
if(key1 == 0) //如果高電平按下按鍵就==1
{
delay(200); //按鍵防抖
if(key1 == 0)
{
led1=1; //如果低電平亮就=0
led2=0;
led3=0;
led4=0;
}
}
if(key2 == 0)
{
delay(200); //按鍵防抖
if(key2 == 0)
{
led1=0; //如果低電平亮就=0
led2=1;
led3=0;
led4=0;
}
}
if(key3 == 0)
{
delay(200); //按鍵防抖
if(key3 == 0)
{
led1=0; //如果低電平亮就=0
led2=0;
led3=1;
led4=0;
}
}
if(key4 == 0)
{
delay(200); //按鍵防抖
if(key4 == 0)
{
led1=0; //如果低電平亮就=0
led2=0;
led3=0;
led4=1;
}
}
}
}

作者: ymt    時(shí)間: 2022-1-4 16:24
在主函數(shù)內(nèi)將LED腳初始化為0即可,在while循環(huán)前 加上led1=o;
作者: 13205495918    時(shí)間: 2022-1-4 16:36
上電高電平,這個(gè)我咋覺得你就算在程序給他拉低,在通電一瞬間到程序運(yùn)行到拉低那句程序這個(gè)極短的時(shí)間間隔內(nèi)還是高電平。
作者: npn    時(shí)間: 2022-1-4 16:51
13205495918 發(fā)表于 2022-1-4 16:36
上電高電平,這個(gè)我咋覺得你就算在程序給他拉低,在通電一瞬間到程序運(yùn)行到拉低那句程序這個(gè)極短的時(shí) ...

STC8已經(jīng)把這個(gè)問題解決了,IO口上電瞬間高阻狀態(tài)。
作者: 興安xa    時(shí)間: 2022-1-4 16:56
加一句就行了,另外格式整理了一下,便于查看
#include<reg52.h>
sbit led1=P1^1; //led燈,
sbit led2=P1^2; //led燈,
sbit led3=P1^3; //led燈,
sbit led4=P1^4; //led燈,
sbit key1=P2^1; //按鍵,
sbit key2=P2^2; //按鍵,
sbit key3=P2^3; //按鍵,
sbit key4=P2^4; //按鍵,
void delay(unsigned int t) //延時(shí)函數(shù)
{
        while(--t);
}
void main()
{
        P1=0x00;  
while(1)
        {
                if(key1 == 0) //如果高電平按下按鍵就==1
                {
                        delay(200); //按鍵防抖
                        if(key1 == 0)
                        {
                                led1=1; //如果低電平亮就=0
                                led2=0;
                                led3=0;
                                led4=0;
                        }
                }
                if(key2 == 0)
                {
                        delay(200); //按鍵防抖
                        if(key2 == 0)
                        {
                                led1=0; //如果低電平亮就=0
                                led2=1;
                                led3=0;
                                led4=0;
                        }
                }
                if(key3 == 0)
                {
                        delay(200); //按鍵防抖
                        if(key3 == 0)
                        {
                                led1=0; //如果低電平亮就=0
                                led2=0;
                                led3=1;
                                led4=0;
                        }
                }
                if(key4 == 0)
                {
                        delay(200); //按鍵防抖
                        if(key4 == 0)
                        {
                                led1=0; //如果低電平亮就=0
                                led2=0;
                                led3=0;
                                led4=1;
                        }
                }
        }
}
作者: tzs233    時(shí)間: 2022-1-4 17:00
如樓上所說,51單片機(jī)上電瞬間有極短的高電平,如果你想拉低可以接三極管、反相器把電平 翻轉(zhuǎn)為低平。除非一些場合需要大多是沒必要這么做。 為了防止誤操作,可以上電時(shí)軟件延時(shí)一下規(guī)避上電不受控的高電平時(shí)間。
作者: QDMLIT    時(shí)間: 2022-1-4 17:55
興安xa 發(fā)表于 2022-1-4 16:56
加一句就行了,另外格式整理了一下,便于查看
#include
sbit led1=P1^1; //led燈,

通過,謝謝
作者: QDMLIT    時(shí)間: 2022-1-4 17:59
sbit led1=P1^1; //led燈,
發(fā)現(xiàn)修改sbit led2=P1^2; //led燈,
sbit led3=P1^3; //led燈,
sbit led4=P1^4; //led燈,
sbit key1=P2^1; //按鍵,
sbit key2=P2^2; //按鍵,
sbit key3=P2^3; //按鍵,
sbit key4=P2^4; 引腳后仿真無效,如 led2=P1^2改成led2=p3.0;
作者: QDMLIT    時(shí)間: 2022-5-18 23:29
興安xa 發(fā)表于 2022-1-4 16:56
加一句就行了,另外格式整理了一下,便于查看
#include
sbit led1=P1^1; //led燈,

謝謝您的答復(fù)




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