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

📄 sy9.lst

📁 用c8051f005单片机操作da转换器 dac908
💻 LST
字号:
C51 COMPILER V7.20   SY9                                                                   08/10/2008 15:13:01 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE SY9
OBJECT MODULE PLACED IN sy9.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE sy9.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //P3.0-P3.7 并行数据DB0-DB7
   2          //P2.7 时钟信号
   3          //使用定时器3中断程序改变输出电压
   4          
   5          
   6          #include <c8051f000.h>
   7          #include <intrins.h>
   8          #define uchar unsigned char
   9          #define uint unsigned int
  10          
  11          sbit CLK=P2^7;
  12          sfr16 TMR3RL=0x92;
  13          
  14          void sysclk_init();
  15          void port_init();
  16          void timer3_init();
  17          void set_f(uint f);
  18          void send_dac908(uchar dat);
  19          
  20          
  21          uint n;                                                         //定时器3计数值
  22          uchar k;
  23          uchar da_dat;
  24          
  25          void main()
  26          {
  27   1              sysclk_init();
  28   1              port_init();
  29   1              timer3_init();
  30   1              set_f(100);
  31   1              da_dat=0;
  32   1              EA=0;                                           //开总中断      
  33   1              
  34   1              for(;;)send_dac908(da_dat++);
  35   1      }
  36          
  37          void sysclk_init()
  38          {
  39   1              WDTCN=0XDE;                                     //关看门狗
  40   1              WDTCN=0XAD;
  41   1              OSCICN=0x07;                            //内部16M时钟
  42   1      }
  43          
  44          void port_init()
  45          {
  46   1              XBR0=0X00;                                      //
  47   1              XBR1=0X00;
  48   1              XBR2=0X40;                                      //交叉开关允许
  49   1              PRT0CF=0xFF;                            //P0设置为推挽输出
  50   1              PRT1CF=0xFF;                            //设置为推挽输出
  51   1              PRT2CF=0xFF;                            //
  52   1              PRT3CF=0xFF;                            //
  53   1      }
  54          
  55          void timer3_init()
C51 COMPILER V7.20   SY9                                                                   08/10/2008 15:13:01 PAGE 2   

  56          {
  57   1              TMR3CN=0X06;                            //定时器3允许 使用系统时钟
  58   1              EIE2|=0X1;                                      //开定时器3中断
  59   1      }
  60          //-----------------------------------------
  61          //通过设置定时器3初值 设置输出频率
  62          //f:输出频率(1-31311hz)
  63          //-----------------------------------------
  64          void set_f(uint f)
  65          {
  66   1              uint n;
  67   1              n=31311/f;
  68   1              TMR3RL=n;
  69   1      }
  70          
  71          void ser_timer3() interrupt 14
  72          {
  73   1              TMR3CN&=0X7F;                           //中断标志清零
  74   1      //      send_dac908(0xF0);
  75   1      /*      if(da_dat==0)
  76   1                      k=1;
  77   1              if(da_dat==255)
  78   1                      k=0;
  79   1              if(k)
  80   1                      send_dac908(da_dat++);
  81   1              else
  82   1                      send_dac908(da_dat--);
  83   1      */
  84   1      
  85   1      }
  86          
  87          void send_dac908(uchar dat)
  88          {
  89   1              CLK=1;
  90   1              P3=dat;
  91   1              CLK=0;
  92   1      }
  93          
  94          


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