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

📄 main.c

📁 TMS320LF2407A与MAX199A/D转换器利用IO空间接口的转换程序。
💻 C
字号:
#include "f2407_c.h"

#define  ADCLow8Bit port0000
ioport   unsigned int port0000;

#define  ADCHigh4Bit port0001
ioport   unsigned int port0001;

#define  ADCCtrlByte port0002
ioport   unsigned int port0002;

unsigned int ADCResult[2] = {1,3};
unsigned int array[2] = {2,2};
int XintFl = 0;
int Fl = 0;
char Flag[4] = "0000";
int i = 0;
void main(void)
{
    SysInit();
    ADCStart();
    XintFl= 0x00F2;
   //ADCResult[0] = ADCLow8Bit;
  // ADCResult[1] = ADCHigh4Bit;
    *IMR = 0xFFFF;
    asm(" clrc INTM");
  //  *MCRA = 0x0000; //IOPA 一般 IO
 /*   *PADATDIR = 0xFF00; // PA输出方向 
    asm(" nop");
     asm(" nop"
      asm(" nop");
       asm(" nop");
        asm(" nop");
         asm(" nop");
          asm(" nop");
           asm(" nop");
            asm(" nop");
             asm(" nop");
    *PADATDIR = 0xFFC0; //
       *PADATDIR = 0xFF00; // PA输出方向 
    asm(" nop");
     asm(" nop");
      asm(" nop");
       asm(" nop");
        asm(" nop");
         asm(" nop");
          asm(" nop");
           asm(" nop");
            asm(" nop");
             asm(" nop");
    *PADATDIR = 0xFFC0; //
    *PADATDIR = 0xFF00;
    *PADATDIR = 0xFFC0; //
    XintFl= 0x00F1;
    XintFl= 0x00F0;
    XintFl= 0x00F1;
    XintFl= 0x00F1;
    XintFl= 0x00F1;
    XintFl= 0x00F1;
    XintFl= 0x00F0;
    XintFl= 0x00F0;
    XintFl= 0x00F0;
    Fl = XintFl;
    XintFl = *XINT1CR;*/
    while(1);
}
SysInit()
{
    asm(" setc INTM");
    *WDCR = 0x0E8; //close watchdog
    asm(" setc SXM");
    *IFR = 0xFFFF;
    *IMR = 0x0000;
    *SCSR1 = 0x800F; //xclkin=10M, clkin = 5M;
    WSGR = 0xFFFF;  //1 wait for io space
     //WSGR = 0xF008;
    *XINT1CR = 0xFFF1;
    /* Bit 2 = 0    下降沿产生中断
       Bit 1 = 0    XINT1为高优先级中断
       Bit 0 = 1    使能中断
    */   
    Flag[0] = '1';
}    

ADCStart()
{   asm(" nop");
     asm(" nop");
      asm(" nop");
       asm(" nop");
    ADCCtrlByte = 0xFF51;
   //  ADCCtrlByte = 0xFFF0;
     // ADCCtrlByte = 0x0FF2;
     //  ADCCtrlByte = 0xFFF2;
     //   ADCCtrlByte = 0xFFF2;
     //    ADCCtrlByte = 0x0FF0;
    /* Bit 7,6   = 01    内部时钟模式
       Bit 5     =  1    片内控制转换
       Bit 4,3   = 10    电压输入范围0~Vref单极性
       Bit 2,1,0 = 000   输入通道为通道0
    */   
    Flag[1] = 'S';
}

interrupt void ADCIsr()
{  
    Flag[2] = 'I';
    
    for(i=0 ; i<0x100 ; i++)
    { }
    ADCResult[0] = ADCLow8Bit;
    ADCResult[1] = ADCHigh4Bit;
    asm (" clrc INTM");  
}
interrupt void PHANTOM(void)
{
}

⌨️ 快捷键说明

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