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

📄 交通灯.lst

📁 提出现代交通灯的单片机解决方法
💻 LST
字号:
C51 COMPILER V8.02   交通灯                                                                03/26/2008 23:21:08 PAGE 1   


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

line level    source

   1          #include <reg51.h>
   2          #define         uchar   unsigned        char
   3          #define         uint    unsigned        int
   4          sbit hong1 =P0^0;
   5          sbit huang1 =P0^1;
   6          sbit lan1 =P0^2;
   7          sbit hong2 =P0^3;
   8          sbit huang2 =P0^4;
   9          sbit lan2 =P0^5;
  10          uint s;
  11          uchar t=0;
  12          uchar m=0;
  13          uchar n=0;
  14          uchar u=0;
  15          uchar p=0;
  16          uchar h=0;
  17          uchar g=0;
  18          uchar code0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  19          void display(void);//动态显示
  20          uchar keyb(void);//键盘程序
  21          uchar shijian(void);//
  22          void delay(int k);
  23          main()
  24          {EA=1;EX0=1;IT0=1;
  25   1      ET0=1;
  26   1      TH0=(65535-50000)/256;
  27   1      TL0=(65535-50000)%256;
  28   1      TMOD=0X01;
  29   1      
  30   1      hong1=0;lan2=0;huang1=0;lan1=0;hong2=0;huang2=0;P2=code0[0];
  31   1      m=keyb();delay(100);
  32   1      n=keyb();
  33   1      delay(100);
  34   1      p=m*10+n;
  35   1      for(;;)
  36   1      {s=p;TR0=1;
  37   2      for(;;)
  38   2      {hong1=1;lan2=1;huang1=0;lan1=0;hong2=0;huang2=0;
  39   3      if(!s)break;
  40   3      if(s<=5){hong1=1;lan2=0;huang1=0;lan1=0;hong2=0;huang2=1;}
  41   3      display();}
  42   2      s=p;
  43   2      for(;;)
  44   2      {hong1=0;lan2=0;huang1=0;lan1=1;hong2=1;huang2=0;
  45   3      if(!s)break;
  46   3      if(s<=5){hong1=0;lan2=0;huang1=1;lan1=0;hong2=1;huang2=0;}
  47   3      display();
  48   3      }}}
  49          /////////////////////////////
  50          void delay(int k)
  51          {int i,j;
  52   1       for(;k>0;k--)
  53   1      for(j=2;j>0;j--)
  54   1      for(i=100;i>0;i--);}
  55          ////////////////////
C51 COMPILER V8.02   交通灯                                                                03/26/2008 23:21:08 PAGE 2   

  56          void display(void)
  57          {int i;for(i=5;i>0;i--)
  58   1      { 
  59   2        P3=0X1F;P2=code0[s/1000];delay(10);
  60   2        P3=0X2F;P2=code0[s%1000/100];delay(10);
  61   2        P3=0X4F;P2=code0[s%100/10];delay(10);
  62   2        P3=0X8F;P2=code0[s%10];delay(10);
  63   2       }}
  64           /////////////////////////////
  65          uchar keyb(void)
  66          {unsigned int a,b=0,c,jzhi,f=0,i=0,dma[]={0,0,0,0,0,0,0,3,0,0,0,2,0,1,0};
  67   1       int yw[]={0x7f,0xbf,0xdf,0xef};a=0x7f;
  68   1       for(;;)
  69   1      {P1=a;a=P1;b=a;c=a;
  70   2        a=a&0x0f;
  71   2        if(a==0x0f) {i++;a=yw[i];if(i==4) {i=0;a=0x7f;}}
  72   2        else break;} 
  73   1        b=b>>4;f=c&0x0f;
  74   1        jzhi=dma[b]*4+dma[f];
  75   1        return jzhi;}
  76            /////////////////////////////
  77            void  waibu1(void)interrupt   0
  78            {int j; TR0=0;
  79   1      for(j=30;j>0;j--)
  80   1      {  hong1=1;lan2=0;huang1=0;lan1=0;hong2=1;huang2=0;display();}
  81   1      TR0=1;
  82   1      }
  83          /////////////////////////////////////////
  84          void    time(void)interrupt     1
  85          {
  86   1      u++;if(u==20){u=0;s--;}
  87   1      TH0=(65535-50000)/256;
  88   1      TL0=(65535-50000)%256;
  89   1      }
  90          
  91          
  92          
  93          
  94          
  95          
  96          
  97          
  98          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    627    ----
   CONSTANT SIZE    =     38    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19      46
   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 + -