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

📄 cpt01.lst

📁 工业以太网测控板资料FX04核心编程模块
💻 LST
字号:
C51 COMPILER V7.00  CPT01                                                                  12/25/2003 13:52:28 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE CPT01
OBJECT MODULE PLACED IN cpt01.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE cpt01.c DB OE

stmt level    source

   1          #include <c8051f020.h>
   2          #include <intrins.h>
   3          sbit MOSI = P0^4;                      
   4          sbit SCK = P0^2;    
   5          #define SETSPICS1       P5 |= 0x10              
   6          #define CLRSPICS1       P5 &= ~(0x10)
   7          void delay(unsigned int t);
   8          void SYSCLK_Init(void);
   9          void SPI_Transfer (unsigned int SPI_byte);
  10          void CP0_ISR(void);
  11          void CP0_ISRR(void);
  12          void CP1_ISRL(void);
  13          void CP1_ISRR(void);
  14          /*void delay(unsigned int t)
  15          {
  16            unsigned int i,j;
  17            for(i=0;i<t;i++)
  18              for(j=0;j<10;j++)
  19                    {
  20                      _nop_();
  21                 }
  22          }
  23          */
  24          void SYSCLK_Init (void)
  25          {
  26   1         int i;                              // delay counter
  27   1         OSCXCN = 0x67;                      // start external oscillator with
  28   1                                             // 11.0592MHz crystal
  29   1         for (i=0; i < 256; i++) ;           // Wait for osc. to start up
  30   1         while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
  31   1         OSCICN = 0x88;                      // select external oscillator as SYSCLK
  32   1                                             // source and enable missing clock
  33   1                                             // detector
  34   1      //      OSCICN = 0x07;   //interal 16MHZ
  35   1      }
  36          
  37          
  38           void SPI_Transfer (unsigned int SPI_byte)
  39          {
  40   1         unsigned char SPI_count;            // counter for SPI transaction
  41   1      
  42   1         for (SPI_count = 8; SPI_count > 0; SPI_count--) // single byte SPI loop
  43   1         {
  44   2            SCK = 0;                      // set SCK low
  45   2            MOSI = SPI_byte & 0x80;          // put current outgoing bit on MOSI
  46   2            SCK = 1;                      // set SCK high
  47   2            SPI_byte = SPI_byte << 1;        // shift next bit into MSB
  48   2           
  49   2         }
  50   1          CLRSPICS1;
  51   1              
  52   1              SETSPICS1;
  53   1          SCK=1;
  54   1              MOSI=1;
  55   1         
C51 COMPILER V7.00  CPT01                                                                  12/25/2003 13:52:28 PAGE 2   

  56   1      } // END SPI_Transfer
  57          
  58          main()
  59          {
  60   1              WDTCN = 0xde;
  61   1              WDTCN = 0xad;           //关看门狗
  62   1              SYSCLK_Init ();         //初始化时钟
  63   1          XBR2=0x44;
  64   1              P0MDOUT=0x14;
  65   1              P74OUT = 0x08;
  66   1              SCK=1;
  67   1              MOSI=1;
  68   1              SETSPICS1;
  69   1          CPT0CN=0x8f;
  70   1              //CPT1CN=0x8f;
  71   1              EIP1=0x80;
  72   1              EIE1=0xf0;
  73   1              EA=1;
  74   1               while(1)
  75   1               {
  76   2                }
  77   1      }
  78             
  79           void CP0_ISR(void) interrupt 10  //比较器0下降沿中断服务程序
  80           {
  81   1        
  82   1        CPT0CN &=0xCF;
  83   1        SPI_Transfer(0x00);    //关闭DEMO-A板上的D301LED
  84   1      }
  85          void CP0_ISRR(void) interrupt 11 //比较器0上升沿中断服务程序
  86          {
  87   1       CPT0CN &=0xCF;
  88   1      SPI_Transfer(0x01);   //点亮DEMO-A上的D301 LED
  89   1      }
  90          
  91          void CP1_ISRL(void) interrupt 12  //比较器1下降沿中断服务程序
  92           {
  93   1        
  94   1       CPT1CN &=0xCF;
  95   1        SPI_Transfer(0x00); //关闭DEMO-A上的D301 LED
  96   1      }
  97          void CP1_ISRR(void) interrupt 13 //比较器1上升沿中断服务程序
  98          {
  99   1      CPT1CN &=0xCF;
 100   1      SPI_Transfer(0x01);  //点亮DEMO-A上的D301 LED.
 101   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    230    ----
   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 + -