×

c8051f330 C程序源代码

消耗积分:10 | 格式:rar | 大小:555 | 2008-07-19

33391

分享资料个

//------------------------------------------------------------------------------------
//此程序为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)
发评论
zhnala 2014-11-06
0 回复 举报
挺好!能不能写个成套的程序,就是有板子,有执行的那种 收起回复
神剑川路 2013-03-28
0 回复 举报
对我帮助很大 收起回复

下载排行榜

全部2条评论

快来发表一下你的评论吧 !