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

📄 main.lst

📁 本文件是C8051F040AD采样及串口测试程序;AD输入端子可输入4路AD(AIN0--AIN3)
💻 LST
字号:
C51 COMPILER V8.15   MAIN                                                                  12/29/2008 16:26:32 PAGE 1   


C51 COMPILER V8.15, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAIN.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /************************************************************************************
   2          *  Copyright (c) 2004,西安铭朗电子科技有限责任公司
   3          *            All rights reserved.
   4          *
   5          * 文件名称: MAIN.C
   6          * 文件标识: none
   7          * 适用器件: C8051F040
   8          * 
   9          * 摘 要:
  10          * 
  11          * 当前版本:1.0
  12          * 作 者:张宁强
  13          * 完成日期:2006年1月20日
  14          *
  15          * 历史版本:0.9 
  16          * 原作者 : 张宁强
  17          * 完成日期:2005年x月xx日
  18          *************************************************************************************/
  19          
  20          #include "MAIN.H"
  21          
  22          
  23          #define LED_PORT P5 //P5.4--P5.7
  24          
  25          void DelayMs(unsigned int n)//延时(n)MS,SYSCLK = 22118400
  26          {
  27   1              unsigned int i;
  28   1              for(; n > 0; n--)
  29   1              {
  30   2                      for(i = 2211; i > 0; i--);
  31   2              }
  32   1      }
  33          
  34          void SysClkInit(void)//配置系统时钟
  35          {
  36   1         int i = 0;
  37   1         char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
  38   1         SFRPAGE = CONFIG_PAGE;              // 改变页
  39   1         OSCXCN = 0x67;                      // 使用外部时钟
  40   1         for (i = 0; i < 3000; i++);
  41   1         while ((OSCXCN & 0x80) == 0);
  42   1         CLKSEL = 0x01;
  43   1         SFRPAGE = SFRPAGE_SAVE;             // 恢复SFRPAGE
  44   1      }
  45          
  46          void SystemInit(void)//系统配置
  47          {
  48   1         char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
  49   1         SFRPAGE = CONFIG_PAGE;              // 改变页
  50   1      
  51   1         WDTCN = 0xDE;   // 关闭 WDT
  52   1         WDTCN = 0xAD;
  53   1      
  54   1         LED_PORT = 0x0f;
  55   1      
C51 COMPILER V8.15   MAIN                                                                  12/29/2008 16:26:32 PAGE 2   

  56   1         SFRPAGE = SFRPAGE_SAVE;             // 恢复SFRPAGE
  57   1      }
  58          
  59          void PortInit(void)//端口配置
  60          {
  61   1         char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
  62   1         SFRPAGE = CONFIG_PAGE;              // 改变页
  63   1      
  64   1         //交叉开关配置
  65   1              XBR0 = 0x04;
  66   1              XBR1 = 0x00;
  67   1              XBR2 = 0x40;
  68   1              // P0 口分配状况
  69   1              // P0.0 = UART0 TX
  70   1              // P0.1 = UART0 RX
  71   1      
  72   1         //输出方式
  73   1         P5MDOUT = 0xf0;
  74   1      
  75   1         SFRPAGE = SFRPAGE_SAVE;             // 恢复SFRPAGE
  76   1      }
  77          
  78          
  79          void main(void)
  80          {
  81   1         unsigned int i;
  82   1         float voltage;
  83   1         unsigned int tp;
  84   1         char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
  85   1         SFRPAGE = CONFIG_PAGE;              // 改变页
  86   1      
  87   1              SystemInit();//系统配置
  88   1              SysClkInit();//配置系统时钟
  89   1              PortInit();//端口配置
  90   1         UartInit();//UART初始化
  91   1         ADC0_Init();
  92   1              while(1)
  93   1              {
  94   2            DelayMs(2000);
  95   2            ADC0_Conver();
  96   2      
  97   2            SFRPAGE = UART0_PAGE;            // 改变页
  98   2            printf("\n");
  99   2      
 100   2                      for (i=0;i<6;i++)
 101   2                      {
 102   3                      voltage = result[i] * 2430.0 / 4095;
 103   3               tp = voltage;
 104   3                              switch(i)
 105   3                              {
 106   4                                      case 3:
 107   4                     tp = voltage;
 108   4                              printf ("'VR1'adjustable voltage(or AIN%d) is %dmV\n",i,tp);
 109   4                                              break;
 110   4      
 111   4                                      case 4:
 112   4                                              tp=(voltage-776)/2.86;
 113   4                                      printf ("Chip TEMP is %d degree\n",tp);
 114   4                                              break;
 115   4      
 116   4                                      case 5:
 117   4                     tp = voltage;
C51 COMPILER V8.15   MAIN                                                                  12/29/2008 16:26:32 PAGE 3   

 118   4                              printf ("HVDA voltage is %dmV\n\n\n",tp);
 119   4                                              break;
 120   4      
 121   4                                      default:
 122   4                     tp = voltage;
 123   4                                 printf ("AIN%d voltage is %dmV\n", i, tp);
 124   4                                              break;
 125   4                              }
 126   3              }
 127   2              }
 128   1      }
 129          
 130          
 131          


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