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

標題: 使用ch552芯片一個按鍵控制不同模式LED,為什么不能實現,求解 [打印本頁]

作者: qwettyuio    時間: 2021-8-19 11:20
標題: 使用ch552芯片一個按鍵控制不同模式LED,為什么不能實現,求解
#include "CH552.h"
#include "GPIO.h"

sbit LED1=P1^3;
sbit LED2=P3^4;

sbit KEY1=P1^5;
sbit KEY2=P1^6;

unsigned int k;

void KEY()
{
       
        if(KEY1==0)
        {
                k++;
                if(k>3)
                        k=0;
        }
}
void delay(unsigned int a)
{
  unsigned int i,j,k;
  for(i=0;i<a;i++)
    for(j=0;j<200;j++)
      for(k=0;k<200;k++)
        ;
}
void main(void)
{
  P1_OUT(PIN3+PIN5+PIN6);  //控制 LEDs 亮
  P3_OUT(PIN4);   //按鍵 KEYs
        k=0;
  while(1)
    {
                switch(k)
                {
                        case 0:
                {
                    LED1=1;
                        LED2=1;
                }break;
                        case 1:
                {
                        LED1=0;
                        LED2=1;
                }break;
                        case 2:
                {
                        LED1=1;
                        LED2=0;
                }break;
                        case 3:
                {
                        LED1=0;
                        LED2=0;
                }break;
    }
}
}



作者: 51hei團團    時間: 2021-8-19 16:28
原理圖呢?是不是電路有問題?  現在什么現象?
作者: lkc8210    時間: 2021-8-19 19:45
沒冇運行KEY()函數
作者: 黃youhui    時間: 2021-8-20 11:51
我之前用CH423S拓展IO口做按鍵矩陣時,將其中兩個OC口用于控制LED燈,其中有兩個問題需要解決,都是CH開頭的,希望對你有用吧。
1 就是拓展IO口時,需要確保對用的IO口已經被初始化成對應的模式  例如in  out  oc模式
2 控制IO口時千萬要注意別將其他IO口的參數改變,
例如指令 0X4F00 | 0X0001是IO口1輸出1  
例如指令 0X4F00 | 0X0002是IO口2輸出1  
。。。
例如指令 0X4F00 | 0X0080是IO口8輸出1  
當你要IO口8輸出1時,就必須注意其他IO口會不會被強制歸0
還有就是2樓說的,有沒有可能是你沒周期調用key函數


作者: 188610329    時間: 2021-8-29 23:49
switch 里面的case都不需要{}  最后加一個 default: break; 看看是不是K值超出了 0-3 的范圍的關系。




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