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

📄 hong lv deng 2.lst

📁 模拟交通灯
💻 LST
字号:
C51 COMPILER V7.50   HONG_LV_DENG_2                                                        10/06/2005 09:55:11 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE HONG_LV_DENG_2
OBJECT MODULE PLACED IN HONG LV DENG 2.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE HONG LV DENG 2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          
   5          sbit P3_3=P3^3;
   6          sbit P1_0=P1^0;
   7          sbit P1_1=P1^1;
   8          sbit P1_2=P1^2;
   9          sbit P1_3=P1^3;
  10          sbit P1_4=P1^4;
  11          sbit P1_5=P1^5;
  12          sbit P1_6=P1^6;
  13          
  14          #define OSC_FREQ        12000000
  15          #define _1ms            (65536-OSC_FREQ/(12000000/980))
  16          #define _10ms           (65536-OSC_FREQ/(12000000/9970))
  17          
  18          uchar code tab[]={0x88,0xEB,0x4c,0x49,0x2B,0x19,0x18,0xCB,0x08,
  19                                                  0x09,0x0A,0x38,0x9C,0x68,0x1C,0x1E,0xFF};
  20          uchar ucCnt_10ms;
  21          uchar ucLed1;
  22          
  23          void Timer_1ms(uint_1ms);
  24          void Led_RR();       //红红
  25          void Led_RG();       //红绿
  26          void Led_RY();       //红黄
  27          void Led_GR();       //绿红
  28          void Led_YR();       //黄红 
  29          void Led_Off();
  30          void Xint0(void);
  31          void SHUSHU();
  32          
  33          /*****************************************************/
  34          
  35          void main(void)
  36          {
  37   1              P1=0x00;
  38   1              EA=1;
  39   1              EX1=1;
  40   1              IT1=0;  
  41   1              Led_RR();
  42   1              do{
  43   2                      Led_RG();
  44   2                      Led_RY();
  45   2                      Led_GR();
  46   2                      Led_YR();
  47   2              }while(1);
  48   1      }
  49          
  50          /********************************/
  51          
  52          /*void Timer_1ms(uint_1ms)
  53          {
  54                  TMOD=TMOD&(0x0f)|0x10;
  55                  TR1=1;
C51 COMPILER V7.50   HONG_LV_DENG_2                                                        10/06/2005 09:55:11 PAGE 2   

  56                  while(uint_1ms--)
  57                  {
  58                          TH1=_1ms/256;
  59                          TL1=_1ms%256;
  60                          while(!TF1);
  61                          TF1=0;
  62                  }
  63                  TR1=0;
  64          }*/
  65          
  66          /*********************************/
  67          
  68          void Xint1(void) interrupt 2 using 3
  69          {
  70   1              P1_0=0;
  71   1              P1_2=0;
  72   1              P1_4=0;
  73   1              P1_5=0;
  74   1              P1_6=0;
  75   1              P1_1=1;
  76   1              P1_3=1;
  77   1              for(;;)
  78   1              {
  79   2              ;
  80   2              }
  81   1      }
  82          
  83          /*********************************/
  84          
  85          void Led_RR()           //红红2s
  86          {
  87   1              P1_0=0;
  88   1              P1_2=0;
  89   1              P1_4=0;
  90   1              P1_5=0;
  91   1              P1_6=0;
  92   1              P1_1=1;
  93   1              P1_3=1;
  94   1              SHUSHU();
  95   1              //Timer_1ms(2000);
  96   1              Led_Off();
  97   1      }
  98          
  99          /*********************************/
 100          
 101          void Led_RG()            //红绿5s
 102          {
 103   1              P1_1=1;
 104   1              P1_2=1;
 105   1              //Timer_1ms(5000);
 106   1              Led_Off();
 107   1      }
 108          
 109          /*********************************/
 110                  
 111          void Led_RY()         //红黄5s
 112          {
 113   1              uint i;
 114   1              P1_1=1;
 115   1              for(i=1;i<=5;i++)
 116   1                      {
 117   2                      P1_5=1;
C51 COMPILER V7.50   HONG_LV_DENG_2                                                        10/06/2005 09:55:11 PAGE 3   

 118   2                      //Timer_1ms(500);
 119   2                      P1_5=0;
 120   2                      //Timer_1ms(500);
 121   2                      }
 122   1              Led_Off();
 123   1      }
 124          
 125          /**********************************/
 126          
 127          void Led_GR()           //绿红5s
 128          {
 129   1              P1_0=1;
 130   1              P1_3=1;
 131   1              //Timer_1ms(5000);
 132   1              Led_Off();
 133   1      }
 134          
 135          /**********************************/
 136          
 137          void Led_YR()          //黄红5s
 138          {
 139   1              uint i;
 140   1              P1_3=1;
 141   1              for(i=1;i<=5;i++)
 142   1              {
 143   2                      P1_4=1;
 144   2                      //Timer_1ms(500);
 145   2                      P1_4=0;
 146   2                      //Timer_1ms(500);
 147   2              }
 148   1              Led_Off();
 149   1      }
 150          
 151          /*********************************/
 152          
 153          void Led_Off()
 154          {
 155   1              P1_0=0;
 156   1              P1_1=0;
 157   1              P1_2=0;
 158   1              P1_3=0;
 159   1              P1_4=0;
 160   1              P1_5=0;
 161   1              P1_6=0;
 162   1      }
 163          
 164          /********************************/
 165          
 166          void SHUSHU()
 167          {
 168   1              uchar i;
 169   1              TMOD=0x01;
 170   1              TH0=_10ms/256;
 171   1              TL0=_10ms%256;
 172   1              SCON=0x00;
 173   1              TI=1;
 174   1              EA=1;
 175   1              ET0=1;
 176   1              TR0=1;
 177   1              ucCnt_10ms=0;
 178   1              ucLed1=0;
 179   1              for(;;)
C51 COMPILER V7.50   HONG_LV_DENG_2                                                        10/06/2005 09:55:11 PAGE 4   

 180   1              {
 181   2                      SBUF=tab[ucLed1];
 182   2                      while(!TI);
 183   2                      TI=0;
 184   2                      for(i=0;i<=2;i++);
 185   2              }
 186   1      }
 187          
 188          /*************************************/
 189          
 190          void Time0(void) interrupt 1
 191          {
 192   1              TR0=0;
 193   1              TH0=_10ms/256;
 194   1              TL0=_10ms%256;
 195   1              TR0=1;
 196   1              if(ucCnt_10ms++==100)
 197   1              {
 198   2                      ucCnt_10ms=0;
 199   2                      if(ucLed1++==0x10)
 200   2                      {
 201   3                              ucLed1=0;
 202   3                      }
 203   2              }
 204   1      }
 205          
 206          
 207          
 208          
 209          
 210          
 211          
 212          
 213          
 214          
 215          
 216          


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