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

📄 translater.lst

📁 全功能交通灯设计智能交通灯.rar
💻 LST
字号:
C51 COMPILER V7.06   TRANSLATER                                                            07/20/2008 23:55:37 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TRANSLATER
OBJECT MODULE PLACED IN translater.OBJ
COMPILER INVOKED BY: E:\design tools\keilc\C51\BIN\C51.EXE translater.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #define uchar     unsigned char
   4          #define uint      unsigned int
   5          sbit key1=P3^2;
   6          sbit key2=P3^3;
   7          sbit key3=P3^4;
   8          sbit key4=P3^5;
   9          
  10          uchar h,count,num,dat,flag,dat1,num1,key1num,temp;
  11          uint r=0;
  12          uint s;
  13          uchar code  dis[]={
  14                                                                  
  15                  0Xc0,/*0*/
  16                  0Xf9,/*1*/
  17                  0Xa4,/*2*/
  18                  0Xb0,/*3*/
  19                  0X99,/*4*/
  20                  0X92,/*5*/
  21                  0X82,/*6*/
  22                  0Xf8,/*7*/
  23                  0X80,/*8*/
  24                  0X90,/*9*/
  25                  0Xff,/*NULL*/
  26          };
  27          
  28          
  29          void delay(uint c)
  30          {
  31   1         uint i,j;
  32   1          for(i=0;i<c;i++)
  33   1                for(j=0;j<100;j++);
  34   1              
  35   1      }
  36          
  37          void init()
  38          {
  39   1              TMOD=0x11;//设置定时器0为工作方式1
  40   1              TH0=(65536-10000)/256;
  41   1              TL0=(65536-10000)%256;
  42   1              TH1=(65536-20000)/256;
  43   1              TL1=(65536-20000)%256;
  44   1              EA=1;//开总中断
  45   1              ET0=1;//开定时器0中断
  46   1              ET1=1;
  47   1              TR0=1;//启动定时器0
  48   1              TR1=1;
  49   1              num=30;
  50   1              P0=0xeb;
  51   1      }
  52          void display(dat)   //送显示
  53          {                       
  54   1                              
  55   1                              P1=0x00;
C51 COMPILER V7.06   TRANSLATER                                                            07/20/2008 23:55:37 PAGE 2   

  56   1                      P2=0xff;
  57   1                      P1=0x01;
  58   1                      P2=dis[dat/10];
  59   1                       delay(1);
  60   1                              P1=0x00;
  61   1                      P2=0xff;
  62   1                      P1=0x02;
  63   1                      P2=dis[dat%10];
  64   1                               delay(1);
  65   1                              P1=0x00;
  66   1                      P2=0xff;
  67   1                              P1=0x04;
  68   1                      P2=dis[(dat+2)/10];
  69   1                               delay(1);
  70   1                              P1=0x00;
  71   1                      P2=0xff;
  72   1                              P1=0x08;
  73   1                      P2=dis[(dat+2)%10];
  74   1                       delay(1);
  75   1                               if(flag==1)
  76   1                               {
  77   2                                      P0=0xe2;
  78   2                               }
  79   1                               if(flag==2)
  80   1                               {
  81   2                                      P0=0xdd;
  82   2                               }
  83   1                               if(flag==3)
  84   1                               {
  85   2                                      P0=0xd4;
  86   2                               }
  87   1                               
  88   1                      
  89   1              
  90   1      }
  91          void keyscan() //键盘检测
  92          {
  93   1              if(key1==0)
  94   1              {
  95   2                      delay(5);
  96   2                      if(key1==0)
  97   2                      {
  98   3                              key1num++;
  99   3                              while(!key1);
 100   3                              if(key1num==1)
 101   3                              {
 102   4                                      TR0=0;
 103   4                                      TR1=0;
 104   4                              }
 105   3                              if(key1num==2)
 106   3                              {
 107   4                                      P1=0xf3;
 108   4                              }
 109   3                              if(key1num==3)
 110   3                              {
 111   4                                      TR0=1;
 112   4                                      TR1=1;
 113   4                                      P1=temp;
 114   4                                      key1num=0;
 115   4      
 116   4                              }
 117   3                      }
C51 COMPILER V7.06   TRANSLATER                                                            07/20/2008 23:55:37 PAGE 3   

 118   2              
 119   2              }
 120   1                      if(key1num!=0)
 121   1                      {       
 122   2                              if(key2==0)
 123   2                              {
 124   3                                      delay(5);
 125   3                                      if(key2==0)
 126   3                                      {
 127   4                                              while(!key2);
 128   4                                              if(key1num==1)
 129   4                                              {
 130   5                                                      num++;
 131   5                                                      display(num);
 132   5                                                      
 133   5                                              }
 134   4                                              if(key1num==2)
 135   4                                              {
 136   5                                                      num++;
 137   5                                                      display(num);
 138   5                                              }
 139   4                                      }
 140   3                              }
 141   2                          if(key3==0)
 142   2                              {
 143   3                                      delay(5);
 144   3                                      if(key3==0)
 145   3                                      {
 146   4                                              while(!key3);
 147   4                                              {
 148   5                                                      if(key1num==1)
 149   5                                                      {
 150   6                                                              if(num==0)
 151   6                                                              num=32;
 152   6                                                              num--;
 153   6                                                      }
 154   5                                              }
 155   4      
 156   4                                      }
 157   3                              }
 158   2                      }
 159   1      }
 160          void main()  //主函数
 161          {
 162   1              init();
 163   1              while(1)
 164   1              {       
 165   2                      keyscan();
 166   2                      if(count==20)
 167   2                      {
 168   3                              count=0;
 169   3                              num--;
 170   3                              
 171   3                              if(num==0)
 172   3                              {
 173   4                                      num=30;
 174   4                              }
 175   3                      }
 176   2                      display(num);
 177   2              }
 178   1      }
 179          void t0(void ) interrupt 1  //定时器T0
C51 COMPILER V7.06   TRANSLATER                                                            07/20/2008 23:55:37 PAGE 4   

 180          {
 181   1              TH0=(65535-50000)/256;
 182   1              TL0=(65535-50000)%256;
 183   1              count++;
 184   1      
 185   1              
 186   1      }
 187          void time1() interrupt 3        //定时器T1
 188          {
 189   1              TH1=(65536-20000)/256;
 190   1              TL1=(65536-20000)%256;
 191   1              num1++; 
 192   1              if(num1==50)
 193   1              {
 194   2                      num1=0;
 195   2                      dat1++;
 196   2                      if(dat1==20)
 197   2                      {
 198   3                              flag=1;
 199   3                      }
 200   2                      if(dat1==30)
 201   2                      {
 202   3                              flag=2;
 203   3                      }
 204   2                      if(dat1==50)
 205   2                      {
 206   3                              flag=3;
 207   3                      }
 208   2                      if(dat1==60)
 209   2                      {
 210   3                              dat1=0;
 211   3                              flag=2;
 212   3                      }
 213   2              }
 214   1      }


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