<del id="p0fsc"><progress id="p0fsc"></progress></del>
<dl id="p0fsc"></dl>

    一级A片网站|下载一级毛片黄片|午夜理论福利|精品毛片福利午夜视频|国产色婷婷精品免费视频|国产无码黄色一级|aⅤ高清无码免费看大片|黄片大全迷奸免费

    技術(shù)熱線: 4007-888-234
    設計開發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

    技術(shù)支持

    從全面的產(chǎn)品導入到強大技術(shù)支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

    新聞中心

    提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

    QLdsPIC3]AD轉(zhuǎn)換[C30+dsPIC30F6014A]

    更新時間: 2019-01-05
    閱讀量:1036

    //熟悉AD轉(zhuǎn)換模塊的使用
    //軟件規(guī)劃
    // 3路AD轉(zhuǎn)換結(jié)果送D口LED顯示
    // 只顯示AD轉(zhuǎn)換結(jié)果的低8位
    // 4次轉(zhuǎn)換結(jié)果求平均值
    // 由T3按10MS時間間隔觸發(fā)采樣并轉(zhuǎn)換
    // RA12,RA13,RA14決定顯示3路中哪一路送顯示(RA12 - RB4 RA13 - RB5 RA14 - RB6)
    //硬件規(guī)劃
    // 撥碼開關S1置ON
    // 撥碼開關S2第6,7,8開
    // 撥碼開關S3置ON

    #include             //dsPIC30F6014標準頭文件
    
      _FOSC(CSW_FSCM_OFF & XT_PLL4);  //4倍頻晶振,F(xiàn)ailsafe 時鐘關閉
      _FWDT(WDT_OFF);                 //關閉看門狗定時器
      _FBORPOR(PBOR_OFF & MCLR_EN);   //掉電復位禁止,MCLR復位使能。
      _FGS(CODE_PROT_OFF);            //代碼保護禁止
    
    unsigned int adresult[]={1,2,3};
    
    void init();
    void initT3();
    void initad();
    void adchange();
    void display();
    
    void init()
    {
       TRISB=0x0070;                  //RB4,B5,B6設置為輸入(AD輸入口),其他輸出
       TRISA=0X7000;                  //RA12,RA13,RA14置為輸入,其他輸出
       TRISD=0XFF00;                  //RD口低8位輸出,高8位輸入
    }
    
    void initT3()
    {
       T1CON=0;                       //T3做定時器。分頻比1:1
       TMR3=0;                      
       PR3=0X2710;                    //10MS時間
    }
    
    void initad()
    {
       ADPCFG=0xFF8F;                 //RB4-RB6做AD輸入口,其他位做普通I/O口
       ADCON1=0X0044;                 //采用T3比較結(jié)束采樣并開始轉(zhuǎn)換
       ADCON2=0X042C;                 //掃描輸入,每12個采樣中斷一次(即每個輸入采樣4次求平均數(shù))
       ADCON3=0X000F;                 //Tad=8Tcy
       ADCSSL=0X0070;                 //在引腳AN4,AN5,AN4掃描輸入
       ADCON1bits.ADON=1;             //開啟AD轉(zhuǎn)換
    }
    
    void adchange()
    {
     while(!IFS0bits.ADIF);        //等待AD轉(zhuǎn)換完成
        IFS0bits.ADIF=0;              //清除AD中斷標志位
        adresult[0]=ADCBUF0+ADCBUF3+ADCBUF6+ADCBUF9;   //4次RB4轉(zhuǎn)換的結(jié)果和
        adresult[0]=adresult[0]>>2;                    //平均值
        adresult[1]=ADCBUF1+ADCBUF4+ADCBUF7+ADCBUFA;
        adresult[1]=adresult[1]>>2;
        adresult[2]=ADCBUF2+ADCBUF5+ADCBUF8+ADCBUFB;
        adresult[2]=adresult[2]>>2;
    } 
    
    void display()
    {  
        PORTD=0X0000;                 //清除所有顯示
     if(!PORTAbits.RA12) PORTD=adresult[0]&0x00ff;   //RA12按下則顯示RB4轉(zhuǎn)換結(jié)果
        if(!PORTAbits.RA13) PORTD=adresult[1]&0x00ff;   //RA13按下則顯示RB5轉(zhuǎn)換結(jié)果
        if(!PORTAbits.RA14) PORTD=adresult[2]&0x00ff;   //RA14按下則顯示RB6轉(zhuǎn)換結(jié)果
    }
    
    int main (void)
    {
     init();                     //I/O口初試化函數(shù)
        initT3();                   //T3初試化函數(shù)
        initad();                   //AD轉(zhuǎn)換初始化函數(shù)
        T3CONbits.TON=1;            //開啟T3定時器
        while(1)
        {
           adchange();              //AD轉(zhuǎn)換函數(shù)
           display();               //結(jié)果顯示函數(shù)
        }
    }
    

    一级A片网站|下载一级毛片黄片|午夜理论福利|精品毛片福利午夜视频|国产色婷婷精品免费视频|国产无码黄色一级|aⅤ高清无码免费看大片|黄片大全迷奸免费
    <del id="p0fsc"><progress id="p0fsc"></progress></del>
    <dl id="p0fsc"></dl>