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

📄 call111.lst

📁 单片机C语言教程
💻 LST
字号:
C51 COMPILER V8.02   CALL111                                                               08/10/2007 12:35:43 PAGE 1   


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

line level    source

   1          /****************************************************************/
   2          /* 这是调用MAX111汇编程序(MAX111B.ASM)的C51程序。             */
   3          /* 文件名CALL111.C。                                            */
   4          /* 功能:本程序主要是读出MAX111芯片输入通道CH0,CH1的模数        */
   5          /*    转换值,转换值依次放在数组mid1[2]中,转换值的标度变换值放在*/
   6          /*    浮点数组volt[2]中。MAX111芯片的2个通道可编程为单极性/双极 */
   7          /*    性和差动/单端工作,这里采用单端\单极性输入。MAX111有内部时 */
   8          /*    钟和外部时钟两种工作模式,这里采用内部时钟模式。控制字中   */
   9          /*    CONV4、CONV3、CONV2、CONV1取0110B,表示转换分辨率为14位;  */
  10          /*    控制字中DV2,DV4取01B,表示对计数脉冲发生器发出的脉冲作二  */
  11          /*    分频。因采用+1.5V的参考电压,故两个通道的电压输入范围都是  */
  12          /*    0~1.5V。                                                 */
  13          /****************************************************************/
  14          #include <reg52.h>
  15          #define uchar unsigned char
  16          #define uint unsigned int
  17          
  18          void delay1(uint x);
  19          extern  uint chai;         //把全局变量chai声明为外部变量
  20          extern  uint a_func(uint); //把a_func 声明为外部函数
  21          
  22          uint idata mid1[2],aaa;
  23          float idata volt[2];
  24          uchar  idata i;
  25          
  26          void delay1(uint x)          //延时程序
  27          {
  28   1       uchar tw;
  29   1       while (x-->0){
  30   2       for (tw=0;tw<125;tw++){;}
  31   2       }
  32   1      }
  33          
  34          void main()                   //主程序
  35          {
  36   1            SP=0xcf;
  37   1            delay1(1000);
  38   1            EA=0;
  39   1           // chai=a_func(0x8d0c);    //零偏校准
  40   1           // chai=a_func(0x8d08);    //增益校准
  41   1           // chai=a_func(0x8d04);    //通道调零校准
  42   1           // delay1(1000);
  43   1            chai=a_func(0x8d00);      // 将第一次读芯片输入通道CH0的A/D转换值舍去
  44   1            chai=a_func(0x8d10);      // 读出MAX111芯片输入通道CH0的A/D转换值
  45   1            mid1[0]=chai;             // 把它放入数组mid1中。
  46   1            chai=a_func(0x8d00);      // 读出MAX111芯片输入通道CH1的A/D转换值
  47   1            mid1[1]=chai;             // 把它放入数组mid1中。
  48   1            aaa=mid1[0]&0x4000;
  49   1            if (aaa==0x4000) goto overflow;//若CH0的A/D转换值越限,转越限处理。
  50   1            aaa=mid1[0]&0x8000;
  51   1            if (aaa==0x8000) goto pol;    //若CH0的A/D转换值是负数,转负数处理。
  52   1            aaa=mid1[1]&0x4000;
  53   1            if (aaa==0x4000) goto overflow;//若CH1的A/D转换值越限,转越限处理。
  54   1            aaa=mid1[1]&0x8000;
  55   1            if (aaa==0x8000) goto pol;     //若CH1的A/D转换值是负数,转负数处理。
C51 COMPILER V8.02   CALL111                                                               08/10/2007 12:35:43 PAGE 2   

  56   1            for (i=0;i<2;i++){
  57   2            volt[i]=(mid1[i]/16384.0)*1.5;  // 标度变换。
  58   2            }
  59   1            while(1);
  60   1            overflow:;  //越限处理。
  61   1            pol: ;      //负数处理。
  62   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    242    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     15    ----
   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 + -