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

📄 key.lst

📁 这是铁路各工区
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.12  KEY                                                                    11/29/2007 10:34:25 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN F:\YUN\安全牌\安全牌C\KEY.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\YUN\安全牌\安全牌C\KEY.C DB SB OE

stmt level    source

   1          #include "fun.h"
   2          #include "VAR.h"
   3          
   4          void init_t1(void)
   5          {num_t1=0;
   6   1       TMOD|=0X10;
   7   1       TH1=0X00;
   8   1       TL1=0X00;
   9   1       PT1=0;
  10   1       TR1=1;
  11   1       ET1=1;
  12   1       EA=1;
  13   1      }
  14          
  15          void interrupt_t1(void) interrupt 3  using 3
  16          {TR1=0;
  17   1       TH1=0X00;
  18   1       TL1=0X00;
  19   1       TF1=0;
  20   1       num_t1++;
  21   1       TR1=1;
  22   1      }
  23          
  24          void init_t0(void)
  25          {flag_frame=FALSE;
  26   1       frame.lf=0;
  27   1       TMOD|=0X01;
  28   1       TH0=0XFE;   //450US
  29   1       TL0=0XD0;
  30   1       TR0=1;
  31   1       TF0=0;
  32   1       //PT0=1;
  33   1       ET0=1;
  34   1       EA=1;
  35   1      }
  36          
  37          void interrupt_t0(void) interrupt 1  using 1
  38          {static uchar i=0;
  39   1       TH0 =0XFC;
  40   1       TL0 =0XD0;
  41   1       TF0=0;
  42   1       frame.lf=frame.lf<<1|(ulong)D;
  43   1       if(++i>27)
  44   1       {TR0=0;
  45   2        ET0=0;
  46   2        i=0;
  47   2        flag_frame=TRUE;
  48   2       }
  49   1      }
  50          
  51          void keyin(void)
  52          {if(flag_key)return;
  53   1       flag_key=TRUE;
  54   1       dispall();
  55   1       hp=0;lp=0;
C51 COMPILER V6.12  KEY                                                                    11/29/2007 10:34:25 PAGE 2   

  56   1       dispflicker(hp,lp);
  57   1       init_t1();
  58   1      }
  59          
  60          void keyout(void)
  61          {if(!flag_key)return;
  62   1       keychange();
  63   1       dispstop(hp,lp);
  64   1       flag_key=FALSE;
  65   1       dispall();
  66   1       ET1=0;
  67   1       TR1=0;
  68   1       //EX0=1;
  69   1      }
  70          
  71          void keychange(void)
  72          {if(flag_change)
  73   1       {if(hp==0)
  74   2        {bcd2_binary_time();
  75   3         binary_bcd1_time();
  76   3         wr_date();
  77   3        }
  78   2        else if(hp==1||hp==2)
  79   2        {bcd_binary();
  80   3         binary_24wcxx.year =binary_realtime.year;
  81   3         binary_24wcxx.month=binary_realtime.month;
  82   3         binary_24wcxx.day  =binary_realtime.day;
  83   3         if(binary_realtime.hour<18)yesterday(&binary_24wcxx);
  84   3         wr_24wcxx(addrtab[hp]);
  85   3        }
  86   2        else if(hp<29)
  87   2        {bcd_binary();
  88   3         wr_24wcxx(addrtab[hp]);
  89   3        }
  90   2        flag_change=FALSE;
  91   2       }
  92   1      }
  93          
  94          void keynum(uchar value)
  95          {uchar *p;
  96   1       if(!flag_key)return;
  97   1       if(hp==0)
  98   1       {p=(uchar*)&bcd2_realtime;
  99   2        p+=lp;
 100   2        if(*p!=value)
 101   2        {*p=value;
 102   3         flag_change=TRUE;
 103   3         bcd2_binary_time();
 104   3         timejudge();
 105   3         binary_bcd2_time();
 106   3         disp2(0);
 107   3         dispstop(0,lp);
 108   3        }
 109   2        else dispone(hp,lp,value);
 110   2        if(++lp>=12)
 111   2        {if(flag_change)
 112   3         {binary_bcd1_time();
 113   4          wr_date();
 114   4         }
 115   3         flag_change=FALSE;
 116   3         hp++;
 117   3         lp=8;       //去除一个数码管
C51 COMPILER V6.12  KEY                                                                    11/29/2007 10:34:25 PAGE 3   

 118   3         rd_24wcxx(addrtab[hp]);
 119   3         binary_bcd();
 120   3        }
 121   2        dispflicker(hp,lp);
 122   2       }
 123   1       else if(hp==1||hp==2)
 124   1       {p=(uchar *)&bcd_24wcxx;
 125   2        p+=(lp-1);
 126   2        if(*p!=value)
 127   2        {*p=value;
 128   3         flag_change=TRUE;
 129   3        }
 130   2        dispone(hp,lp,value);
 131   2        if(++lp>=12)
 132   2        {if(flag_change)
 133   3         {bcd_binary();
 134   4          binary_24wcxx.year =binary_realtime.year;
 135   4          binary_24wcxx.month=binary_realtime.month;
 136   4          binary_24wcxx.day  =binary_realtime.day;
 137   4          if(binary_realtime.hour<18)yesterday(&binary_24wcxx);
 138   4          wr_24wcxx(addrtab[hp]);
 139   4         }
 140   3         flag_change=FALSE;
 141   3         if(++hp>2)lp=1;
 142   3         else lp=7;
 143   3         rd_24wcxx(addrtab[hp]);
 144   3         binary_bcd();
 145   3        }
 146   2        dispflicker(hp,lp);
 147   2       }
 148   1       else if(hp<29)
 149   1       {p=(uchar *)&bcd_24wcxx;
 150   2        p+=(lp-1);
 151   2        if(*p!=value)
 152   2        {*p=value;
 153   3         flag_change=TRUE;
 154   3         bcd_binary();
 155   3         datejudge();
 156   3         binary_bcd();
 157   3        }
 158   2        disp2(hp);
 159   2        dispstop(hp,lp);
 160   2        if(++lp>=12)
 161   2        {if(flag_change)
 162   3         {bcd_binary();
 163   4          wr_24wcxx(addrtab[hp]);
 164   4         }
 165   3         flag_change=FALSE;
 166   3         if(++hp>=29){hp=28;lp=11;}
 167   3         else lp=1;
 168   3         rd_24wcxx(addrtab[hp]);
 169   3         binary_bcd();
 170   3        }
 171   2        dispflicker(hp,lp);
 172   2       }
 173   1      }
 174          
 175          void keydirection(uchar value)
 176          {if(!flag_key)return;
 177   1       switch(value)
 178   1       {case UP   :keychange();
 179   2                   dispstop(hp,lp);
C51 COMPILER V6.12  KEY                                                                    11/29/2007 10:34:25 PAGE 4   

 180   2                   if(hp==0){hp=28;lp=1;}
 181   2                   else if(hp==1){hp=0;lp=0;}
 182   2                   else if(hp==2){hp=1;lp=8;}
 183   2                   else if(hp==3){hp=2;lp=7;}
 184   2                   else hp--;
 185   2                   dispflicker(hp,lp);
 186   2                   if(hp)
 187   2                   {rd_24wcxx(addrtab[hp]);
 188   3                    binary_bcd();
 189   3                   }
 190   2                   else
 191   2                   {rd_date();
 192   3                    bcd1_binary_time();
 193   3                    binary_bcd2_time();
 194   3                   }
 195   2                   break;
 196   2        case DOWN :keychange();
 197   2                   dispstop(hp,lp);
 198   2                   if(hp==0){hp=1;lp=8;}
 199   2                   else if(hp==1){hp=2;lp=7;}
 200   2                   else if(hp==2){hp=3;lp=1;}
 201   2                   else if(hp==28){hp=0;lp=0;}
 202   2                   else hp++;
 203   2                   dispflicker(hp,lp);
 204   2                   if(hp)
 205   2                   {rd_24wcxx(addrtab[hp]);
 206   3                    binary_bcd();
 207   3                   }
 208   2                   else
 209   2                   {rd_date();
 210   3                    bcd1_binary_time();
 211   3                    binary_bcd2_time();
 212   3                   }
 213   2                   break;
 214   2        case RIGHT:dispstop(hp,lp);
 215   2                   if(++lp>=12)
 216   2                   {keychange();
 217   3                    hp++;
 218   3                    if(hp==1)lp=8;
 219   3                    else if(hp==2)lp=7;
 220   3                    else if(hp>=29){hp=0;lp=0;}
 221   3                    else lp=1;
 222   3                    if(hp)
 223   3                    {rd_24wcxx(addrtab[hp]);
 224   4                     binary_bcd();
 225   4                    }
 226   3                    else
 227   3                    {rd_date();
 228   4                     bcd1_binary_time();
 229   4                     binary_bcd2_time();
 230   4                    }
 231   3                   }
 232   2                   dispflicker(hp,lp);
 233   2                   break;
 234   2        case LEFT :dispstop(hp,lp);
 235   2                   if((hp==0&&lp==0)||(hp==1&&lp==8)||(hp==2&&lp==7)||(hp>2&&lp==1))
 236   2                   {keychange();
 237   3                    if(hp==0&&lp==0){hp=28;lp=11;}
 238   3                    else if(hp==1&&lp==8){hp=0;lp=11;}
 239   3                    else if(hp==2&&lp==7){hp=1;lp=11;}
 240   3                    else if(hp<29&&lp==1){hp--;lp=11;}
 241   3                    if(hp)
C51 COMPILER V6.12  KEY                                                                    11/29/2007 10:34:25 PAGE 5   

 242   3                    {rd_24wcxx(addrtab[hp]);
 243   4                     binary_bcd();
 244   4                    }
 245   3                    else
 246   3                    {rd_date();

⌨️ 快捷键说明

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