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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2763|回復: 8
收起左側

C51單片機有4個按鈕控制4個LED,程序上電LED高電平,如何修改成上電低電平?謝謝

[復制鏈接]
ID:384552 發表于 2022-1-4 15:31 | 顯示全部樓層 |閱讀模式
C51,有4個按鈕控制4個LED,程序上電LED高電平,初學不懂C語音,請問如何修改成上電低電平,謝謝

單片機源程序如下:
/C51,有4個按鈕,按鈕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) //延時函數
{
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;
}
}
}
}
回復

使用道具 舉報

ID:8455 發表于 2022-1-4 16:24 | 顯示全部樓層
在主函數內將LED腳初始化為0即可,在while循環前 加上led1=o;
回復

使用道具 舉報

ID:908826 發表于 2022-1-4 16:36 | 顯示全部樓層
上電高電平,這個我咋覺得你就算在程序給他拉低,在通電一瞬間到程序運行到拉低那句程序這個極短的時間間隔內還是高電平。
回復

使用道具 舉報

ID:57657 發表于 2022-1-4 16:51 | 顯示全部樓層
13205495918 發表于 2022-1-4 16:36
上電高電平,這個我咋覺得你就算在程序給他拉低,在通電一瞬間到程序運行到拉低那句程序這個極短的時 ...

STC8已經把這個問題解決了,IO口上電瞬間高阻狀態。
回復

使用道具 舉報

ID:979299 發表于 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) //延時函數
{
        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;
                        }
                }
        }
}
回復

使用道具 舉報

ID:509408 發表于 2022-1-4 17:00 | 顯示全部樓層
如樓上所說,51單片機上電瞬間有極短的高電平,如果你想拉低可以接三極管、反相器把電平 翻轉為低平。除非一些場合需要大多是沒必要這么做。 為了防止誤操作,可以上電時軟件延時一下規避上電不受控的高電平時間。
回復

使用道具 舉報

ID:384552 發表于 2022-1-4 17:55 | 顯示全部樓層
興安xa 發表于 2022-1-4 16:56
加一句就行了,另外格式整理了一下,便于查看
#include
sbit led1=P1^1; //led燈,

通過,謝謝
回復

使用道具 舉報

ID:384552 發表于 2022-1-4 17:59 | 顯示全部樓層
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; 引腳后仿真無效,如 led2=P1^2改成led2=p3.0;
回復

使用道具 舉報

ID:384552 發表于 2022-5-18 23:29 | 顯示全部樓層
興安xa 發表于 2022-1-4 16:56
加一句就行了,另外格式整理了一下,便于查看
#include
sbit led1=P1^1; //led燈,

謝謝您的答復
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 草久视频 | 久久综合狠狠综合久久综合88 | 激情五月综合网 | 亚洲精品一区二区 | 一区二区高清 | 欧美精品中文字幕久久二区 | 欧美aⅴ在线观看 | 少妇一级淫片免费放播放 | 日韩欧美精品一区 | 黄色欧美视频 | 亚洲一区二区三区在线视频 | 国产精品久久一区二区三区 | 久久精品免费 | 青青草视频网 | 国产免费a视频 | 欧美不卡网站 | 黄色大片免费网站 | 日本精品一区二区三区视频 | 久久久精品 | 97久久精品午夜一区二区 | 久久久精品 | 黄色av网站在线免费观看 | 久久亚洲一区二区三区四区 | 亚洲性视频 | 91色在线 | 日韩在线精品视频 | 成人午夜电影网 | 久草综合在线 | 天天综合网天天综合 | 男女激情网站免费 | 久久精品国产一区二区三区 | 91激情视频| 精品欧美乱码久久久久久1区2区 | 欧美亚洲高清 | 日韩在线视频一区二区三区 | 精品毛片在线观看 | www97影院| 国产精品入口麻豆www | 91美女在线观看 | 亚洲一区中文 | 一区二区三区四区不卡 |