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

📄 paralleladc.lst

📁 51单片机开发与应用技术详解(珍藏版)PPT及源码
💻 LST
字号:
C51 COMPILER V8.08   PARALLELADC                                                           07/01/2008 11:05:14 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE PARALLELADC
OBJECT MODULE PLACED IN ParallelADC.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE ParallelADC.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>                                              //头文件
   2          #include <absacc.h>
   3          #include <stdio.h>
   4          
   5          #define uchar unsigned char 
   6          #define adch0 XBYTE[0x0100]                             //MAX197控制字节
   7          
   8          uchar CHDataL,CHDataH;                          //转换结果
   9          sbit ADINT = P1^0;                                              //MAX197中断输出位
  10          sbit HBEN = P2^0;                                               //MAX197数据总线复用控制位
  11          sbit CS=P1^7;                                                   //MAX197片选信号
  12          
  13          void ADRead(void);                                              //AD转换读取函数声明
  14          
  15          void main()                                                     //主函数
  16          {
  17   1      uchar Select_Menu;                                      //功能选择
  18   1      
  19   1      SCON=0x50;                                                      //初始化串行口模式1
  20   1      TMOD=0x20;                                                      //初始化T1为定时功能,模式2
  21   1      PCON=0x80;                                                      //设置SMOD=1
  22   1      TL1=0xF4;                                                       //波特率4800bit/s,初值
  23   1      TH1=0xF4;
  24   1      
  25   1      TR1 = 1;                                                //启动T1
  26   1      TI = 1;                                                                 //启动发送
  27   1      
  28   1      while(1)
  29   1      {
  30   2        printf("A/D Converter MAX197 Control!");
  31   2        printf (" Select Control Menu Option\n");             //菜单信息
  32   2        printf (" 0. Read Channel 0.\n");
  33   2        printf (" 1. Read Channel 1.\n");
  34   2        printf (" 2. Read Channel 2.\n");
  35   2        printf (" 3. Read Channel 3.\n");
  36   2        printf (" 4. Read Channel 4.\n");
  37   2        printf (" 5. Read Channel 5.\n");
  38   2        printf (" 6. Read Channel 6.\n");
  39   2        printf (" 7. Read Channel 7.\n");
  40   2        printf (" 8. Enable MAX197.\n");
  41   2        printf (" 9. EXIT.\n");
  42   2        printf (" Please Input Menu Option:\n");
  43   2      
  44   2              Select_Menu = _getkey();                        //从键盘输入选择数字
  45   2              switch(Select_Menu)
  46   2      {
  47   3                      case '0':                                               //读取通道0
  48   3                              printf ("\n You Select 0. ReadChannel 0.\n");
  49   3                              adch0=0x40;                             //控制字节
  50   3                              ADRead();                               //AD转换
  51   3                              printf("Channel 0:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  52   3                              break;
  53   3                      case '1':                                               //读取通道1
  54   3                              printf ("\n You Select 1. ReadChannel 1.\n");
  55   3                              adch0=0x41;                             //控制字节
C51 COMPILER V8.08   PARALLELADC                                                           07/01/2008 11:05:14 PAGE 2   

  56   3                              ADRead();                               //AD转换
  57   3                              printf("Channel 1:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  58   3                              break;
  59   3                      case '2':                                               //读取通道2
  60   3                              printf ("\n You Select 2. ReadChannel 2.\n");
  61   3                              adch0=0x42;                             //控制字节
  62   3                              ADRead();                               //AD转换
  63   3                              printf("Channel 2:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  64   3                              break;
  65   3                      case '3':                                               //读取通道3
  66   3                              printf ("\n You Select 3. ReadChannel 3.\n");
  67   3                              adch0=0x43;                             //控制字节
  68   3                              ADRead();                               //AD转换
  69   3                              printf("Channel 3:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  70   3                              break;
  71   3                      case '4':                                               //读取通道4
  72   3                              printf ("\n You Select 4. ReadChannel 4.\n");
  73   3                              adch0=0x44;                             //控制字节
  74   3                              ADRead();                               //AD转换
  75   3                              printf("Channel 4:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  76   3                              break;
  77   3                      case '5':                                               //读取通道5
  78   3                              printf ("\n You Select 5. ReadChannel 5.\n");
  79   3                              adch0=0x45;                             //控制字节
  80   3                              ADRead();                               //AD转换
  81   3                              printf("Channel 5:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  82   3                              break;
  83   3                      case '6':                                               //读取通道6
  84   3                              printf ("\n You Select 6. ReadChannel 6.\n");
  85   3                              adch0=0x46;                             //控制字节
  86   3                              ADRead();                               //AD转换
  87   3                              printf("Channel 6:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  88   3                              break;
  89   3                      case '7':                                               //读取通道7
  90   3                              printf ("\n You Select 7. ReadChannel 7.\n");
  91   3                              adch0=0x47;                             //控制字节
  92   3                              ADRead();                               //AD转换
  93   3                              printf("Channel 7:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
  94   3                              break;
  95   3                      case '8':                                               //使能MAX197
  96   3                              printf ("\n You Select 8. Enable MAX197.\n");
  97   3                              CS=0;                                   //CS低电平有效,使能MAX197
  98   3                              printf ("\nMAX197 Enabled.\n");
  99   3                              break;
 100   3                      case '9':                                               //退出程序
 101   3                              printf ("\n You Select 9. Exit\n");
 102   3                              goto Exit;                              //转向Exit标号处
 103   3                              break;
 104   3                      default: 
 105   3      printf ("\n Error: Please Select Right Menu Option\n");
 106   3                              break;
 107   3                      }; 
 108   2        }
 109   1      Exit: printf("Exit the program!");                              //退出
 110   1      }
 111          
 112          void ADRead(void) 
 113          {
 114   1              while (ADINT!=0)                                        //查询MAX197的中断输出,判断是否完成转换
 115   1              {
 116   2                      HBEN = 0;                                       //首先置HBEN=0,即先读低位
 117   2              }
C51 COMPILER V8.08   PARALLELADC                                                           07/01/2008 11:05:14 PAGE 3   

 118   1              CHDataL = P0;                                   //读取A/D转换结果的低位
 119   1      
 120   1              HBEN = 1;                                               //设置HBEN=1,再读高位
 121   1              CHDataH = P0;                                   //读取A/D转换结果的高位
 122   1              HBEN = 0;                                               //重置HBEN=0
 123   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    476    ----
   CONSTANT SIZE    =    938    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   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 + -