亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1465|回復: 12
打印 上一主題 下一主題
收起左側(cè)

新手求教 單片機P0.3和P0.2沒動作,沒找到原因

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:217075 發(fā)表于 2025-8-22 09:17 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
P0.3和P0.2沒動作,沒找到原因,拜托大神指點

//STC15W408AS(LQFP32)

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

sbit led1h=P2^5;  //輸出至ULN2803
sbit led1l=P2^6;
sbit led2h=P2^7;
sbit led2l=P2^2;
sbit led3h=P2^3;
sbit led3l=P2^4;
sbit led4h=P3^7;
sbit led4l=P2^0;
sbit led5h=P2^1;
sbit led5l=P3^4;
sbit led6h=P3^5;
sbit led6l=P3^6;

sbit key1=P1^3; //輸出功率強弱控制
sbit key2=P1^5;
sbit key3=P1^2;
sbit key4=P1^1;
sbit key5=P1^4;
sbit key6=P1^0;

uint h1,h2,h3,h4,h5,h6;
uint l1,l2,l3,l4,l5,l6;


uint onof;  //狀態(tài)變量

sbit st=P1^6;   //定時器輸出
sbit star=P1^7;  //定時器啟動
sbit stop=P5^4;  //定時器停止

sbit ss=P5^5;   //來自遙控器,控制定時器啟動、停止
sbit yy=P0^2;   //語音芯片觸發(fā)
sbit fm=P0^3;   //蜂鳴器控制

void delayms(uint xms)
      {
        uint i,j;
        for(i=xms;i>0;i--)
            for(j=110;j>0;j--);
      }

void yycan(uint m)  //5段語音觸發(fā)
      {
                uint n;
                n=0;
                while(n<=m)
          {
                yy=1;
                delayms(1);
                yy=0;
        delayms(1);
                n++;
          }
}

