hefei12 发表于 2020-10-14 13:20

HC89S003F4芯片2.1-2.6引脚接数码管

本帖最后由 芯圣电子官方QQ 于 2023-7-25 10:05 编辑

void LED_Scan1(void)
{
      SEG++;
if(SEG>23)SEG=1;
      P2 = 0xFC;
      P2M3 = 0x99; //PIN1 2.6
      P2M2 = 0x99; //PIN2 PIN3 2.5 2.4
      P2M1 = 0x99; //PIN4 PIN5 2.3 2.2
      P2M0 = 0x99; //PIN6      2.1
      
if(SEG == 1){ //A1
                        if(Data1&0x01){
                                        P2M2 = 0x98; //PIN3
                                  P2M2 = 0X89; //PIN2                                       
                                        P2 = 0xf4;//PIN2LOW
                        }
      }
      if(SEG == 2){ //B1
                        if(Data1&0x02){
                                        P2M1 = 0x89; //PIN4
                                        P2M2 = 0x89; //PIN2
                                        P2 = 0xf4;//PIN2LOW
                        }
      }
if(SEG == 3){ //C1
                        if(Data1&0x04){
                                        P2M2 = 0x89; //PIN2
                                        P2M1 = 0x98; //PIN5
                                        P2 = 0xBC;//PIN5LOW
                        }
      }      
      if(SEG == 4){ //D1
                        if(Data1&0x08){
                                        P2M2 = 0x89;//PIN2
                                        P2M0 = 0x83; //PIN6
                                        P2 = 0xF4;//PIN2LOW
                        }
      }      
      if(SEG == 5){ //E1
                        if(Data1&0x10){
                                        P2M2 = 0x89;//PIN2
                                        P2M1 = 0x98; //PIN5
                                        P2 = 0xF4;//PIN2LOW
                        }
      }      
      if(SEG == 6){ //F1
                        if(Data1&0x20){
                                        P2M2 = 0x89;//PIN2
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
      }      
      if(SEG == 7){ //G1
                        if(Data1&0x40){
                                        P2M2 = 0x89;//PIN2
                                        P2M1 = 0x89; //PIN4
                                        P2 = 0xDC;//PIN4LOW
                        }
               
      }      
         if(SEG == 8){ //DP1
                        if(Data1&0x80){
                                        P2M3 = 0x98;//PIN1 P02
                                        P2M2 = 0x89;//PIN2
                              
                                        P2 = 0xF4;//PIN2LOW
                        }
                        
      }      
      if(SEG == 9){ //A2
                        if(Data1&0x01){
                                        P2M1 = 0x88;//PIN4
                                       
                                        P2 = 0xBC;//PIN5LOW
                        }
      }      
      if(SEG == 10){ //B2
                        if(Data1&0x02){
                                        P2M1 = 0x98;//PIN5
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
               
      }      
                        if(SEG == 11){ //C2
                        if(Data1&0x04){
                                        P2M1 = 0x88;//PIN5
                                       
                                        P2 = 0xDC;//PIN4LOW
                        }
      }      
                        if(SEG == 12){ //D2
                        if(Data1&0x08){
                                        P2M1 = 0x89; //PIN4
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
      }      
                        if(SEG == 13){ //E2
                        if(Data1&0x10){
                                        P2M2 = 0x98;//PIN3
                                        P2M0 = 0x89; //PIN6
                                        P2 = 0x7C;//PIN6LOW
                        }
                        
      }      
                        if(SEG == 14){ //F2
                        if(Data1&0x20){
                                        P2M1 = 0x89; //PIN4
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xDC;//PIN4LOW
                        }
      }      
                        if(SEG == 15){ //G2
                        if(Data1&0x40){
                                        P2M2 = 0x98;//PIN3
                                        P2M1 = 0x98; //PIN5
                                        P2 = 0xBC;//PIN5LOW
                        }
      }      
                        if(SEG == 16){ //DP2
                        if(Data1&0x80){
                                        P2M3 = 0x98;//PIN1
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
      }      
                        if(SEG == 17){ //A3
                        if(Data1&0x01){
                                        P2M0 = 0x89;//PIN6
                                        P2M3 = 0x98; //PIN1
                                        P2 = 0xF8;//PIN1LOW
                        }
      }      
                        if(SEG == 18){ //B3
                        if(Data1&0x02){
                                        P2M0 = 0x89;//PIN6
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
      }      
      if(SEG == 19){ //C3
                        if(Data1&0x04){
                                        P2M0 = 0x89;//PIN6
                                  P2M1 = 0x98; //PIN5
                                        P2 = 0xBC;//PIN5LOW
                        }
      }               
      if(SEG == 20){ //D3
                        if(Data1&0x08){
                                        P2M0 = 0x89;//PIN6
                                        P2M1 = 0x89; //PIN4
                                        P2 = 0x7C;//PIN6LOW
                        }
      }
      if(SEG == 21){ //E3
                        if(Data1&0x10){
                                        P2M0 = 0x89;//PIN6
                                        P2M1 = 0x89; //PIN4
                                        P2 = 0xDC;//PIN4LOW
                        }
      }
      if(SEG == 22){ //F3
                        if(Data1&0x20){
                                  P2M0 = 0x89;//PIN6
                                  P2M1 = 0x98; //PIN5
                                        P2 = 0x7C;//PIN6LOW
                        }
      }
      if(SEG == 23){ //G3
                        if(Data1&0x40){
                                        P2M1 = 0x98;//PIN5
                                        P2M3 = 0x98; //PIN1
                                        P2 = 0xF8;//PIN1LOW
                        }
      }
}

这是数码管显示的部分程序,我使用的三位六脚数码管,使用0.2-0.7引脚显示正常,就是2.1-2.6显示有问题,请大师帮忙看看,是不是**作哪里有问题,谢谢啦!!!!

lidi911 发表于 2020-10-16 08:06

引脚设置不对?

yiy 发表于 2020-10-28 20:44

给力。

yzq13246068880 发表于 2020-11-2 17:30

jerow 发表于 2020-11-26 08:59

是不是特殊功能的IO需要进行特殊的设置呢,不然不可能一部分可以,一部分不可以的。

hefei12 发表于 2020-12-15 17:06

问题解决啦

alxd 发表于 2020-12-24 13:35

hefei12 发表于 2020-12-15 17:06
问题解决啦

是什么问题啊,可否说一下?
页: [1]
查看完整版本: HC89S003F4芯片2.1-2.6引脚接数码管