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

📄 liushui.lst

📁 ME500——51单片机的几个中断程序
💻 LST
字号:
C51 COMPILER V8.02   LIUSHUI                                                               12/13/2006 11:23:10 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 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          //采用软件模拟计数脉冲进行计数
  18          
  19          //定时器0定时,中断溢出一次,T1计数器加1。
  20          
  21          //T1计数器计满10次,LED灯右移一位。(流水灯)
  22          
  23          //*****************************************************************
  24          
  25                  
  26          #include < reg51.h >
  27          #include <intrins.h>
  28          
  29          #define uchar unsigned char
  30          #define uint  unsigned int
  31          
  32          sbit  T1_pulse=P3^5;
  33          
  34          uchar move;
  35          
  36          /*********************************************************
  37          
  38            主函数
  39          
  40          **********************************************************/
  41          void  main()
  42          {
  43   1          P0=0xff;     //关所有灯
  44   1          P2=0xff;
  45   1      
  46   1          TMOD=0x51;   //TIMER0定时,TIMER1计数
  47   1          TH0=0x4c;
  48   1          TL0=0x00;    //50ms定时常数
  49   1          TH1=0xff;
  50   1          TL1=0xf6;
  51   1          EA=1;        //开总中断
  52   1          ET0=1;       //允许定时/计数器0 中断
  53   1          ET1=1;       //允许定时/计数器1 中断
  54   1          TR0=1;       //启动定时/计数器0 中断
  55   1          TR1=1;       //启动定时/计数器1 中断
C51 COMPILER V8.02   LIUSHUI                                                               12/13/2006 11:23:10 PAGE 2   

  56   1          move=0xfe;   //扫描初值
  57   1      
  58   1          while(1);
  59   1      
  60   1      }
  61          
  62          /*********************************************************
  63          
  64            Time0 中断服务函数
  65          
  66          **********************************************************/
  67          void Time0(void) interrupt 1 // using 0
  68          {
  69   1         TR0=0;
  70   1         TH0=0x4c;               //50ms定时
  71   1         TL0=0x00;
  72   1         T1_pulse=1;
  73   1         _nop_();
  74   1         _nop_();
  75   1         T1_pulse=0;
  76   1         TR0=1;  
  77   1      }
  78          
  79          /*********************************************************
  80          
  81            Time1 中断服务函数
  82          
  83          *********************************************************/
  84          void Time1(void) interrupt 3 
  85          {
  86   1         EA=0;
  87   1         TH1=0xff;
  88   1         TL1=0xf6;   
  89   1         P0=move;
  90   1         move=(move <<1)|0x01;
  91   1         if(move==0xff)
  92   1         move=0xfe;
  93   1         EA=1;
  94   1      }
  95          
  96          //*********************************************************
  97          


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