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

📄 5.lst

📁 51控制的十字路口交通灯 左右转 人行道
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   5                                                                     05/08/2006 18:13:07 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 5
OBJECT MODULE PLACED IN 5.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 5.c

stmt level    source

   1          // cross road traffic light control system              
   2          // designed by chen jin yu   wu zhen quan      
   3          // 2006.4.10  at guang dong university of technology
   4          // information engineering college
   5          
   6          #include"reg51.h"
   7          unsigned char code table[]={  // seven segments LED code
   8                  0xC0,/*0*/
   9                  0xF9,/*1*/
  10                  0xA4,/*2*/
  11                  0xB0,/*3*/
  12                  0x99,/*4*/
  13                  0x92,/*5*/
  14                  0x82,/*6*/
  15                  0xF8,/*7*/
  16                  0x80,/*8*/
  17                  0x90,/*9*/};
  18          sbit A_R=P1^0;//A road Red light
  19          sbit A_G=P1^1;//A road Green light
  20          sbit A_Y=P1^2;//A road Yellow light
  21          sbit A_A=P1^3;//A road Arrow light
  22          sbit C_R=P1^4;//C road Red light
  23          sbit C_G=P1^5;//C road Green light
  24          sbit C_Y=P1^6;//C road Yellow light
  25          sbit C_A=P1^7;//C road Arrow light
  26          sbit B_R=P1^0;//C road Red light
  27          sbit B_G=P1^1;//B road Green light
  28          sbit B_Y=P1^2;//B road Yellow light
  29          sbit B_A=P1^3;//B road Arrow light
  30          sbit D_R=P1^4;//D road Red light
  31          sbit D_G=P1^5;//D road Green light
  32          sbit D_Y=P1^6;//D road Yellow light
  33          sbit D_A=P1^7;//D road Arrow light
  34          sbit PB1=P2^7;//primary road led bit 1
  35          sbit PB2=P2^6;//primary road led bit 2
  36          sbit SB1=P2^5;//secondary road led bit 1
  37          sbit SB2=P2^4;//secondary road led bit 2
  38          sbit PSW_G=P2^3;//primary road sidewalk Green lighi
  39          sbit PSW_R=P2^2;//primary road sidewalk Red lighi
  40          sbit SSW_G=P2^1;//secondary road sidewalk Green lighi
  41          sbit SSW_R=P2^0;//secondary road sidewalk Red lighi
  42          sbit PR_G=P3^0;//primary road turn right Red light
  43          sbit PR_R=P3^1;//primary road turn right Green light
  44          sbit SR_G=P3^2;//secondary road turn right Red light
  45          sbit SR_R=P3^3;//secondary road turn right Green light
  46          sbit menu=P3^7;
  47          sbit inc=P3^5;
  48          sbit dec=P3^6;
  49          unsigned int k;
  50          unsigned char n;
  51          unsigned char a, b,c,d;
  52          unsigned char CASE;// road situation
  53          unsigned char PT;//primary road time
  54          unsigned char ST;//secondary road time
  55          void display(unsigned char PT,unsigned char ST);//road  time display
C51 COMPILER V7.06   5                                                                     05/08/2006 18:13:07 PAGE 2   

  56          void init(void);//initialise system
  57          void delay(void);// led scan delay
  58          time0()interrupt 1 using 1//T0 interrupt serve (delay 50ms)
  59          { 
  60   1        unsigned char i;
  61   1        i++;
  62   1        TH0=-50000/256;
  63   1        TL0=-50000%256;
  64   1           if(i>20)
  65   1            {
  66   2             i=0;
  67   2             PT--;
  68   2                 ST--;
  69   2            }
  70   1      }
  71          
  72          void init(void)//initialise system
  73          { 
  74   1       a=14;
  75   1        b=74;
  76   1        c=9;
  77   1        d=54;
  78   1      P0=0x00;//initialise I\O ports
  79   1      P1=0xFF; 
  80   1      P2=0xFF;
  81   1      P3=0xFF;
  82   1      CASE=1;//the initial road situation
  83   1      TMOD=0x61;//initialise timer
  84   1      TH0=-50000/256;
  85   1      TL0=-50000%256;
  86   1      EA=1;
  87   1      ET0=1;
  88   1      TR0=1;
  89   1      }
  90          
  91          void display(unsigned char PT,unsigned char ST)//road time display function
  92          {
  93   1       
  94   1       n=PT%10;
  95   1       PB1=0;
  96   1       P0=table[n];
  97   1       delay();
  98   1       delay();
  99   1       PB1=1;
 100   1       delay();
 101   1       n=PT/10;
 102   1       PB2=0;
 103   1       P0=table[n];
 104   1       delay();
 105   1       delay();
 106   1       PB2=1;
 107   1       delay();
 108   1       n=ST%10;
 109   1       SB1=0;
 110   1       P0=table[n];
 111   1       delay();
 112   1       delay();
 113   1       SB1=1;
 114   1       delay();
 115   1       n=ST/10;
 116   1       SB2=0;
 117   1       P0=table[n];
C51 COMPILER V7.06   5                                                                     05/08/2006 18:13:07 PAGE 3   

 118   1       delay();
 119   1       delay();
 120   1       SB2=1;
 121   1       delay();
 122   1       }
 123          
 124          void delay(void)// led scan delay
 125          {  
 126   1         for(k=0;k<300;k++)
 127   1              ;
 128   1      }
 129          
 130          void settime()
 131          { 
 132   1          for(k=0;k<5000;k++)
 133   1                    ;
 134   1         a=15;
 135   1         while(menu==1)
 136   1          {
 137   2            if(inc==0)
 138   2              { 
 139   3               
 140   3               for(k=0;k<2000;k++)
 141   3                    ;
 142   3               if(inc==0)
 143   3               a++;
 144   3               }
 145   2             if(dec==0)
 146   2              { 
 147   3               
 148   3               for(k=0;k<2000;k++)
 149   3                   ;
 150   3               if(dec==0)
 151   3               a--;
 152   3               }
 153   2            PT=a;
 154   2            //unsigned char n;
 155   2            n=PT%10;
 156   2            PB1=0;
 157   2            P0=table[n];
 158   2            delay();
 159   2            delay();
 160   2            PB1=1;
 161   2            delay();
 162   2            n=PT/10;
 163   2            PB2=0;
 164   2            P0=table[n];
 165   2            delay();
 166   2            delay();
 167   2            PB2=1;
 168   2            delay();
 169   2            }
 170   1            b=60;//////////////////
 171   1            while(menu==1)
 172   1           {
 173   2            if(inc==0)
 174   2              { 
 175   3              
 176   3               for(k=0;k<2000;k++)
 177   3                    ;
 178   3               if(inc==0)
 179   3               b++;
C51 COMPILER V7.06   5                                                                     05/08/2006 18:13:07 PAGE 4   

 180   3               }
 181   2             if(dec==0)
 182   2              { 
 183   3              
 184   3               for(k=0;k<2000;k++)
 185   3                   ;
 186   3               if(dec==0)
 187   3               b--;
 188   3               }
 189   2            PT=b;
 190   2      //      unsigned char n;
 191   2            n=PT%10;
 192   2            PB1=0;
 193   2            P0=table[n];
 194   2            delay();
 195   2            delay();
 196   2            PB1=1;
 197   2            delay();
 198   2            n=PT/10;
 199   2            PB2=0;
 200   2            P0=table[n];
 201   2            delay();
 202   2            delay();
 203   2            PB2=1;
 204   2            delay();
 205   2            }
 206   1            c=10;/////////////////////

⌨️ 快捷键说明

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