久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1073|回復(fù): 2
收起左側(cè)

電壓表自動換檔怎么才能實(shí)現(xiàn)第一次測量時(shí)從最高檔開始判斷然后根據(jù)測量值選合適的量程

[復(fù)制鏈接]
回帖獎勵 100 黑幣 回復(fù)本帖可獲得 5 黑幣獎勵! 每人限 1 次
ID:1108299 發(fā)表于 2024-4-17 14:50 | 顯示全部樓層 |閱讀模式
void main(void)
{


    LCD_ON;
    P0M0 = 0x80;       P0M1 = 0;
    P1M0 = 0;       P1M1 = 0;
    P2M0 = 0;       P2M1 = 0;
    P3M0 = 0;       P3M1 = 0;
    P4M0 = 0x20;    P4M1 = 0;
    P5M0 = 0;       P5M1 = 0;


    Delay_ms(100);
    Zero_Coeff_Init();
    lcd_system_reset();
    ads_initial();
    Delay_ms(100);
    string_write(0, 0, " Welcome to use ");
    string_write(0, 1, "                ");
    Delay_ms(3500);
    string_write(0, 0, "Range:10mV      ");
    string_write(0, 1, "Volt:0.000mVDC  ");
    ads_convert();


    while (1)
    {
        Delay_ms(100);
        //熄屏省電判斷
         if(++power_saving_timer > 299){//30秒熄屏
             LCD_OFF;
         }


        //定時(shí)數(shù)據(jù)采集
        if(++data_acqui_timer > 1){//100ms采集一次
            if(current_ch < 4){//自動換擋
                if((volt_val > 9900)&&(current_ch < 3)){
                    current_ch++;
                    Input_CH_Select();
                }else if((volt_val < 10)&&(current_ch > 1)){
                    current_ch--;//
                                                                        Input_CH_Select();
                                                                }                                       
            }
                                                if(current_ch < 4||current_ch < 7){//自動換擋
                if((volt_val > 9000)&&(current_ch < 6)){//
                    current_ch++;
                    Input_CH_Select();
                }else if((volt_val < 100)&&(current_ch > 4)){//5
                    current_ch--;//
                                                                        Input_CH_Select();
                                                                }
                                                                else if (volt_val < 20){
                                                                        current_ch=6;
                                                        Input_CH_Select();
                                                        }       
                                                        }
                                               
                                                        if(current_ch==4){
                                                                        P07L=0;
                                                                        Delay_ms(30);
                                                                        }
                                                                        if(current_ch==5){
                                                                        P07L=1;
                                                                                Delay_ms(30);
                                                                }
                                                       
            data_acqui_timer = 0;
                                       

            //等待AD采集結(jié)束
            while(1){
                ad_val = ads_result();
                if((ads_config_reg & 0x80) == 0)break;
            }
            volt_val = (ad_val - zero_val[current_ch - 1].sint_val)/coeff[current_ch - 1].float_val;
            if(volt_val > 9999)volt_val = 9999;
            if(volt_val < 0)volt_val = volt_val * -1;
            Disp_Volt_Val();
            ads_convert();//開啟下一次采集
        }






  if((volt_val > 9000)&&(current_ch < 6)){//
                    current_ch++;
                    Input_CH_Select();
                }else if((volt_val < 100)&&(current_ch > 4)){//5
                    current_ch--;//
                                                                        Input_CH_Select();
                                                                }
                                                                else if (volt_val < 20){
                                                                        current_ch=6;
                                                        Input_CH_Select();
                                                        }       
                                                        }這段程序沒測量時(shí)一直4 5 6通道變換,有沒有大佬講一下如何在內(nèi)有測量時(shí)保持在6通道。



回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-4-17 16:17 | 顯示全部樓層
根據(jù)你的代碼邏輯,沒有輸入的時(shí)候應(yīng)該停留在最低檔位上,現(xiàn)在來回亂跳,應(yīng)該是輸入懸空的時(shí)候,ADC輸出值不是0造成的,檢查硬件吧。
回復(fù)

使用道具 舉報(bào)

ID:1108299 發(fā)表于 2024-4-17 17:07 | 顯示全部樓層
Hephaestus 發(fā)表于 2024-4-17 16:17
根據(jù)你的代碼邏輯,沒有輸入的時(shí)候應(yīng)該停留在最低檔位上,現(xiàn)在來回亂跳,應(yīng)該是輸入懸空的時(shí)候,ADC輸出值 ...

else if (volt_val < 20){
      current_ch=6;
       Input_CH_Select();
         }       我沒加這行代碼之前,沒有輸入的時(shí)候確實(shí)停留在最低檔位上,
現(xiàn)在我想想的是沒有給它輸入的時(shí)候,先停留在6的檔位,然后當(dāng)有輸入時(shí)在根據(jù)輸入信號的大小去到它合適的量程。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产伊人精品 | 国产精品美女在线观看 | 91久久国产综合久久 | 在线免费国产视频 | 伊人久久成人 | 亚洲一区二区三区高清 | 欧美黄色片 | 亚洲精品国产综合区久久久久久久 | 国产黄色大片在线免费观看 | 国产成人在线视频 | 粉嫩在线 | 龙珠z在线观看 | 综合久久久 | 日韩av免费在线观看 | 成人亚洲网 | 亚洲网站在线观看 | 日韩精品一区二区三区免费视频 | 久久精品国产99国产精品 | 日本免费在线 | 成人欧美一区二区三区在线播放 | 一区网站| 成人污污视频 | 欧美精品久久久久 | 北条麻妃一区二区三区在线观看 | 中文字幕二区 | 天天草天天爱 | 一区二区三区 在线 | 91 久久| 欧美一区二区三区视频在线观看 | 激情久久网| 综合久久综合久久 | 欧美中文字幕一区二区三区亚洲 | 自拍偷拍精品 | 日韩欧美视频 | 久久久精品一区 | 一二区视频 | 国产精品一区二区三区四区 | 国产精品免费高清 | 日韩中文字幕一区 | 久久久久久久一区 | 高清久久久 |