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

📄 采用外部中断模拟交通信号灯控制.lst

📁 北航新c51单片机实验源代码
💻 LST
字号:
C51 COMPILER V7.50   采用外部中断模拟交通信号灯縚制                                        09/19/2005 23:29:25 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 采用外部中断模拟交通信号灯縚制
OBJECT MODULE PLACED IN 采用外部中断模拟交通信号灯控制.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 采用外部中断模拟交通信号灯控制.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "reg51.h"
   2          #define ON  1
   3          #define OFF 0
   4          
   5          sbit SR = 0x90;  // 南北红灯
   6          sbit SY = 0x91;  // 南北黄灯
   7          sbit SG = 0x92;  // 南北绿灯
   8          sbit ER = 0x93;  // 东西红灯
   9          sbit EY = 0x94;  // 东西黄灯
  10          sbit EG = 0x95;  // 东西绿灯
  11          bit Flash;       // LED状态
  12          bit STOP;
  13          
  14          void StopInt() interrupt 0 {
  15   1        STOP = 1;
  16   1      }
  17          
  18          void Delay(unsigned char CNT) {
  19   1        unsigned int I;
  20   1        while ((CNT > 0) && !STOP) {
  21   2          for (I=0; (I < 50000) && !STOP; I++) ;
  22   2          CNT--;
  23   2        }
  24   1      }
  25          
  26          void main() {
  27   1        unsigned char I;
  28   1        TCON = 0x01;  // INT0 下沿中断
  29   1        IE   = 0x81;  // EA =1,  EX0=1
  30   1        STOP = 0;
  31   1        SR = ON;       // 南北, 东西均红灯
  32   1        SY = OFF;
  33   1        SG = OFF;
  34   1        ER = ON;
  35   1        EY = OFF;
  36   1        EG = OFF;
  37   1      
  38   1        while (1) {
  39   2          if (STOP) goto AllRed;
  40   2          SR = ON;     // 南北红灯, 东西绿灯
  41   2          SY = OFF;
  42   2          SG = OFF;
  43   2          ER = OFF;
  44   2          EY = OFF;
  45   2          EG = ON;
  46   2          Delay(20);
  47   2          if (STOP) goto AllRed;
  48   2          SR = ON;     // 南北红灯, 东西黄灯闪
  49   2          SY = OFF;
  50   2          SG = OFF;
  51   2          ER = OFF;
  52   2          EY = OFF;
  53   2          EG = OFF;
  54   2          Flash = OFF;
  55   2          for (I=0; I < 9; I++) {
C51 COMPILER V7.50   采用外部中断模拟交通信号灯縚制                                        09/19/2005 23:29:25 PAGE 2   

  56   3            EY = Flash;
  57   3            Delay(1);
  58   3            Flash = !Flash;
  59   3          }
  60   2          if (STOP) goto AllRed;
  61   2          SR = OFF;    // 南北绿灯, 东西红灯
  62   2          SY = OFF;
  63   2          SG = ON;
  64   2          ER = ON;
  65   2          EY = OFF;
  66   2          EG = OFF;
  67   2          Delay(20);
  68   2          if (STOP) goto AllRed;
  69   2          SR = OFF;    // 东西红灯, 南北黄灯闪
  70   2          SY = OFF;
  71   2          SG = OFF;
  72   2          ER = ON;
  73   2          EY = OFF;
  74   2          EG = OFF;
  75   2          Flash = OFF;
  76   2          for (I=0; I < 9; I++) {
  77   3            SY = Flash;
  78   3            Delay(1);
  79   3            Flash = !Flash;
  80   3          }
  81   2        AllRed:
  82   2          if (STOP) {
  83   3            SR = ON;       // 南北, 东西均红灯
  84   3            SY = OFF;
  85   3            SG = OFF;
  86   3            ER = ON;
  87   3            EY = OFF;
  88   3            EG = OFF;
  89   3            STOP = 0;
  90   3            Delay(10);
  91   3          }
  92   2        }
  93   1      }


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


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

⌨️ 快捷键说明

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