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

📄 main.lst

📁 实验3 DAC0832(8位并行DAC). 实验3 DAC0832(8位并行DAC).
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  10/20/2006 09:58:41 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************************************************************
   2          程序名称:8位并行D/A芯片DAC0832实验
   3          硬件接法:DAC0832地址为XDATA:0xA000
   4          运行效果:按K1~K4键对应4个电压值输出
   5          *******************************************************************************/
   6          
   7          
   8          //包含头文件
   9          #include <reg51.h>
  10          #include <absacc.h>
  11          
  12          
  13          //定义I/O接口
  14          sbit K1 = P1^7;
  15          sbit K2 = P3^3;
  16          sbit K3 = P3^4;
  17          sbit K4 = P3^5;
  18          
  19          
  20          /*******************************************************************************
  21          函数:Delay()
  22          功能:延时0.01s~2.56s
  23          参数:t>0时,延时(t*0.01)s
  24                t=0时,延时2.56s
  25          说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
  26          *******************************************************************************/
  27          void Delay(unsigned char t)
  28          {
  29   1              do
  30   1              {
  31   2                      TH0 = 0xDC;                     //设置定时器初值(定时10ms)
  32   2                      TL0 = 0x00;
  33   2                      TR0 = 1;                        //启动定时器
  34   2                      while ( !TF0 );         //等待定时器溢出
  35   2                      TR0 = 0;                        //停止定时器
  36   2                      TF0 = 0;                        //清除溢出标志
  37   2              } while ( --t != 0 );   //循环t次
  38   1      }
  39          
  40          
  41          /*******************************************************************************
  42          函数:KeyScan()
  43          功能:键盘扫描
  44          返回:扫描码
  45          *******************************************************************************/
  46          unsigned char KeyScan()
  47          {
  48   1              unsigned char k = '\0';
  49   1              if ( !K1 ) k = '1';
  50   1              if ( !K2 ) k = '2';
  51   1              if ( !K3 ) k = '3';
  52   1              if ( !K4 ) k = '4';
  53   1              return k;
  54   1      }
  55          
C51 COMPILER V7.06   MAIN                                                                  10/20/2006 09:58:41 PAGE 2   

  56          
  57          //主函数
  58          void main()
  59          {
  60   1              unsigned char k;
  61   1              TMOD &= 0xF0;
  62   1              TMOD |= 0x01;
  63   1              Delay(10);
  64   1              XBYTE[0xA000] = 128;
  65   1              for (;;)
  66   1              {
  67   2                      for (;;)
  68   2                      {
  69   3                              Delay(10);
  70   3                              k = KeyScan();
  71   3                              if ( k != '\0' ) break;
  72   3                      }
  73   2                      switch ( k )
  74   2                      {
  75   3                      case '1':
  76   3                              XBYTE[0xA000] = 50;
  77   3                              break;
  78   3                      case '2':
  79   3                              XBYTE[0xA000] = 100;
  80   3                              break;
  81   3                      case '3':
  82   3                              XBYTE[0xA000] = 150;
  83   3                              break;
  84   3                      case '4':
  85   3                              XBYTE[0xA000] = 200;
  86   3                              break;
  87   3                      default:
  88   3                              break;
  89   3                      }
  90   2                      for (;;)
  91   2                      {
  92   3                              Delay(10);
  93   3                              if ( KeyScan() == '\0' ) break;
  94   3                      }
  95   2              }
  96   1      }
  97          


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