標(biāo)題: 單片機(jī)程序 為啥充電部分?jǐn)?shù)碼管數(shù)據(jù)沒(méi)有實(shí)時(shí)刷新 [打印本頁(yè)]

作者: 1481509156    時(shí)間: 2024-12-21 10:29
標(biāo)題: 單片機(jī)程序 為啥充電部分?jǐn)?shù)碼管數(shù)據(jù)沒(méi)有實(shí)時(shí)刷新
大佬們幫忙看下數(shù)碼管顯示部分,其中開機(jī)工作時(shí)可以正常刷新數(shù)據(jù),但是我充電時(shí)沒(méi)法實(shí)時(shí)刷新,是為啥?

else
        {
            CLRWDT();
            //Timer0_INIT();
            des_sever(); //接收數(shù)據(jù)
            //if(RX_LVD==0x66){POWER=0;}
            if(tc_flag==1)
            {
                if(RX==0)        //充電拔電后關(guān)機(jī)休眠
                {
                    rx_cnt++;
                    if(rx_cnt>50){K1_SDA=0;PIN9=1;PIN10=1;rx_cnt=0;tc_flag=0;POWER=0;}
                }
                else{rx_cnt=0;}
            }
            
               
               
                    if(RX_NUM==0x88)//充電區(qū)域 ,檔位不顯示,電量閃爍
                    {
                            CLRWDT();
                            T0MD   = 0X00;
                            tc_flag=1;
                            //lvd_h1=lvd;
                            //lvd_h2=lvd_h1+1;
                            if(RX_LVD==0x00)
                            {
                                LED_SCAN(0);
                                LED_SCAN1(6);   
                            }
                            else
                            {
                                  des_sever();
                                  if(RX_LVD==0xE0)//滿電
                                {
                                    LED_SCAN(0);
                                       LED_SCAN1(5);
                                       CH_cnt=0;
                                
                                    //tc_flag=1;
                                }
                                else
                                {
                                    if(RX_LVD==0x60)//4格3.9-4.2
                                    {
                                         if(CH_cnt<20000){lvd=4;}
                                         else if(CH_cnt<40000){lvd=5;}
                                         else{CH_cnt=0;}
                                    }
                                    else
                                    {
                                        if(RX_LVD==0xA0)//3格3.7-3.9
                                        {
                                            if(CH_cnt<20000){lvd=3;}
                                            else if(CH_cnt<40000){lvd=4;}
                                            else{CH_cnt=0;}
                                        }
                                        else
                                        {
                                            if(RX_LVD==0x20)//2格3.5-3.7
                                            {
                                                if(CH_cnt<20000){lvd=2;}
                                                else if(CH_cnt<40000){lvd=3;}
                                                else{CH_cnt=0;}
                                            }
                                            else
                                            {
                                                if(RX_LVD==0xC0)//1格,閃爍3.3-3.5
                                                {
                                                    if(CH_cnt<20000){lvd=1;}
                                                    else if(CH_cnt<40000){lvd=2;}
                                                    else{CH_cnt=0;}
                                                }
                                                else
                                                {
                                                    if(RX_LVD==0x40)//1格電,閃爍對(duì)應(yīng)3.0-3.3V
                                                    {
                                                        if(CH_cnt<20000){lvd=1;}
                                                        else if(CH_cnt<40000){lvd=2;}
                                                        else{CH_cnt=0;}
                                                    }
                                                    else
                                                    {
                                                        if(RX_LVD==0x80) //0格電3.0以下
                                                        {
                                                            if(CH_cnt<20000){lvd=0;}
                                                            else if(CH_cnt<40000){lvd=1;}
                                                            else{CH_cnt=0;}
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    
                                    }
                                }
                                
                                LED_SCAN(temp);
                                LED_SCAN1(lvd);
                                

                            }
                           
                    }
                    else                //開機(jī)工作區(qū)域
                    {
                            //des_sever();
                            CLRWDT();
                                    
                                    
                                     if(RX_NUM==0xF0)
                                        {
                                            SOP_H1=10000;
                                            PIN9=PIN10=1;
                                            POWER=0;K1_SDA=0;
                                        }
                                        else
                                        {
                                            
                                            if(RX_NUM==0x00 || RX_LVD==0x00)
                                            {
                                                temp=0;lvd=6;PIN9=PIN10=1;
                                            }
                                            else
                                            {
                                                if(RX_LVD==0x80)
                                                {
                                                    PWM_H1=0;
                                                    if(PWM_C<3)//低電量閃爍三次關(guān)機(jī)
                                                    {
                                                        if(PWM_H2<12000){lvd=6;}
                                                        else if(PWM_H2<24000){lvd=7;}
                                                        else{PWM_H2=0;PWM_C++;}
                                                    }
                                                    else
                                                    {
                                                        POWER=0;K1_SDA=0;
                                                    }
                                                   
                                                }
                                                else
                                                {
                                                    PWM_H2=0;PWM_C=0;        //低電量閃爍顯示
                                                    if(RX_LVD==0x40)
                                                    {
                                                        if(PWM_H1<12000){lvd=0;}
                                                        else if(PWM_H1<24000){lvd=1;}
                                                        else{PWM_H1=0;}
                                                    }
                                                    else
                                                    {
                                                        PWM_H1=0;PWM_H2=0;
                                                    }
                                                }
                                            }
                                        }   
                                    LED_SCAN(temp);
                                    LED_SCAN1(lvd);   
                                    
                    }
                    
        }

作者: man1234567    時(shí)間: 2024-12-24 14:59
沒(méi)有電路圖和全套程序無(wú)法猜。
如果此程序某時(shí)刻能正常工作,那就找其他觸發(fā)條件。
作者: 1481509156    時(shí)間: 2024-12-27 10:54
man1234567 發(fā)表于 2024-12-24 14:59
沒(méi)有電路圖和全套程序無(wú)法猜。
如果此程序某時(shí)刻能正常工作,那就找其他觸發(fā)條件。

謝謝。已經(jīng)解決了,是因?yàn)槲叶〞r(shí)器分頻那里沖突了,充電部分和工作部分用的都是同一個(gè)定時(shí)器。需要錯(cuò)開才能分別使用,不然有一邊是沒(méi)法顯示的




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