int0.lst

来自「c8051f020单片机的例程」· LST 代码 · 共 80 行

LST
80
字号
C51 COMPILER V7.06   INT0                                                                  07/29/2008 09:23:21 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE INT0
OBJECT MODULE PLACED IN int0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE int0.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <c8051f020.h>                    /*SFR定义*/
   2          sbit led=P3^7;
   3          void PORT_Init()
   4          {   XBR0 = 0x04; //urat0 配置到p0.0 p0.1
   5   1              XBR1=0x04; //int0 配置到p0.2
   6   1         
   7   1              P3MDOUT=0Xff;
   8   1          P0MDOUT=0Xff;
   9   1          XBR2=0X40;
  10   1              
  11   1      }
  12          void SYSCLK_Init()
  13          {   
  14   1          unsigned int i;
  15   1          OSCXCN=0X67;         //0X67=0110,0111
  16   1              for(i=0;i<256;i++);         //等待>1ms
  17   1              while(!(OSCXCN&0X80));      //等待XTLVLD变为1
  18   1              OSCICN=0X88;         //时钟失效监测器,选择外部时钟源作为系统时钟
  19   1      }
  20          void UART0_Init()
  21          {
  22   1          SCON0=0x50;             //串口方式1
  23   1          TMOD=0X20;             //选用定时器1作为波特率发生器
  24   1              TH1=0xF4;               //波特率为4800
  25   1              TL1=0xF4;
  26   1              
  27   1              TF1=0;
  28   1              TR1=1;               //定时器启动
  29   1          PCON=0X00;           //波特率不乘2
  30   1          TI0=1;
  31   1      
  32   1      }
  33          void main (void) {
  34   1      
  35   1         WDTCN = 0xde;                        /*关看门狗*/
  36   1         WDTCN = 0xad;
  37   1         SYSCLK_Init();
  38   1           PORT_Init();
  39   1           UART0_Init(); 
  40   1            EX0=1;      // 外部中断允许
  41   1                IT0=1;      // 下降沿触发
  42   1                PX0=1;      //  优先级最高
  43   1                EA=1;      //   全局中断允许
  44   1         while (1) { }
  45   1         
  46   1              
  47   1      }
  48          void fint0 (void) interrupt 0
  49          {
  50   1          led=!led;// led状态取反
  51   1              SBUF0=0Xff;//向上位机发送ff
  52   1          while(TI0==0);
  53   1          TI0=0;       
  54   1      }

C51 COMPILER V7.06   INT0                                                                  07/29/2008 09:23:21 PAGE 2   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    102    ----
   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 + =
减小字号Ctrl + -
显示快捷键?