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

📄 da.lst

📁 Proteus环境下DAC0832数模转换程序与电路.
💻 LST
字号:
C51 COMPILER V8.02   DA                                                                    11/08/2007 15:17:12 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE DA
OBJECT MODULE PLACED IN da.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE da.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<stdio.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          code unsigned char Sintab[128]={64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,
   6                                                          109,111,113,115,117,118,120,121,123,124,125,126,126,
   7                                                          127,127,127,127,127,127,127,126,126,125,124,123,121,
   8                                                          120,118,117,115,113,111,109,106,104,102,99,96,94,91,
   9                                                          88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39,
  10                                                          36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,
  11                                                          1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,
  12                                                          25,28,31,33,36,39,42,45,48,51,54,57,60};
  13           char counter_10,k,m=1;      //置标志和常数、变量
  14           void timer0int()                       //定时器\计数器设置
  15           {TMOD=0X51;
  16   1         TH0=0XB0;
  17   1         TL0=0X3C;
  18   1         TH1=0xff;
  19   1         TL1=0xff;
  20   1         ET1=1;
  21   1         TR1=1;
  22   1         ET0=1;
  23   1         TR0=1;
  24   1         EA=1;
  25   1       }
  26          void timer0() interrupt 1 using 1                   //定时器溢出中断服务程序
  27          {  TH0=0XB0;
  28   1         TL0=0X3C;
  29   1        counter_10++;
  30   1        if(counter_10==20)counter_10=0; 
  31   1        }
  32          void timer1() interrupt 3 using 0                    //计数器1溢出中断服务程序
  33            {TH1=0xff;
  34   1         TL1=0xff;
  35   1         TR1=1;
  36   1         EA=1;
  37   1         k++;
  38   1         if(k==4)k=0;
  39   1         }
  40          void int0() interrupt 2 using 0
  41          {
  42   1       m++;
  43   1       if(m==10)m=0;
  44   1       }
  45          void fang(void)                   //方波
  46          {uchar i;
  47   1      while(k==2)
  48   1       {if(i<=120/m)
  49   2       P1=0;
  50   2       else P1=128/m;
  51   2       i++;
  52   2       if(i==240/m)i=0;
  53   2       }
  54   1      }
  55          void juchi(void)                          //锯齿波
C51 COMPILER V8.02   DA                                                                    11/08/2007 15:17:12 PAGE 2   

  56          {uchar i=0;
  57   1       while(k==1)
  58   1       {P1=i;
  59   2        i++;
  60   2       if(i==248/m)i=0;
  61   2       }
  62   1       }
  63          void sanjiao(void)                        //三角波
  64          {uchar i,n;
  65   1      while(k==3)
  66   1       { P1=i;
  67   2         if(n==1)i--;
  68   2         else i++;
  69   2         if(i==128/m)n=1;
  70   2         if(i==0)n=0;
  71   2       }
  72   1      }
  73          void sin(void)                            //正弦波
  74          {uchar i;
  75   1       while(k==0)
  76   1      {i++;
  77   2      if(i==128)i=0;
  78   2      P1=Sintab[i];
  79   2      }
  80   1      }
  81           void main()                    //主程序
  82           {timer0int();
  83   1        while(1)
  84   1       {
  85   2        if(k==0)sin();
  86   2         if(k==1)juchi();
  87   2         if(k==2)fang();
  88   2         if(k==3)sanjiao();
  89   2        } 
  90   1       }


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