void keycan()
{      
    if(st==1&&onof==0)
    {
        delayms(10);   
        if(st==1&&onof==0)
        {   
            led1h=h1;
            led1l=l1;
            led2h=h2;
            led2l=l2;
            led3h=h3;
            led3l=l3;
            led4h=h4;
            led4l=l4;
            led5h=h5;
            led5l=l5;
            led6h=h6;
            led6l=l6;
            onof=1;
            yycan(1);
            delayms(10);
        }
    }






/***********************************/   

    if(st==0&&onof==1)
    {
        delayms(10);
        if(st==0&&onof==1)
        {
            h1=led1h;
            l1=led1l;
            h2=led2h;
            l2=led2l;
            h3=led3h;
            l3=led3l;
            h4=led4h;
            l4=led4l;
            h5=led5h;
            l5=led5l;
            h6=led6h;
            l6=led6l;
            led1h=1;
            led1l=1;
            led2h=1;
            led2l=1;
            led3h=1;
            led3l=1;
            led4h=1;
            led4l=1;
            led5h=1;
            led5l=1;
            led6h=1;
            led6l=1;
            onof=0;
            stop=0;
            delayms(200);
            stop=1;
            yycan(5);
            fm=1;
            delayms(4000);
            fm=0;
            delayms(10);


        }
    }

/********************************/

    if(ss==0&&onof==0)
    {
        delayms(10);
        if(ss==0&&onof==0)
        {
            star=0;            
            delayms(300);
            star=1;
            onof=1;
            while(!ss);
            delayms(10);
        }

    }

/*******************************/
    if(ss==0&&onof==1)
    {
        delayms(10);
        if(ss==0&&onof==1)
        {
            stop=0;            
            delayms(300);
            stop=1;
            onof=0;
            while(!ss);
            delayms(10);
        }

    }

/*******************************/


        if(key1==0&&st==1)
        {
                delayms(10);
                if(key1==0&&st==1)        

                {
                        if((led1h==1)&&(led1l==1))
                        {
                                led1h=0;
                                led1l=1;
                                while(!key1);
                yycan(2);
                                delayms(10);
                        }
                }

                if(key1==0&&st==1)
                {
                        if((led1h==0)&&(led1l==1))
                        {
                                led1h=1;
                                led1l=0;
                                while(!key1);
                yycan(3);
                                delayms(10);
                        }
                }

                if(key1==0&&st==1)        

                {        
            if((led1h==1)&&(led1l==0))
                        {
                                led1h=1;
                                led1l=1;
                                while(!key1);
                yycan(4);
                                delayms(10);
                        }
                 }
        }
        delayms(10);

/*********************************/

        if(key2==0&&st==1)
        {
                delayms(10);
                if(key2==0&&st==1)        
                {
                        if((led2h==1)&&(led2l==1))
                        {
                                led2h=0;
                                led2l=1;
                                while(!key2);
                yycan(2);
                                delayms(10);
                        }
                }

                if(key2==0&&st==1)
                {
                        if((led2h==0)&&(led2l==1))
                        {
                                led2h=1;
                                led2l=0;
                                while(!key2);
                yycan(3);
                                delayms(10);
                        }
                }

                if(key2==0&&st==1)        

                {        if((led2h==1)&&(led2l==0))
                        {
                                led2h=1;
                                led2l=1;
                                while(!key2);
                yycan(4);
                                delayms(10);
                        }
                 }
        }
        delayms(10);
               
/*******************************/

  if(key3==0&&st==1)
        {
                delayms(10);
                if(key3==0&&st==1)        
                {
                        if((led3h==1)&&(led3l==1))
                        {
                                led3h=0;
                                led3l=1;
                                while(!key3);
                yycan(2);
                                delayms(10);
                        }
                }

                if(key3==0&&st==1)
                {
                        if((led3h==0)&&(led3l==1))
                        {
                                led3h=1;
                                led3l=0;
                                while(!key3);
                yycan(3);
                                delayms(10);
                        }
                }

                if(key3==0&&st==1)        

                {        if((led3h==1)&&(led3l==0))
                        {
                                led3h=1;
                                led3l=1;
                                while(!key3);
                yycan(4);
                                delayms(10);
                        }
                 }
        }
        delayms(10);

/*********************************/

        if(key4==0&&st==1)
        {
                delayms(10);
                if(key4==0&&st==1)        
                {
                        if((led4h==1)&&(led4l==1))
                        {
                                led4h=0;
                                led4l=1;
                                while(!key4);
                yycan(2);
                                delayms(10);
                        }
                }

                if(key4==0&&st==1)
                {
                        if((led4h==0)&&(led4l==1))
                        {
                                led4h=1;
                                led4l=0;
                                while(!key4);
                yycan(3);
                                delayms(10);
                        }
                }

                if(key4==0&&st==1)        

                {        
                    if((led4h==1)&&(led4l==0))
                        {
                                led4h=1;
                                led4l=1;
                                while(!key4);
                yycan(4);
                                delayms(10);
                        }
                 }
        }
        delayms(10);

/********************************/

           if(key5==0&&st==1)
        {
                delayms(10);
                if(key5==0&&st==1)        
                {
                        if((led5h==1)&&(led5l==1))
                        {
                                led5h=0;
                                led5l=1;
                                while(!key5);
                yycan(2);
                                delayms(10);
                        }
                }

                if(key5==0&&st==1)
                {
                        if((led5h==0)&&(led5l==1))
                        {
                                led5h=1;
                                led5l=0;
                                while(!key5);
                yycan(3);
                                delayms(10);
                        }
                }

                if(key5==0&&st==1)        

                {        
                    if((led5h==1)&&(led5l==0))
                        {
                                led5h=1;
                                led5l=1;
                                while(!key5);
                yycan(4);
                                delayms(10);
                        }
                 }
        }
        delayms(10);

/************************************/

           if(key6==0&&st==1)
        {
                delayms(10);
                if(key6==0&&st==1)        
                {
                        if((led6h==1)&&(led6l==1))
                        {
                                led6h=0;
                                led6l=1;
                                while(!key6);
                yycan(2);
                                delayms(10);
                        }
                }

                if(key6==0&&st==1)
                {
                        if((led6h==0)&&(led6l==1))
                        {
                                led6h=1;
                                led6l=0;
                                while(!key6);
                yycan(3);
                                delayms(10);
                        }
                }

                if(key6==0&&st==1)        

                {        
                    if((led6h==1)&&(led6l==0))
                        {
                                led6h=1;
                                led6l=1;
                                while(!key6);
                yycan(4);
                                delayms(10);
                        }
                 }
        }
        delayms(10);
}

