打印
[通用8051核FLASH系列]

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

[复制链接]
1064|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hefei12|  楼主 | 2020-10-14 13:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 芯圣电子官方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[3]&0x01){
                                        P2M2 = 0x98; //PIN3
                                  P2M2 = 0X89; //PIN2                                       
                                        P2 = 0xf4;//PIN2LOW
                        }
        }
        if(SEG == 2){ //B1
                        if(Data1[3]&0x02){
                                        P2M1 = 0x89; //PIN4
                                        P2M2 = 0x89; //PIN2
                                        P2 = 0xf4;//PIN2LOW
                        }
        }
  if(SEG == 3){ //C1
                        if(Data1[3]&0x04){
                                        P2M2 = 0x89; //PIN2
                                        P2M1 = 0x98; //PIN5
                                        P2 = 0xBC;//PIN5LOW
                        }
        }        
        if(SEG == 4){ //D1
                        if(Data1[3]&0x08){
                                        P2M2 = 0x89;//PIN2
                                        P2M0 = 0x83; //PIN6
                                        P2 = 0xF4;//PIN2LOW
                        }
        }        
        if(SEG == 5){ //E1
                        if(Data1[3]&0x10){
                                        P2M2 = 0x89;//PIN2
                                        P2M1 = 0x98; //PIN5
                                        P2 = 0xF4;//PIN2LOW
                        }
        }        
        if(SEG == 6){ //F1
                        if(Data1[3]&0x20){
                                        P2M2 = 0x89;//PIN2
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
        }        
        if(SEG == 7){ //G1
                        if(Data1[3]&0x40){
                                        P2M2 = 0x89;//PIN2
                                        P2M1 = 0x89; //PIN4
                                        P2 = 0xDC;//PIN4LOW
                        }
               
        }        
         if(SEG == 8){ //DP1
                        if(Data1[3]&0x80){
                                        P2M3 = 0x98;//PIN1 P02
                                        P2M2 = 0x89;//PIN2
                                
                                        P2 = 0xF4;//PIN2LOW
                        }
                        
        }        
        if(SEG == 9){ //A2
                        if(Data1[4]&0x01){
                                        P2M1 = 0x88;//PIN4
                                       
                                        P2 = 0xBC;//PIN5LOW
                        }
        }        
        if(SEG == 10){ //B2
                        if(Data1[4]&0x02){
                                        P2M1 = 0x98;//PIN5
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
               
        }        
                        if(SEG == 11){ //C2
                        if(Data1[4]&0x04){
                                        P2M1 = 0x88;//PIN5
                                       
                                        P2 = 0xDC;//PIN4LOW
                        }
        }        
                        if(SEG == 12){ //D2
                        if(Data1[4]&0x08){
                                        P2M1 = 0x89; //PIN4
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
        }        
                        if(SEG == 13){ //E2
                        if(Data1[4]&0x10){
                                        P2M2 = 0x98;//PIN3
                                        P2M0 = 0x89; //PIN6
                                        P2 = 0x7C;//PIN6LOW
                        }
                        
        }        
                        if(SEG == 14){ //F2
                        if(Data1[4]&0x20){
                                        P2M1 = 0x89; //PIN4
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xDC;//PIN4LOW
                        }
        }        
                        if(SEG == 15){ //G2
                        if(Data1[4]&0x40){
                                        P2M2 = 0x98;//PIN3
                                        P2M1 = 0x98; //PIN5
                                        P2 = 0xBC;//PIN5LOW
                        }
        }        
                        if(SEG == 16){ //DP2
                        if(Data1[4]&0x80){
                                        P2M3 = 0x98;//PIN1
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
        }        
                        if(SEG == 17){ //A3
                        if(Data1[5]&0x01){
                                        P2M0 = 0x89;//PIN6
                                        P2M3 = 0x98; //PIN1
                                        P2 = 0xF8;//PIN1LOW
                        }
        }        
                        if(SEG == 18){ //B3
                        if(Data1[5]&0x02){
                                        P2M0 = 0x89;//PIN6
                                        P2M2 = 0x98; //PIN3
                                        P2 = 0xEC;//PIN3LOW
                        }
        }        
        if(SEG == 19){ //C3
                        if(Data1[5]&0x04){
                                        P2M0 = 0x89;//PIN6
                                  P2M1 = 0x98; //PIN5
                                        P2 = 0xBC;//PIN5LOW
                        }
        }               
        if(SEG == 20){ //D3
                        if(Data1[5]&0x08){
                                        P2M0 = 0x89;//PIN6
                                        P2M1 = 0x89; //PIN4
                                        P2 = 0x7C;//PIN6LOW
                        }
        }
        if(SEG == 21){ //E3
                        if(Data1[5]&0x10){
                                        P2M0 = 0x89;//PIN6
                                        P2M1 = 0x89; //PIN4
                                        P2 = 0xDC;//PIN4LOW
                        }
        }
        if(SEG == 22){ //F3
                        if(Data1[5]&0x20){
                                  P2M0 = 0x89;//PIN6
                                  P2M1 = 0x98; //PIN5
                                        P2 = 0x7C;//PIN6LOW
                        }
        }
        if(SEG == 23){ //G3
                        if(Data1[5]&0x40){
                                        P2M1 = 0x98;//PIN5
                                        P2M3 = 0x98; //PIN1
                                        P2 = 0xF8;//PIN1LOW
                        }
        }
}

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

使用特权

评论回复
沙发
lidi911| | 2020-10-16 08:06 | 只看该作者
引脚设置不对?

使用特权

评论回复
评论
hefei12 2020-10-16 10:42 回复TA
引脚设置,是按照P0引脚设置的按理说不该有错,就是不知道芯圣003F4这芯片是不是对2.1-2.7这几个复用引脚有什么别的编程方式 
板凳
yiy| | 2020-10-28 20:44 | 只看该作者
给力。

使用特权

评论回复
地板
yzq13246068880| | 2020-11-2 17:30 | 只看该作者

使用特权

评论回复
5
jerow| | 2020-11-26 08:59 | 只看该作者
是不是特殊功能的IO需要进行特殊的设置呢,不然不可能一部分可以,一部分不可以的。

使用特权

评论回复
6
hefei12|  楼主 | 2020-12-15 17:06 | 只看该作者
问题解决啦

使用特权

评论回复
7
alxd| | 2020-12-24 13:35 | 只看该作者

是什么问题啊,可否说一下?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

1

粉丝