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

📄 main.lst

📁 六路三十二次谐波信号发生器 可产生三十次以下任何谐波叠加的波形
💻 LST
字号:
C51 COMPILER V8.09   MAIN                                                                  08/07/2008 14:48:43 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: D:\PROGRAM\KEIL\C51\BIN\C51.EXE MAIN.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          unsigned char i,n,j;
   3          unsigned char indata,OutData;
   4          unsigned char tosin[96];
   5          unsigned        char    flag;
   6          
   7          void ComOutChar(unsigned char OutData) ;
   8          
   9          void main(void)
  10          {
  11   1               n=0;
  12   1               j=0;
  13   1               flag=0;
  14   1              SCON=0x50;      //通讯方式一 
  15   1      
  16   1              TMOD=0X21;      //定时器0方式一   定时器1方式二,用于产生波物率 
  17   1              PCON=0X80;      //SMOD=1
  18   1              RI=0;
  19   1              TI=0;
  20   1              TH0=0xFE;
  21   1              TL0=0x5A;
  22   1              TH1=0xf3;                                                                                
  23   1              TL1=0xf3;       //波特率9600      24HZ 
  24   1      
  25   1              ES=1;           //串行中断使能 
  26   1              
  27   1              TR1=1;          //定时器开启 
  28   1              EA=1;
  29   1              while(1) 
  30   1                {
  31   2                        if(flag==1)    //每接收完一组新数据,将收到的数据发送一遍给上位机 
  32   2                        {
  33   3                                if(j==95)
  34   3                                {
  35   4                                         j=0;
  36   4                                         flag=0;
  37   4                                 }
  38   3                                 else
  39   3                                 {
  40   4                                         ComOutChar(tosin[j]);
  41   4                                         j++;
  42   4                                 }
  43   3                         }
  44   2                }
  45   1      }
  46          
  47          
  48          void ComOutChar(unsigned char OutData) 
  49          { 
  50   1              SBUF = OutData;
  51   1              while(!TI); 
  52   1              TI = 0; 
  53   1      } 
  54          
  55          
C51 COMPILER V8.09   MAIN                                                                  08/07/2008 14:48:43 PAGE 2   

  56          void timer0(void) interrupt  1  
  57          
  58          {
  59   1              TR0=0; 
  60   1              if(i==95)
  61   1               i=0;
  62   1               P1= tosin[i];
  63   1               i++;
  64   1      
  65   1              TH0=0xFE;  
  66   1              TL0=0x5A;       
  67   1      
  68   1              TR0=1;
  69   1      }
  70          
  71          void ComInINT(void) interrupt 4 using 2
  72          { 
  73   1               if (RI) /*判断是不是收完字符 */
  74   1               {
  75   2                      RI=0;
  76   2                      n++;
  77   2                      if(n==95)
  78   2                      {
  79   3                      ET0=1;          //开定时器0中断 
  80   3                      TR0=1;
  81   3                      n=0;
  82   3                      flag=1;
  83   3                      }
  84   2                      
  85   2                      tosin[n]=SBUF;
  86   2                      
  87   2               }
  88   1       }


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