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

📄 ads1210c.lst

📁 用C8051F020驱动的ADS1210程序,可以控制误差在低8位以内(具体没算),程序已经完全经过调试通过
💻 LST
字号:
C51 COMPILER V7.50   ADS1210C                                                              12/11/2007 23:25:48 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE ADS1210C
OBJECT MODULE PLACED IN ads1210c.OBJ
COMPILER INVOKED BY: F:\Program Files\keil\C51\BIN\C51.EXE ads1210c.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //****************************************************
   2          //*    The ADS1210 program(c and asm)version 1.0     *
   3          //*By Li Huailiang 2007.11.12 , All is debuged right *
   4          //****************************************************
   5          //sampling 1000 group data,error is less than 255(low 8 bits)
   6          //sample frequency is 19.5k,dectaition rate is 1952,all is smallest
   7          //--------------------------------------------------------------
   8          #pragma  REGPARMS
   9          
  10          #include<c8051f020.h>
  11          #include<intrins.h>
  12          #include<absacc.h>
  13          #include<math.h>
  14          #include<stdio.h>
  15          #include<stdlib.h>
  16          
  17          #include"ads1210h.h"
  18          
  19          #define uchar unsigned char
  20          #define uint unsigned int
  21          //--------------------------------------------------------------
  22          
  23          uchar xdata RESULT[3000];
  24          //--------------------------------------------------------------
  25          
  26          void Oscillator_Init()
  27          {
  28   1          int i = 0;
  29   1          OSCXCN = 0x67;
  30   1          for (i = 0; i < 3000; i++);  // Wait 1ms for initialization
  31   1          while ((OSCXCN & 0x80) == 0);
  32   1          OSCICN = 0x0C;
  33   1      }
  34          
  35          //--------------------------------------------------------------
  36            
  37          void PORT_Init(void)
  38          {
  39   1              XBR0 = 0x04;  //Enable UART0      P0.0=TXD0      P0.1=RXD0                              
  40   1              XBR1 = 0x88;                                        
  41   1              XBR2 = 0x42;
  42   1              //P0MDOUT |= 0xFD;                      
  43   1          //P1MDOUT |= 0x40;
  44   1          //P2MDOUT = 0x08; 
  45   1          //P1MDIN |= 0xFF;
  46   1          EMI0CF |= 0x32;    //use the internal XRAM only        
  47   1      
  48   1      }
  49          //--------------------------------------------------------------
  50          void WDT()
  51          {
  52   1                 EA=0;
  53   1                 WDTCN = 0xde;        // disable watchdog timer
  54   1                 WDTCN = 0xad;
  55   1                 EA=1;
C51 COMPILER V7.50   ADS1210C                                                              12/11/2007 23:25:48 PAGE 2   

  56   1      }
  57          //-----------------------------------------------------------------------------
  58          // Configure the UART0 using Timer1, for <baudrate> and 8-N-1.
  59          
  60          void UART0_Init(void)
  61          {
  62   1          SCON0=0x50; //选择串口方式1,波特率9600bps
  63   1          TMOD = 0x20; 
  64   1          TH1 = 0xfd; 
  65   1          TL1 = 0xfd;
  66   1          EA=1;
  67   1          ES0=1;     //UART0中断开启
  68   1          TR1=1; 
  69   1      }
  70          
  71          void delay()
  72          {
  73   1        uint j,k;
  74   1        for(j=0;j<10;j++)
  75   1         for(k=0;k<100;k++);
  76   1      }
  77          
  78          //-------------------------------------------------------------------------
  79          
  80          void main()
  81                   {
  82   1                 unsigned long data i;
  83   1                 WDT();
  84   1                 Oscillator_Init();
  85   1             PORT_Init();
  86   1             ADS1210();
  87   1                 delay();
  88   1             UART0_Init();
  89   1             for(i=0;i<3000;i++)
  90   1                 {
  91   2                  ES0=0;
  92   2                      SBUF0=RESULT[i];   
  93   2              while(!TI0);        
  94   2              TI0=0;
  95   2                 }
  96   1           while(1);
  97   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    193    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   3000    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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