• 大小: 5KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: dspic33f  AD  

资源简介

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

评论

共有 条评论