| 附程序 #include"DSP2833x_Device.h"
 #include"DSP2833x_Examples.h" //此头文件中声明了所有的外部函数
 #include"user_define.h"
 #include"math.h"
 #include"LCD19264F.H"
 
 // ADC start parameters
 #if (CPU_FRQ_150MHZ)     // Default - 150 MHz SYSCLKOUT
 #define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3)   = 25.0 MHz
 #endif
 #if (CPU_FRQ_100MHZ)
 #define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2)   = 25.0 MHz
 #endif
 #define ADC_CKPS   0x1   // ADC module clock = HSPCLK/2*ADC_CKPS   = 25.0MHz/(1*2) = 12.5MHz
 #define ADC_SHCLK  0xf   // S/H width in ADC module periods                        = 16 ADC clocks
 #define AVG        1000  // Average sample limit
 #define ZOFFSET    0x00  // Average Zero offset
 #define BUF_SIZE   256  // Sample buffer size
 
 // Global variable for this example
 Uint16 SampleTable[BUF_SIZE];
 INT8U  qian,bai,shi,ge;
 
 void main(void)
 {
 unsigned int i=0,j=0;
 InitSysCtrl();//设定CLKIN=OSCCLK*10/2=150MHz
 //LOSPCP=150/4=37.5Mhz
 // Specific clock setting for this example:
 EALLOW;
 SysCtrlRegs.HISPCP.all = ADC_MODCLK;        // HSPCLK = SYSCLKOUT/ADC_MODCLK
 EDIS;
 
 //-------------------------------------------------
 DINT;//cpu中断禁能
 //        PieCtrlRegs.PIECTRL.bit.ENPIE = 0;//PIE总禁能
 InitPieCtrl();//PIE控制标志位清零
 //-------------------------------------------------
 InitPieVectTable();//初始化PIE中断向量表
 IER=0x0000;//CPU中断禁能
 IFR=0x0000;//CPU中断标志清零
 IER=BIT2+BIT4;//0x0004,使能INT3  EPWM1_INT,使能INT5  EQEP1 中断
 // EnableInterrupts();//使能PIE-EPWM1,使能PIE总中断,PIEACK清零,使能CPU总中断
 
 
 InitGpio();//对GPIO管脚初始化,GPIO设置为输出
 InitAdc();  // For this example, init the ADC
 
 
 AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK;
 AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS;
 AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;        // 1  Cascaded mode
 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0B;
 AdcRegs.ADCTRL1.bit.CONT_RUN = 1;       // Setup continuous run
 AdcRegs.ADCCHSELSEQ1.all=0x0b;
 
 // Step 5. User specific code, enable interrupts:
 
 
 // Clear SampleTable
 for (i=0; i<BUF_SIZE; i++)
 {
 SampleTable[i] = 0;
 }
 
 // Start SEQ1
 AdcRegs.ADCTRL2.all = 0x2000;
 
 Initial_LCD19264();
 //DisWords_LCD19264(0,0,"劳动模范考虑");
 //DisWords_LCD19264(0,0,"11孟达不给力啊");
 //DisWords_LCD19264(1,0,"12陈长兵很给力啊");
 //DisWords_LCD19264(2,0,"13孟达小挫男啊");
 //DisWords_LCD19264(3,0,"14陈长兵大帅哥啊");
 
 while(1)
 {
 
 while (AdcRegs.ADCST.bit.INT_SEQ1== 0) {} // Wait for interrupt
 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
 
 SampleTable[i] =((AdcRegs.ADCRESULT0>>4) );
 i++;
 
 
 i++;
 if(i==256)
 {
 i=0;
 for (j=0; j<BUF_SIZE; j++)
 {
 SampleTable[i] = 0;
 }
 }
 DELAY_US(20);
 }
 
 }
 
 
 
 |