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

📄 信号发生器.lst

📁 虚拟串口控制的函数信号发生器。控制软件为Vb编写
💻 LST
字号:
C51 COMPILER V8.02   信号发蒧芲                                                            12/06/2008 21:34:48 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 信号发蒧芲
OBJECT MODULE PLACED IN 信号发生器.OBJ
COMPILER INVOKED BY: F:\单片机\keil\C51\BIN\C51.EXE 信号发生器.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <absacc.h>
   2          #include <reg51.h>
   3          #define DA0832 XBYTE[0xfffe]
   4          #define uchar unsigned char
   5          #define uint unsigned int 
   6          void delay(uchar z)
   7          {
   8   1              uchar i;
   9   1              while(z--)
  10   1                      for(i=0;i<125;i++);
  11   1      } 
  12          void sawtooth()//锯齿波
  13          {                 
  14   1              uchar i;
  15   1              for(i=0;i<255;i++)
  16   1                      DA0832=i;         
  17   1      }
  18          void triangular()//三角波
  19          {       
  20   1              uchar i;
  21   1              for(i=0;i<255;i++)
  22   1                      DA0832=i; 
  23   1              for(i=255;i>0;i--)
  24   1                      DA0832=i;       
  25   1      }
  26          void square()//方波
  27          {
  28   1              DA0832=255;
  29   1              delay(1);
  30   1              DA0832=0;
  31   1              delay(1);       
  32   1      }
  33          /****波形产生**************************************************************
  34           ****通过点击信号发生器.exe相关按钮向串口发送对应十六进制数*********
  35           ****需要两个连通的串口COM1(信号发生器.exe)、COM2(Proteus)**/
  36          void ser_generator()
  37          {
  38   1              if(SBUF==0xfd)
  39   1                      sawtooth();//锯齿波      
  40   1              if(SBUF==0xfe)
  41   1                      triangular();//三角波
  42   1              if(SBUF==0xff)
  43   1                      square();//方波
  44   1      }
  45          void initser()//初始化串口中断
  46          {
  47   1              SM0=0;
  48   1              SM1=1;//方式1
  49   1              EA=1;
  50   1              ES=1;
  51   1              REN=1;//接收允许
  52   1              TMOD=0x20;//定时器1方式2:自动重装
  53   1              TH1=0xfd;
  54   1              TL1=0xfd;
  55   1              PCON=0;//波特率9600
C51 COMPILER V8.02   信号发蒧芲                                                            12/06/2008 21:34:48 PAGE 2   

  56   1              TR1=1;//定时器1计时
  57   1      }
  58          void main()
  59          {
  60   1              initser();
  61   1              while(1)
  62   1                      ser_generator();
  63   1      }
  64          void ser() interrupt 4 //串口中断
  65          {
  66   1              while(RI==0); 
  67   1              RI=0;
  68   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    133    ----
   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 + -