乖女从小被C到大H文NP|人妻洗澡被强公日日澡电影|小柔被六个男人躁到早上电影|被男人吃奶跟添下面特舒服|被绑在坐桩机上抹春药BL推文

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

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

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

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

新品推廣

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

新聞中心

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

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

更新時(shí)間: 2019-01-05
閱讀量:792

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

#include             //dsPIC30F6014標(biāo)準(zhǔn)頭文件

  _FOSC(CSW_FSCM_OFF & XT_PLL4);  //4倍頻晶振,F(xiàn)ailsafe 時(shí)鐘關(guān)閉
  _FWDT(WDT_OFF);                 //關(guān)閉看門(mén)狗定時(shí)器
  _FBORPOR(PBOR_OFF & MCLR_EN);   //掉電復(fù)位禁止,MCLR復(fù)位使能。
  _FGS(CODE_PROT_OFF);            //代碼保護(hù)禁止

unsigned int adresult[]={1,2,3};

void init();
void initT3();
void initad();
void adchange();
void display();

void init()
{
   TRISB=0x0070;                  //RB4,B5,B6設(shè)置為輸入(AD輸入口),其他輸出
   TRISA=0X7000;                  //RA12,RA13,RA14置為輸入,其他輸出
   TRISD=0XFF00;                  //RD口低8位輸出,高8位輸入
}

void initT3()
{
   T1CON=0;                       //T3做定時(shí)器。分頻比1:1
   TMR3=0;                      
   PR3=0X2710;                    //10MS時(shí)間
}

void initad()
{
   ADPCFG=0xFF8F;                 //RB4-RB6做AD輸入口,其他位做普通I/O口
   ADCON1=0X0044;                 //采用T3比較結(jié)束采樣并開(kāi)始轉(zhuǎn)換
   ADCON2=0X042C;                 //掃描輸入,每12個(gè)采樣中斷一次(即每個(gè)輸入采樣4次求平均數(shù))
   ADCON3=0X000F;                 //Tad=8Tcy
   ADCSSL=0X0070;                 //在引腳AN4,AN5,AN4掃描輸入
   ADCON1bits.ADON=1;             //開(kāi)啟AD轉(zhuǎn)換
}

void adchange()
{
 while(!IFS0bits.ADIF);        //等待AD轉(zhuǎn)換完成
    IFS0bits.ADIF=0;              //清除AD中斷標(biāo)志位
    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;            //開(kāi)啟T3定時(shí)器
    while(1)
    {
       adchange();              //AD轉(zhuǎn)換函數(shù)
       display();               //結(jié)果顯示函數(shù)
    }
}

滦平县| 伽师县| 蓝田县| 大余县| 阿拉善盟| 普定县| 金乡县| 丰台区| 蚌埠市| 高唐县| 永川市| 苍山县| 兴业县| 乡城县| 天等县| 镇江市| 广德县| 外汇| 瑞丽市| 增城市| 阿拉善盟| 兴海县| 安宁市| 彰武县| 莒南县| 红河县| 长岛县| 青铜峡市| 宝鸡市| 山东| 昌宁县| 视频| 伊金霍洛旗| 咸丰县| 清苑县| 普兰县| 湖南省| 和林格尔县| 阿拉尔市| 阿拉尔市| 民县|