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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2329|回復: 12
打印 上一主題 下一主題
收起左側

單片機按鍵控制LED,程序加進去,完全控制不了,求助該咋辦呀?

[復制鏈接]
跳轉到指定樓層
樓主


單片機源程序如下:
#include<reg51.h>
sbit ZZ=P2^0;
sbit YZ=P2^1;
sbit QD=P2^2;
sbit HD=P2^3;
sbit DD=P2^4;
sbit ZUOZ=P1^0;
sbit YOUZ=P1^1;
sbit QIAND=P1^2;
sbit HOUD=P1^3;
sbit DAOD=P1^4;

void delay()   //定義延遲函數
{
unsigned char a,b;
for(a=0;a<200;a++)
for(b=0;b<200;b++);
}

void key()     //按鍵處理函數
{
        if(ZUOZ==0)
        {
                delay();
                if(ZUOZ==0)
                {
                        ZZ=~ZZ;
                }
                while(!ZUOZ);
        }

                if(YOUZ==0)
        {
                delay();
                if(YOUZ==0)
                {
                        YZ=~YZ;
                }
                while(!YOUZ);
        }

                if(QIAND==0)
        {
                delay();
                if(QIAND==0)
                {
                        QD=~QD;
                }
                while(!QIAND);
        }

                if(HOUD==0)
        {
                delay();
                if(HOUD==0)
                {
                        HD=~HD;
                }
                while(!HOUD);
        }

                if(DAOD==0)
        {
                delay();
                if(DAOD==0)
                {
                        DD=~DD;
                }
}
}
void main(void)   //主函數
{
if(ZUOZ==0)
{
while(1)
{
ZZ=0;
delay();
ZZ=1;
delay();
}
YZ=1;
QD=1;
HD=1;
DD=1;
}

if(YOUZ==0)
{
ZZ=1;
while(1)
{
YZ=0;
delay();
YZ=1;
delay();
}
QD=1;
HD=1;
DD=1;
}

if(QIAND==0)
{
ZZ=1;
YZ=1;
QD=0;
HD=1;
DD=1;
}

if(HOUD==0)
{
ZZ=1;
YZ=1;
QD=1;
HD=0;
DD=1;
}
if(DAOD==0)
{
ZZ=1;
YZ=1;
QD=1;
HD=1;
while(1)
{
DD=0;
delay();
DD=1;
delay();
}
}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:465981 發表于 2022-6-20 16:03 | 只看該作者
你的程序這么多個while(1),你覺得沒問題嗎?
回復

使用道具 舉報

板凳
ID:213173 發表于 2022-6-20 20:40 | 只看該作者
#include<reg51.h>
sbit ZZ=P2^0;
sbit YZ=P2^1;
sbit QD=P2^2;
sbit HD=P2^3;
sbit DD=P2^4;
sbit ZUOZ=P1^0;
sbit YOUZ=P1^1;
sbit QIAND=P1^2;
sbit HOUD=P1^3;
sbit DAOD=P1^4;

void delay()   //定義延遲函數
{
        unsigned char a,b;
        for(a=0;a<200;a++)
                for(b=0;b<200;b++);
}

void key()     //按鍵處理函數
{
        if(ZUOZ==0)
        {
                delay();
                if(ZUOZ==0)
                {
                        ZZ=~ZZ;
                }
                while(!ZUOZ);
        }

        if(YOUZ==0)
        {
                delay();
                if(YOUZ==0)
                {
                        YZ=~YZ;
                }
                while(!YOUZ);
        }
       
        if(QIAND==0)
        {
                delay();
                if(QIAND==0)
                {
                        QD=~QD;
                }
                while(!QIAND);
        }
       
        if(HOUD==0)
        {
                delay();
                if(HOUD==0)
                {
                        HD=~HD;
                }
                while(!HOUD);
        }

        if(DAOD==0)
        {
                delay();
                if(DAOD==0)
                {
                        DD=~DD;
                }
        }
}
void main(void)   //主函數
{
        while(1)
        {
                key();
        }
}


回復

使用道具 舉報

地板
ID:491577 發表于 2022-6-21 23:59 | 只看該作者
樓主對基本電路可以說一竅不通,連基本的常識都不了解,89c52只有輸出0才有20mA電流,輸出1幾乎沒有電流,樓主LED接反了。LED限流電阻選5k,是閉著眼睛選的吧,歐姆定律是不是忘了。
回復

使用道具 舉報

5#
ID:1025436 發表于 2022-6-22 13:04 | 只看該作者
大爺您說話真刺激,剛開始學3天,我要是懂我也不會發帖了,希望在你不擅長的事兒上也有人這么激勵你,謝謝昂
回復

使用道具 舉報

6#
ID:517782 發表于 2022-6-22 13:43 | 只看該作者
程序死在循環中出不去了
回復

使用道具 舉報

7#
ID:517782 發表于 2022-6-22 13:45 | 只看該作者
程序死在循環中了
回復

使用道具 舉報

8#
ID:647261 發表于 2022-6-22 13:50 | 只看該作者
剛開始學3天就能到這程度,那應該是要表揚的了,我都是初中開始學電路,那時只有理論,到了大學才能自己搭電路實踐一下,用了這么多年,差太多了,沒法比
回復

使用道具 舉報

9#
ID:190577 發表于 2022-6-22 16:23 | 只看該作者
while(1)
{
ZZ=0;
delay();
ZZ=1;
delay();
}這個while循環,系統死機了,出不來
回復

使用道具 舉報

10#
ID:962396 發表于 2022-6-22 17:37 | 只看該作者
改好了樓主講一下,我來學習謝謝
回復

使用道具 舉報

11#
ID:639698 發表于 2022-6-22 17:59 來自觸屏版 | 只看該作者
改成二樓貼的程序
回復

使用道具 舉報

12#
ID:639698 發表于 2022-6-22 17:59 來自觸屏版 | 只看該作者
改成二樓貼的程序就OK
回復

使用道具 舉報

13#
ID:1025436 發表于 2022-6-22 18:47 | 只看該作者
我重新搞了一下,但是他放在仿真里第四個燈的亮度不夠,是為啥呢


#include <reg51.h>
#define uint unsigned int

void delay(uint z);
sbit K1=P1^0;         
sbit K2=P1^1;         
sbit K3=P1^2;     
sbit K4=P1^3;
sbit K5=P1^4;
sbit D1=P0^0;            
sbit D2=P0^1;
sbit D3=P0^2;
sbit D4=P0^3;
sbit D5=P0^4;
void main()
{
while(1)
{
D1=D2=D3=D4=D5=1;
if(K1==0)
{
D1=0;
delay(1000);
D1=1;
delay(1000);
}

if(K2==0)
{
D2=0;
delay(1000);
D2=1;
delay(1000);
}

if(K3==0)
{
D3=0;
}

if(K4==0)
{
D4=0;
}

if(K5==0)
{
D5=0;
delay(1000);
D5=1;
delay(1000);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 人和拘一级毛片c | 亚洲综合大片69999 | 亚洲一区二区三区福利 | 国产成人精品一区二区三 | 欧美日韩精品一区二区天天拍 | 国产精品久久久久久久一区二区 | 亚洲欧美精品在线观看 | 中文在线一区二区 | 欧美成视频 | 日本电影免费完整观看 | 久久tv在线观看 | 国产免费一区 | 亚洲精品黑人 | 久久91精品 | 婷婷久久综合 | 欧美一级黄色免费看 | 欧美乱人伦视频 | 亚洲精品日日夜夜 | 国产精品中文字幕在线观看 | 国产女人与拘做受免费视频 | 欧美在线一二三 | 伊人在线视频 | 在线观看成人小视频 | 精品国产一级 | 亚洲精品免费视频 | 久热国产精品视频 | 国产精品久久久久久久久久 | 草久久| 成人毛片在线视频 | 中文字幕在线一区二区三区 | 国产二区在线播放 | 黄色一级免费观看 | 久久亚洲一区二区 | 91免费看片 | 乳色吐息在线观看 | 欧美中文在线 | 999久久久免费精品国产 | 黄色成人av | 视频在线一区二区 | a级毛片免费高清视频 | 一区中文字幕 |