資源簡介
dspic33f的AD采樣程序實例,通過示波器驗證
代碼片段和文件信息
//-------------------------------------------------------------------------------//
//????????????????????????????LIXUE?電子工作室???????????????????????????????????//
//???????????????????????http://lixuediy.taobao.com??????????????????????????????//
//????????????????????????????????版權所有???????????????????????????????????????//
//???????????????????????EMAIL:lixue51@126.com???????????????????????????????????//
//???????????????????????Mobile:13109884800??????????????????????????????????????//
//???????????????????????MCU:?dsPIC33FJ128MC706??????????????????????????????????//
//???????????????????????Compiler:?MAPLAB?IDE?V8.53???C30?V3.20B?????????????????//
//???????????????????????File:?LX-64PIN-ADC.c????????????????????????????????????//
//???????????????????????DATE:?2010-11-13????Version:??1.0???????????????????????//
//-------------------------------------------------------------------------------//
//
//單片機采信ADC電壓信號,并用LED指示燈以二進制顯示出來
//串口發出AD值???波特率9600?N?8?1?
//
#include?“p33Fxxxx.h“
_FOSCSEL(FNOSC_FRC);???????????????????????????????//Fast?RC?oscillator
_FOSC(FCKSM_CSDCMD?&?OSCIOFNC_OFF?&?POSCMD_XT);
_FWDT(FWDTEN_OFF);?????????????????????????????????//?Close?Watch?DOG
#define?LED_CS?????LATBbits.LATB2??????????????????//宏定義?LED片選
void?Delay_xmS(unsigned?int?i)?????????????????????//延時程序
{
unsigned?int?j;
for(;i>0;i--)
{
Nop();
for(j=0;j<255;j++)
{
Nop();
ClrWdt();
}
}
}
void?ADC1_Init(void)
{
AD1CON1?=?0x0000;???????????//?AD1CON0?清零
AD1CON1bits.FORM???=?0;?????//?10位整型數據
AD1CON1bits.SSRC???=?0;?????//?清零采樣位后啟動轉換
AD1CON1bits.ASAM???=?1;?????//?自動采樣
AD1CON2?=?0x0000;???????????//?AD1CON2?清零
AD1CON3?=?0x0000;???????????//?AD1CON3?清零
AD1CON3bits.ADRC?=?0;???????//?AD時鐘源來自Fosc
AD1CON3bits.ADCS?=?31;??????//?ADC?Conversion?Clock
AD1CON3bits.SAMC?=?31;??????//?ADC?Conversion?Clock
AD1CHS0bits.CH0NA?=?0;??????//?反項輸入VREF-
AD1CHS0bits.CH0SA?=?15;?????//?同項輸入AN15
AD1CON4?=?0x0000;???????????//?AD1CON4?清零
AD1CSSL?=?0x0000;???????????//?掃描?AN15
AD1PCFGLbits.PCFG15?=?0;????//?RB15模擬輸入
??????
//IFS0bits.AD1IF???=?0;?????
//IEC0bits.AD1IE???=?1;
AD1CON1bits.ADON?=?1;
}
void?UART1_Init(void)
{
U1MODEbits.STSEL?=?0;????????????//?1個停止位
U1MODEbits.PDSEL?=?0;????????????//?N??8?1
U1MODEbits.ABAUD?=?0;????????????//?自動波特率禁止
U1MODEbits.RTSMD?=?1;????????????//?引腳處于單工模式
U1BRG?=?23;??????????????????????//?內部FRC??N?8?1??19200波特率?=?11?9600波特率?=?23;
U1STAbi
評論
共有 條評論