⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 用PICC18库函数实现的模/数转换测试程序
//-----------------------------------------------------------------
//  说明: 本例使用了PICC18提供的ADC库函数,对AN0与AN1通道进行模数转换.
//        转换结束由TIMER3溢出中断刷新显示在8位数码管上.
//        由于当前版本PICC18提供的TIMER3库函数存在异常,
//        本例使用了自定义的Open_Timer3函数.
//
//-----------------------------------------------------------------
#include <htc.h>
#define INT8U   unsigned char
#define INT16U  unsigned int
#define _XTAL_FREQ 4000000UL

//共阳数码管0~9的数字段码,最后一位为黑屏
const INT8U SEG_CODE[] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF};
//两路模拟转换结果显示缓冲,显示格式为:X.XX X.XX ,第4位和第8位不显示
volatile INT8U Display_Buffer[] = {0,0,0,10,0,0,0,10};
int Result;
void Open_Timer3()
{


}

//-----------------------------------------------------------------
// 对通道0与通道1进行模数转换
//-----------------------------------------------------------------
void ADC_01_Convert()
{
    //打开AN0通道
    OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_2ANA_2REF,
             ADC_CH0 & ADC_INT_OFF);
    _delay(50); ConvertADC();   //延时50个周期后启动转换
    while (BusyADC());          //等待转换结束
    //读取转换结果并转换


    
    //打开AN1通道
    OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_2ANA_2REF,
             ADC_CH1 & ADC_INT_OFF);
    
    //延时50个周期后启动转换
    

    //等待转换结束

    //读取转换结果并转换


    CloseADC();
}

//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{


}

//-----------------------------------------------------------------
// TMR3定时器溢出中断控制数码管刷新显示两路A/D转换结果
//-----------------------------------------------------------------
void interrupt TMR3_ISR( )
{
     static INT8U i = 0;
     if (TMR3IF)
     {
       
       

     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -