//------------------------------------------------------------------------------------
//此程序为ADC转换程序,可以选择向ADC0BUSY写1或用定时器0,1,2,3作为ADC的启动信号。
//
//------------------------------------------------------------------------------------
//头文件定义
//------------------------------------------------------------------------------------
//
#include
#include
//-----------------------------------------------------------------------------
// 定义16位特殊功能寄存器
//-----------------------------------------------------------------------------
sfr16 ADC0 = 0xbd;
sfr16 TMR0RL = 0xca;
sfr16 TMR1RL = 0xca;
sfr16 TMR2RL =0xca;
sfr16 TMR3RL =0xca;
sfr16 TMR0 = 0xCC;
sfr16 TMR1 = 0xCC;
sfr16 TMR2 = 0xcc;
sfr16 TMR3 = 0xcc;
//-----------------------------------------------------------------------------
// 全局变量定义
//-----------------------------------------------------------------------------
char i;
int result;
//-----------------------------------------------------------------------------
//定义常量
//-----------------------------------------------------------------------------
#define SYSCLK 49000000
#define SAMPLE_RATE 50000
//------------------------------------------------------------------------------------
// 定义函数
//------------------------------------------------------------------------------------
void SYSCLK_Init (void);
void PORT_Init (void);
void Timer0_Init (int counts);
void Timer1_Init (int counts);
void Timer2_Init (int counts);
void Timer3_Init (int counts);
void ADC0_Init(void);
void ADC0_ISR (void);
void ADC0_CNVS_ADC0h(void);
//------------------------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------------------------
void main (void)
{
int ADCRESULT[50] ;
int k;
PCA0MD &= ~0x40; // 禁止看门狗
SYSCLK_Init ();
PORT_Init ();
Timer0_Init (SYSCLK/SAMPLE_RATE);
//Timer1_Init (SYSCLK/SAMPLE_RATE); //选择相应的启动方式
//Timer2_Init (SYSCLK/SAMPLE_RATE);
//Timer3_Init (SYSCLK/SAMPLE_RATE);
ADC0_Init();
EA=1;
while(1)
{
//ADC0_CNVS_ADC0h();
k=ADC0;
ADCRESULT[i]=result; //此处设断点,观察ADCRESULT的结果
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部2条评论
快来发表一下你的评论吧 !