智能车制作

标题: 求求各位大哥了,我的AD程序,串口怎么没值啊,一个人搞了好几天 [打印本页]

作者: 别了,少年    时间: 2013-6-11 10:50
标题: 求求各位大哥了,我的AD程序,串口怎么没值啊,一个人搞了好几天
#include <hidef.h>                      /* common defines and macros */
#include "derivative.h"                 /* derivative-specific definitions */
int ATD0_data;
int ATD1_data;

#define  BUS_CLOCK 32000000
#define  BAUD      9600

/*************************************************************/
/*                      初始化锁相环                         */
/*************************************************************/
void PLL_32M(void)                     
{
    CLKSEL &= 0x7f;                    
    PLLCTL &= 0x8F;                     
    CRGINT &= 0xDF;
   
    SYNR = 0x43;                             
    REFDV = 0x81;                       
   
    PLLCTL = PLLCTL | 0x70;            
    asm NOP;
    asm NOP;
    while(!(CRGFLG&0x08));              
    CLKSEL |= 0x80;                     
}
/*************************************************************/
/*                         AD初始化                          */
/*************************************************************/
void ATD_inits(void)
{   
    ATD0CTL1=0x00;                      //8位精度         
    ATD0CTL2=0X40;                      //快速清除
    ATD0CTL3=0X90;                      //右对齐 序列2
    ATD0CTL4=0X07;
   
    ATD0DIEN=0X00;                     //ADclock = 32/(2*(1+1)) = 8M ADclock最大8.3M
}
/*************************************************************/
/*                        AD采集函数                         */
/*************************************************************/
void ATD_gather(void)
{
    ATD0CTL5=0X30;                      //单次转换
    while(!(ATD0STAT0_SCF==1));   
    ATD0_data=ATD0DR0;
     //ATD1_data=ATD0DR1;
}
/************************************************************/
/*               初始化串口                                 */
/************************************************************/
void SCI_inits(void)
{   
     SCI0BD=BUS_CLOCK/ 16/BAUD;
     SCI0CR1=0x00;
     SCI0CR2=0x08;
     
}

/************************************************************/
/*               串口发送函数                                 */
/************************************************************/

void SCI_send(unsigned char data)

{
         while(!SCI0SR1_TDRE);
         SCI0DRL=data;
         
}
  
/*************************************************************/
/*                         延时函数                          */
/*************************************************************/
void delay(void)                        //演示函数未测试具体时间仅用来测试系统是否运行
{
    unsigned int i,j;
    for(i=0;i<3;i++)
      for(j=0;j<50000;j++);
}

void main(void)
{
  /* put your own code here */
  DisableInterrupts;                    
  PLL_32M();                            //PLL倍频
  ATD_inits();
  SCI_inits();

EnableInterrupts;

  for(;;)
  {
    ATD_gather();
    SCI_send(ATD0_data);
           
  } /* loop forever */
  /* please make sure that you never leave main */
}






欢迎光临 智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2