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

📄 wdac3.lst

📁 C8051F系列单片机外围电路功能模块程序
💻 LST
字号:
C51 COMPILER V7.05   WDAC3                                                                 02/14/2006 08:41:46 PAGE 1   


C51 COMPILER V7.05, COMPILATION OF MODULE WDAC3
OBJECT MODULE PLACED IN WDAC3.OBJ
COMPILER INVOKED BY: C:\SiLabs\MCU\IDEfiles\C51\BIN\C51.exe WDAC3.c DB OE

stmt level    source

   1          //参考程序 F:文件名:WDAC3.c 此程序通过DAC的输出方波,DAC输出更新发生在定时器T3溢时.
   2          #include <c8051f020.h>                    /*SFR定义*/
   3          sfr16 TMR3RL   = 0x92;                    /*定时器T3重载值*/
   4          sfr16 TMR3     = 0x94;                    /*定时器T3计数器*/
   5          sfr16 DAC0     = 0xd2;                    /*DAC0数据*/
   6          #define SYSCLK 2000000                    /*系统时钟频率*/
   7          void PORT_Init (void);
   8          void Timer3_Init (int counts);
   9          void Timer3_ISR (void);
  10          void DAC_Init(void);
  11          void main (void) {
  12   1      unsigned int i;
  13   1         WDTCN = 0xde; /*关看门狗*/
  14   1         WDTCN = 0xad;
  15   1                 PORT_Init ();                                                /*初始化I/O口*/
  16   1         Timer3_Init (SYSCLK / 12 /5 );               /*初始化定时器T3*/
  17   1          DAC_Init();                         /*D/A初始化*/
  18   1         EA = 1;                                                              /*使能总中断标志*/
  19   1         while (1) 
  20   1         {                         
  21   2                 DAC0L=0xf0;                        /*设置待转换的值为0FF0H*/
  22   2                 DAC0H=0x0f;
  23   2      for(i=0;i<=100;i++);
  24   2       DAC0L=0x0;                            /*设置待转换的值为0000H*/
  25   2       DAC0H=0x0;
  26   2      for(i=0;i<=200;i++);    
  27   2              }
  28   1      }
  29          void PORT_Init (void)
  30          {
  31   1         XBR2    = 0x40;                     /*时能交叉开关和弱上拉*/
  32   1         P74OUT |= 0x0ff;                    /*使能P1.6 (LED)作为推完输出*/
  33   1      }
  34          void DAC_Init(void)
  35          {
  36   1      REF0CN =0x03;   /*内部偏压发生器和电压基准缓冲器工作,基准从VREF引脚输出*/
  37   1      DAC0CN |=0x88;  /*DAC0允许,DAC输出更新发生在定时器T3溢时*/
  38   1      }
  39          void Timer3_Init (int counts)
  40          {
  41   1         TMR3CN = 0x00;    /*停止定时器3,清定时器中断标志,用SYSCLK/12作为时基*/
  42   1                                             
  43   1         TMR3RL  = -counts;                  /*装载重装载值*/
  44   1         TMR3    = 0xffff;                   /*设置重载值*/
  45   1         EIE2   |= 0x01;                     /*使能定时器T3中断*/
  46   1         TMR3CN |= 0x04;                     /*使能定时器T3*/
  47   1      }
  48          void Timer3_ISR (void) interrupt 14
  49          {
  50   1         TMR3CN &= ~(0x80);                   /*清定时器T3中断标志*/
  51   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    107    ----
C51 COMPILER V7.05   WDAC3                                                                 02/14/2006 08:41:46 PAGE 2   

   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 + -