/*************************************/

IO_Init()
{
        P0M1=0x00;
        P0M0=0xc0;
        P1M1=0x00;
        P1M0=0x80;
        P2M1=0x00;
        P2M0=0x00;
        P3M1=0x00;
        P3M0=0x00;
        P5M1=0x00;
        P5M0=0x10;

}   

/*************************************/

void main()
{   
        led1h=1;
        led1l=1;
        led2h=1;
        led2l=1;
        led3h=1;
        led3l=1;
        led4h=1;
        led4l=1;
        led5h=1;
        led5l=1;
        led6h=1;
        led6l=1;

    h1=0;
    l1=1;
    h2=0;
    l2=1;
    h3=0;
    l3=1;
    h4=0;
    l4=1;
    h5=0;
    l5=1;
    h6=0;
    l6=1;

        key1=1;
        key2=1;
        key3=1;
        key4=1;
        key5=1;
        key6=1;

        star=1;
    stop=1;
    ss=1;
    yy=0;
    fm=0;
    onof=0;

    delayms(10);

        while(1)
        {
                keycan();
        delayms(5);
               
        }
}

12345.png (300.86 KB, 下載次數(shù): 0)

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

使用道具 舉報

沙發(fā)
ID:1133081 發(fā)表于 2025-8-22 11:23 | 只看該作者
STC15W408AS本來就沒有P0,當然也沒有P0.3和P0.2。
回復

使用道具 舉報

板凳
ID:1109793 發(fā)表于 2025-8-22 12:18 | 只看該作者
WL0123 發(fā)表于 2025-8-22 11:23
STC15W408AS本來就沒有P0,當然也沒有P0.3和P0.2。

資料里面沒有408
但是有404S


回復

使用道具 舉報

地板
ID:774370 發(fā)表于 2025-8-22 12:36 | 只看該作者
如果是STC15W408AS,此型號無P0端口。如果是STC89系列,P0口需外接上拉電阻
回復

使用道具 舉報

5#
ID:217075 發(fā)表于 2025-8-22 12:48 | 只看該作者
LQFP32有P0.0到P0.3
回復

使用道具 舉報

6#
ID:217075 發(fā)表于 2025-8-22 12:49 | 只看該作者
WL0123 發(fā)表于 2025-8-22 11:23
STC15W408AS本來就沒有P0,當然也沒有P0.3和P0.2。

LQFP32有P0.0至P0.3
回復

使用道具 舉報

7#
ID:774370 發(fā)表于 2025-8-22 15:14 | 只看該作者

我又仔細的看了一下STC15W408AS手冊,未見P0口。
回復

使用道具 舉報

8#
ID:1133081 發(fā)表于 2025-8-22 15:28 | 只看該作者

程序中沒有調(diào)用IO_Init(),也就是沒有配置端口模式。
回復

使用道具 舉報

9#
ID:1153607 發(fā)表于 2025-8-22 17:14 | 只看該作者
 P0M0=0xc0;改成 P0M0= 0X0C 試試。不知道你那句什么意思。
回復

使用道具 舉報

10#
ID:1109793 發(fā)表于 2025-8-22 17:59 | 只看該作者
jintaiyang 發(fā)表于 2025-8-22 15:14
我又仔細的看了一下STC15W408AS手冊,未見P0口。

我下載的PDF里面沒找到這個,至少目錄里面沒有
回復

使用道具 舉報

11#
ID:1153607 發(fā)表于 2025-8-22 22:39 | 只看該作者
15W408AS 沒有32腳封裝產(chǎn)品,15W408S有LQFP32產(chǎn)品。
回復

使用道具 舉報

12#
ID:217075 發(fā)表于 2025-8-25 09:55 | 只看該作者
確定了,STC15W408AS LQFP32 P0.0-P0.3 不能用,P0口只是樣子,產(chǎn)品手冊上根本沒提,愁死了,剛發(fā)現(xiàn)STC居然如此垃圾
回復

使用道具 舉報

13#
ID:217075 發(fā)表于 2025-8-25 10:45 | 只看該作者
用STC15W1K24S-35I-LQFP32替代,工作正常
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表