資源簡(jiǎn)介
dsPIC系列的編程示例 有詳細(xì)的講解和注釋 非常適用于初學(xué)者

代碼片段和文件信息
//熟悉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ī)劃
//????????撥碼開關(guān)S1置ON
//????????撥碼開關(guān)S2第6,7,8開
//????????撥碼開關(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)閉看門狗定時(shí)器
??_FBORPOR(PBOR_OFF?&?MCLR_EN);???//掉電復(fù)位禁止,MCLR復(fù)位使能。
??_FGS(CODE_PROT_OFF);????????????//代碼保護(hù)禁止
unsigned?int?adresult[]={123};
void?init();
void?initT3();
void?initad();?
void?adchange();
void?display();
void?init()
{
???TRISB=0x0070;??????????????????//RB4B5B6設(shè)置為輸入(AD輸入口),其他輸出
???TRISA=0X7000;??????????????????//RA12RA13RA14置為輸入,其他輸出
???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é)束采樣并開始轉(zhuǎn)換
???ADCON2=0X042C;?????????????????//掃描輸入,每12個(gè)采樣中斷一次(即每個(gè)輸入采樣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中斷標(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;????????????//開啟T3定時(shí)器
????while(1)
????{
???????adchange();??????????????//AD轉(zhuǎn)換函數(shù)
???????display();???????????????//結(jié)果顯示函數(shù)
????}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-11-22?14:31??編程實(shí)例\
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\PIC24\
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\PIC24\output\
?????文件?????????814??2008-11-15?14:22??編程實(shí)例\PIC24\output\led.c
?????文件????????4449??2008-11-15?14:22??編程實(shí)例\PIC24\output\led.hex
?????目錄???????????0??2012-07-12?11:36??編程實(shí)例\dsPIC30系列\(zhòng)
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)Ethernet\
?????文件??????191829??2007-06-19?11:38??編程實(shí)例\dsPIC30系列\(zhòng)Ethernet\ping.hex
?????文件?????????436??2008-09-23?11:18??編程實(shí)例\dsPIC30系列\(zhòng)Ethernet\readme.txt
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)adc\
?????文件????????2689??2008-06-14?18:19??編程實(shí)例\dsPIC30系列\(zhòng)adc\adc.c
?????文件????????3974??2008-08-19?17:07??編程實(shí)例\dsPIC30系列\(zhòng)adc\adc.hex
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)button\
?????文件????????2024??2008-06-11?18:08??編程實(shí)例\dsPIC30系列\(zhòng)button\button.c
?????文件????????3185??2008-08-19?16:49??編程實(shí)例\dsPIC30系列\(zhòng)button\button.hex
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)can\
?????文件????????6169??2008-07-22?18:22??編程實(shí)例\dsPIC30系列\(zhòng)can\CANRX.c
?????文件????????6269??2008-07-22?17:56??編程實(shí)例\dsPIC30系列\(zhòng)can\CANRX.hex
?????文件????????7409??2008-07-22?18:19??編程實(shí)例\dsPIC30系列\(zhòng)can\CANTX.c
?????文件????????6126??2008-07-22?18:19??編程實(shí)例\dsPIC30系列\(zhòng)can\CANTX.hex
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)codec\
?????文件????????5951??2008-07-02?17:32??編程實(shí)例\dsPIC30系列\(zhòng)codec\Codec.c
?????文件????????6224??2008-08-19?17:40??編程實(shí)例\dsPIC30系列\(zhòng)codec\codec.hex
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)ds18b20\
?????文件????????8536??2008-06-21?16:08??編程實(shí)例\dsPIC30系列\(zhòng)ds18b20\ds18b20.c
?????文件????????7116??2008-08-19?16:42??編程實(shí)例\dsPIC30系列\(zhòng)ds18b20\ds18b20.hex
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)lcd12864\
?????文件???????10315??2008-08-19?16:32??編程實(shí)例\dsPIC30系列\(zhòng)lcd12864\lcd.hex
?????文件???????10748??2008-06-13?17:38??編程實(shí)例\dsPIC30系列\(zhòng)lcd12864\lcd1.c
?????目錄???????????0??2011-12-24?17:54??編程實(shí)例\dsPIC30系列\(zhòng)lcd1602\
?????文件????????4372??2008-08-19?16:40??編程實(shí)例\dsPIC30系列\(zhòng)lcd1602\lcd.hex
............此處省略40個(gè)文件信息
評(píng)論
共有 條評(píng)論