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

📄 liushui.lst

📁 ME500——51单片机的几个中断程序
💻 LST
字号:
C51 COMPILER V8.02   LIUSHUI                                                               12/13/2006 16:01:51 PAGE 1   


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

line level    source

   1          /*******************************************************************/
   2          /*                                                                 */
   3          /* ME500单片机开发系统演示程序 - 流水灯 (双定时中断)             */
   4          /*                                                                 */
   5          /* P0、P2 LED显示                                                  */
   6          /*                                                                 */
   7          /* 版本: V1.0 (2006/11/20)                                        */
   8          /* 作者: gguoqing (Email: gguoqing@willar.com)                    */
   9          /* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界) */
  10          /* 时间: 2006/12/13                                               */
  11          /*                                                                 */
  12          /*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved */
  13          /*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!       */
  14          /*                                                                 */
  15          /*******************************************************************/
  16                  
  17          #include < reg51.h >
  18          #include <intrins.h>
  19          
  20          #define uchar unsigned char
  21          #define uint  unsigned int
  22          uchar time0count,time1count,move1,move2;
  23          
  24          /*********************************************************
  25          
  26            主函数
  27          
  28          **********************************************************/
  29          void  main()
  30          {
  31   1          P0=0xff;     //关所有灯
  32   1          P2=0xff;
  33   1      
  34   1          TMOD=0x11;   //定时/计数器1工作于方式1
  35   1          TH0=0xa6;
  36   1          TL0=0x00;    //25ms定时常数
  37   1          TH1=0x4c;
  38   1          TL1=0x00;    //50ms定时常数
  39   1          PT0=1;       //定义TIMER0优先
  40   1          EA=1;        //开总中断
  41   1          ET0=1;       //允许定时/计数器0 中断
  42   1          ET1=1;       //允许定时/计数器1 中断
  43   1          TR0=1;       //启动定时/计数器0 中断
  44   1          TR1=1;       //启动定时/计数器1 中断
  45   1          move1=0xfe;
  46   1          move2=0xfe;
  47   1          while(1);
  48   1      
  49   1      }
  50          
  51          /*********************************************************
  52          
  53            TIMER0中断服务函数
  54          
  55          **********************************************************/
C51 COMPILER V8.02   LIUSHUI                                                               12/13/2006 16:01:51 PAGE 2   

  56          void Time0(void) interrupt 1 
  57          {
  58   1         TH0=0xa6;               //25ms定时
  59   1         TL0=0x00;
  60   1         time0count++;
  61   1         if(time0count==10)
  62   1         {
  63   2           time0count=0;
  64   2               P0=move1;     
  65   2               move1=(move1 <<1)|0x01;
  66   2           if(move1==0xff)
  67   2           move1=0xfe;
  68   2         }
  69   1      }
  70          
  71          /*********************************************************
  72          
  73            TIMER1中断服务函数
  74          
  75          **********************************************************/
  76          void Time1(void) interrupt 3 
  77          {
  78   1         TH1=0x4c;               //50ms定时
  79   1         TL1=0x00;
  80   1         time1count++;
  81   1         if(time1count==10)
  82   1         {
  83   2           time1count=0;
  84   2           P2=move2;
  85   2               move2=(move2 <<1)|0x01;
  86   2           if(move2==0xff)
  87   2           move2=0xfe;
  88   2         }
  89   1      }
  90          
  91          /*********************************************************/
  92          


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