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

📄 huhu.lst

📁 新华龙c8051f020单片机 串口调试示例程序
💻 LST
字号:
C51 COMPILER V7.02b   HUHU                                                                 08/09/2008 16:17:19 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE HUHU
OBJECT MODULE PLACED IN huhu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe huhu.c DB OE

stmt level    source

   1          #include <c8051f020.h>                // SFR声明
   2          #include <stdio.h>
   3          #include <INTRINS.H>
   4          
   5          //C8051F020的16位SFR定义
   6          
   7          sfr16 DP       = 0x82;                // 数据指针
   8          sfr16 TMR3RL   = 0x92;                // 定时器T3重装值
   9          sfr16 TMR3     = 0x94;                // 定时器T3计数器
  10          sfr16 ADC0     = 0xbe;                // ADC0数据
  11          sfr16 ADC0GT   = 0xc4;                // ADC0大于窗口
  12          sfr16 ADC0LT   = 0xc6;                // ADC0小于窗口
  13          sfr16 RCAP2    = 0xca;                // 定时器T2捕捉/重装
  14          sfr16 T2       = 0xcc;                // 定时器T2
  15          sfr16 RCAP4    = 0xe4;                // 定时器T4捕捉/重装
  16          sfr16 T4       = 0xf4;                // 定时器T4
  17          sfr16 DAC0     = 0xd2;                // DAC0数据
  18          sfr16 DAC1     = 0xd5;                // DAC1数据
  19          
  20          
  21          #define BAUDRATE     115200            // UART波特率(bps)
  22          #define SYSCLK       24000000          // 系统时钟频率(Hz)
  23          
  24          //MAX125功能口定义
  25          #define MAX125_CS      P2.0;
  26          #define MAX125_CON     P2.1;
  27          #define MAX125_RD      P2.2;
  28          #define MAX125_WR      P2.3;
  29          #define MAX125_INT     P2.4;
  30          #define MAX125_CLK     P2.5;
  31          
  32          //DAC8164功能口定义
  33          #define DAC8164_LDAC   P3.0;
  34          #define DAC8164_ENAB   P3.1;
  35          #define DAC8164_A1     P3.2;
  36          #define DAC8164_SYNC   P3.3;
  37          #define DAC8164_SCLK   P3.4;
  38          #define DAC8164_DIN    P3.5;
  39          
  40          
  41          
  42          #define TIMER2H        0xc4           //10ms
  43          #define TIMER2L        0x00
  44          #define TIMER_NUM      8
  45          
  46          
  47          
  48             
  49          #define MAX_RAW_VALUE     1024
  50          
  51          
  52          struct MY_TIMER{
  53                  unsigned char enable;
  54                  unsigned int  count;
  55                  unsigned int  length;
C51 COMPILER V7.02b   HUHU                                                                 08/09/2008 16:17:19 PAGE 2   

  56                  unsigned char flag;
  57          };
  58          
  59          
  60          void SYSCLK_Init (void);
  61          void PORT_Init (void);
  62          void UART0_Init (void);
  63          void UART1_Init (void);
  64          void MAX125_Init (void);
  65          void DAC8164_Init (void);
  66          void Timer3_Init (int counts);
  67          void MAX125_ISR (void);
  68          void DAC8164_ISR (void);
  69          
  70          
  71          
  72          //主程序
  73          void main (void)
  74          {
  75   1      WDTCN = 0xde;                          // 禁止看门狗
  76   1      WDTCN = 0xad;
  77   1      SYSCLK_Init ();                        // 初始化振荡器
  78   1      PORT_Init ();                          // 初始化数据交叉开关和通用I/O口
  79   1      UART0_Init ();                         // 初始化UART0
  80   1      Timer3_Init (SYSCLK/SAMPLE_RATE);      // 初始化Timer3 
*** ERROR C202 IN LINE 80 OF HUHU.C: 'SAMPLE_RATE': undefined identifier
  81   1      ADC7934_Init ();                       // 初始化ADC7934
  82   1      while (1) {
  83   2      Timer0_Delay (100); //延时100ms
  84   2      }
  85   1      ADC7934_ ISR (void); 
  86   1      }
  87          //主程序初始化
  88          //系统时钟初始化
  89          void SYSCLK_Init (void) 
  90          {
  91   1      int i;                               //延时计数器
  92   1      OSCXCN = 0x67;                      //启动外部振荡器
  93   1      for (i=0;i<256;i++) ;                //等待振荡器启动
  94   1      while (!(OSCXCN & 0x80)) ;           //等待晶体振荡器稳定
  95   1      OSCICN = 0x88;                       //选择外部振荡器为系统时钟源并使能丢失时钟检测器
  96   1      }
  97          
  98          //I/O口初始化,配置数据交叉开关和通用I/O口
  99          void PORT_Init (void)
 100          {
 101   1      XBRO = 0x06;
 102   1      XBR1 = 0x80;
 103   1      XBR2 = Ox40;                        // 使能数据交叉开关和弱上拉
 104   1      P0MDIN = 0x00;                      // enable TX0 as a push-pull output
 105   1      P1MDIN = 0x88;                      // P2口设为推挽方式
 106   1      P2MDOUT= 0x00;                      // P2口设为推挽方式
 107   1      P3MDOUT= 0x00;
 108   1      P74OUT = 0X0F;                      // P4,P5口设为推挽方式                     
 109   1      }
 110          
 111          
 112          unsigned char xdata *ADC7934;       // 定义ADC7934端口指针 
 113          unsigned char xdata *ADC7934data;   // 定义ADC7934数据缓冲指针
 114          void ADC7934_PORT (void)
 115          {
 116   1      
C51 COMPILER V7.02b   HUHU                                                                 08/09/2008 16:17:19 PAGE 3   

 117   1      }
 118          //UART0配置
 119          void UART0_Init (void)
 120          {
 121   1         SCON0   = 0x50;                     // UART0工作模式1, 8-bit UART, 使能RX
 122   1         TMOD    = 0x20;                     //定时器 1, 模式 2, 8-bit 重装载
 123   1         TH1    = -(SYSCLK/BAUDRATE/16);     //设定定时器1为重装载模式
 124   1         TR1    = 1;                         // 启动Timer1
 125   1         CKCON |= 0x10;                      // Timer1使用系统时钟
 126   1         PCON  |= 0x80;                      // 禁止UART0的波特率/2
 127   1         TI0    = 1;                         // Indicate TX0 ready
 128   1      }
 129          
 130          //UART0配置
 131          void UART1_Init (void)
 132          {
 133   1         SCON0   = 0x50;                     // UART0工作模式1, 8-bit UART, 使能RX
 134   1         TMOD    = 0x20;                     //定时器 1, 模式 2, 8-bit 重装载
 135   1         TH1    = -(SYSCLK/BAUDRATE/16);     //设定定时器1为重装载模式
 136   1         TR1    = 1;                         // 启动Timer1
 137   1         CKCON |= 0x10;                      // Timer1使用系统时钟
 138   1         PCON  |= 0x80;                      // 禁止UART0的波特率/2
 139   1         TI0    = 1;                         // Indicate TX0 ready
 140   1      }
 141          
 142          
 143          
 144          
 145          void Timer3_Init (int counts)
 146          {
 147   1         TMR3CN = 0x02;
 148   1         TMR3RL  = -counts;
 149   1         TMR3    = 0xffff;
 150   1         EIE2   &= ~0x01;
 151   1         TMR3CN |= 0x04;
 152   1      }

C51 COMPILATION COMPLETE.  0 WARNING(S),  1 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -