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

📄 c8051f020.lst

📁 C8051ucos源码
💻 LST
字号:
C51 COMPILER V8.02   C8051F020                                                             01/09/2009 16:20:58 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE C8051F020
OBJECT MODULE PLACED IN C8051F020.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE program\C8051F020.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\C8051F020.lst) 
                    -OBJECT(C8051F020.obj)

line level    source

   1          
   2          
   3          
   4          #include "c8051F020.h"
   5          
   6          bit SYSTEM_TEMP_BIT;
   7          //------------------------------------------------------------------------------------
   8          void Oscillator_Init()
   9          {
  10   1          int i = 0;
  11   1          OSCXCN    = 0x67;
  12   1          for (i = 0; i < 3000; i++);  // Wait 1ms for initialization
  13   1          while ((OSCXCN & 0x80) == 0);
  14   1          OSCICN    = 0x08;
  15   1      }
  16          //------------------------------------------------------------------------------------
  17          void Port_IO_Init(void)
  18          {
  19   1      
  20   1         P1MDIN   = 0xFF;  // 1对应的引脚是数字输入      0对应的引脚是模拟输入       开机默认:0xff
  21   1        
  22   1         P0MDOUT |= 0x00;  // 1对应的引脚是推挽输出      0对应的引脚是漏极开路输出   开机默认:0x00
  23   1         P1MDOUT |= 0x00;  // 1对应的引脚是推挽输出      0对应的引脚是漏极开路输出   开机默认:0x00
  24   1         P2MDOUT |= 0x00;  // 1对应的引脚是推挽输出      0对应的引脚是漏极开路输出   开机默认:0x00
  25   1         P3MDOUT |= 0x00;  // 1对应的引脚是推挽输出      0对应的引脚是漏极开路输出   开机默认:0x00
  26   1      
  27   1              P74OUT=0Xff;
  28   1              
  29   1              P0=0xff;
  30   1              P1=0xff;
  31   1              P2=0xff;
  32   1              P3=0xff;
  33   1              P4=0xff;
  34   1              P5=0xff;
  35   1              P6=0xff;
  36   1              P7=0xff;
  37   1      
  38   1         XBR0    = 0x04;                     // Enable UART0
  39   1         //XBR1    = 0x04;
  40   1         XBR2    = 0x44;                     // Enable crossbar and weak pull-ups
  41   1         P0MDOUT |= 0x01;                    // enable TX0 as a push-pull output
  42   1         P1MDOUT |= 0x01;
  43   1         P2MDOUT  = 0xe0;                    // P2口设为推挽方式
  44   1         P3MDOUT  = 0xff;                    // P2口设为推挽方式
  45   1         //XBR2      &=       ~(0x80);//弱上拉允许
  46   1      }
  47          //------------------------------------------------------------------------------------
  48          /*
  49          //外部总线初始化
  50          void ExtBus_Init(void)
  51          {
  52          
  53                  EMI0CN = 0x00;//当使用8位的MOVX命令时,XRAM页选择位提供16位外部数据存储器地址的高字节,实际上是选择一个256 
             -字节的RAM        
C51 COMPILER V8.02   C8051F020                                                             01/09/2009 16:20:58 PAGE 2   

  54                  EMI0CF = 0X34;//外部P4-P7,非复用,EMIF=01,ALE=0;
  55                  EMI0TC = 0x45;//(地址建立时间(0-3)<<6)||(RD/WR(0-15)<<2)||(地址保持时间(0-3))
  56          
  57          
  58                  XBR2      |= 0x40;//交叉开关启动
  59              XBR2      &=        ~(0x80);//弱上拉允许
  60          }
  61          //------------------------------------------------------------------------------------
  62          /*
  63          void ADC_Init()
  64          {
  65              ADC1CF    = 0xF9;
  66              AMX1SL    = 0x00;
  67              ADC1CN    = 0x82;
  68                  P1MDIN    = 0xFE;
  69              IE        = 0x80;
  70              EIE2      = 0x09;
  71                  REF0CN    = 0x1A;
  72              //REF0CN    = 0x02;
  73          }
  74          
  75          void ADC0_Init()
  76          {
  77                  AMX0CF = 0X00;
  78                  ADC0CF = 0XF0;
  79                  ADC0CN = 0X84;
  80              EIE2   = 0x03;
  81              IE        = 0x80;
  82                  REF0CN    = 0x0b;
  83          }
  84          //------------------------------------------------------------------------------------
  85          
  86          void DAC_Init()
  87          {
  88                  DAC0CN = 0x87;
  89                  DAC1CN = 0x80;
  90          }
  91          //------------------------------------------------------------------------------------
  92          /*
  93          //ADC2初始化
  94          void ADC2_Init(void)
  95          {
  96                  
  97          
  98                  AMX2CF = 0X00;//低4位是差分输入标志位1为差分输入
  99                  ADC2CF = ((SYSTEM_CLK/5000000)<<3);
 100                  ADC2_SetupMul(1);//放大倍数设为1倍       
 101                  ADC2CN = 0XA2;//定时器3触发转换
 102                  REF0CN&=0Xf7;//设置adc2基准电压为3.3V;
 103                  REF0CN|=0x20;//开启偏执电压
 104          }
 105          //------------------------------------------------------------------------------------
 106          //读取ADC2转换结果
 107          //可工作与中断或非中断方式
 108          unsigned char ADC2_Read(void)
 109          {
 110          unsigned char val;
 111                  while((ADC2CN&0x20)==0);
 112                  val = ADC2;
 113                  ADC2CN&=0x20;
 114                  return val;
 115          }
C51 COMPILER V8.02   C8051F020                                                             01/09/2009 16:20:58 PAGE 3   

 116          //------------------------------------------------------------------------------------
 117          //DAC0初始化
 118          void DAC0_Init(void)
 119          {
 120                  DAC0CN = 0x88;//DAC0允许和设定为定时器3启动
 121                  REF0CN|=0x20;//开启偏执电压
 122          }
 123          //------------------------------------------------------------------------------------
 124          //DAC1初始化
 125          void DAC1_Init(void)
 126          {
 127                  DAC1CN = 0x88;//DAC0允许和设定为定时器3启动
 128                  REF0CN|=0x20;//开启偏执电压
 129          }
 130          //------------------------------------------------------------------------------------
 131          //DAC0输出
 132          void DAC0_OUT(unsigned int val)
 133          {
 134          union
 135          {
 136                  unsigned char uchar[2];
 137                  unsigned int  uint;
 138          }int2char;
 139          
 140                  int2char.uint = val;
 141                  DAC0L = int2char.uchar[0];
 142                  DAC0H = int2char.uchar[1];
 143          }
 144          //------------------------------------------------------------------------------------
 145          //DAC1输出
 146          void DAC1_OUT(unsigned int val)
 147          {
 148          union
 149          {
 150                  unsigned char uchar[2];
 151                  unsigned int  uint;
 152          }int2char;
 153          
 154                  int2char.uint = val;
 155                  DAC1L = int2char.uchar[0];
 156                  DAC1H = int2char.uchar[1];
 157          }
 158          //------------------------------------------------------------------------------------
 159          */
 160          
 161          //------------------------------------------------------------------------------------
 162          
 163          
 164          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     75    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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