call197.lst

来自「单片机C语言教程」· LST 代码 · 共 83 行

LST
83
字号
C51 COMPILER V8.02   CALL197                                                               08/10/2007 15:05:35 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CALL197
OBJECT MODULE PLACED IN CALL197.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CALL197.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************/
   2          /* 这是调用MAX197的汇编程序(MAX197B.ASM)的C51程序。              */
   3          /* 文件名CALL197.C。                                               */
   4          /* 功能:本程序主要是读出MAX197芯片输入通道CH0,CH1,...,CH7的模数   */
   5          /*    转换值,转换值依次放在数组mid1[8]中,转换值的标度变换值放在   */
   6          /*    浮点数组volt[8]中。MAX197芯片的8个通道可编程为单极性/双极    */
   7          /*    性和差动/单端工作,这里采用单端\单极性输入。MAX197有内部时    */
   8          /*    钟和外部时钟两种工作模式,这里采用内部时钟模式。              */
   9          /*    MAX197的控制字:输入电压范围为单极性(0-5V)、内部触发采    */
  10          /*    集方式、第1通道,则应写入16 进制数40H,而对应第8通道则写入47H。*/
  11          /****************************************************************/
  12          #include <reg51.h>
  13          #define uchar unsigned char
  14          #define uint unsigned int
  15          
  16          void delay1(uint x);
  17          extern  uint chai;          //把全局变量chai声明为外部变量
  18          extern  uint a_func(uchar); //把a_func 声明为外部函数
  19          
  20          uint idata mid1[8];
  21          float idata volt[8];
  22          uchar i;
  23          
  24          void delay1(uint x)          //延时程序
  25          {
  26   1       uchar tw;
  27   1       while (x-->0){
  28   2       for (tw=0;tw<125;tw++){;}
  29   2       }
  30   1      }
  31          
  32          void main()                   //主程序
  33          {
  34   1            SP=0x70;
  35   1            delay1(1000);
  36   1            EA=0;
  37   1            chai=a_func(0x40);      // 读出MAX197芯片输入通道CH0的A/D转换值
  38   1            mid1[0]=chai;           // 把它放入数组mid1中。
  39   1            chai=a_func(0x41);      // 读出MAX197芯片输入通道CH1的A/D转换值
  40   1            mid1[1]=chai;           // 把它放入数组mid1中。
  41   1            chai=a_func(0x42);
  42   1            mid1[2]=chai;
  43   1            chai=a_func(0x43);
  44   1            mid1[3]=chai;
  45   1            chai=a_func(0x44);
  46   1            mid1[4]=chai;
  47   1            chai=a_func(0x45);
  48   1            mid1[5]=chai;
  49   1            chai=a_func(0x46);
  50   1            mid1[6]=chai;
  51   1            chai=a_func(0x47);      // 读出MAX197芯片输入通道CH7的A/D转换值
  52   1            mid1[7]=chai;           // 把它放入数组mid1中。
  53   1            for (i=0;i<8;i++){
  54   2            volt[i]=(mid1[i]/4096.0)*5.0;  // 标度变换。
  55   2            }
C51 COMPILER V8.02   CALL197                                                               08/10/2007 15:05:35 PAGE 2   

  56   1            while(1);
  57   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    227    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =     48    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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