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

📄 main_b.lst

📁 IC卡购电软件实现
💻 LST
📖 第 1 页 / 共 2 页
字号:

 180   3          }
 181   2          delay_1s();
 182   2          delay_1s();
 183   2          initial_GLCD();
 184   2          command_GLCD(0x80);
 185   2          for(i=0;i<15;i++)
 186   2          {
 187   3            write_GLCD(hz_ts9[i]);
 188   3          }
 189   2          command_GLCD(0x90);
 190   2          while(flag_enter==0);            /*等待确认按键按下*/
 191   2          input_money();                   /*获取由键盘输入的购电金额*/
 192   2          flag_enter=0;
 193   2          flag_cnt=0;    
 194   2        }
 195   1        N=N-M;                 
 196   1        if(N>0)                           /*若余额足够多,则允许购电*/
 197   1        {
 198   2          buy_power();
 199   2        }
 200   1        else                              /*否则提示卡内余额不足*/
 201   1        {
 202   2          no_enough();
 203   2        }
 204   1        delay_1s();
 205   1        delay_1s();
 206   1        initial_GLCD();
 207   1      }
 208          /********************************************************************
 209          函 数 名:IC_wrong()
 210          功    能:提示插卡有误
 211          说    明:
 212          调    用:
 213          入口参数:
 214          出口参数:
 215          ***********************************************************************/
 216          void IC_wrong(void)
 217          {
 218   1        initial_GLCD();
 219   1        command_GLCD(0x80);
 220   1        for(i=0;i<12;i++)
 221   1        {
 222   2          write_GLCD(hz_ts7[i]);
 223   2        }
 224   1        command_GLCD(0x90);
 225   1        for(i=0;i<14;i++)
 226   1        {
 227   2          write_GLCD(hz_ts8[i]);
 228   2        }
 229   1        delay_1s();
 230   1        delay_1s();
 231   1        initial_GLCD();
 232   1      }
 233          /********************************************************************
 234          函 数 名:isr_time0()
 235          功    能:定时器0中断服务子程序
 236          说    明:
 237          调    用:
 238          入口参数:
 239          出口参数:
 240          ***********************************************************************/
 241          void isr_time0(void) interrupt 1 using 3
C51 COMPILER V7.08   MAIN_B                                                                09/27/2006 09:14:00 PAGE 5   

 242          {
 243   1        TH0=0x4b;
 244   1        TL0=0xff;
 245   1         
 246   1        if(count==40)
 247   1        {
 248   2          count=0;
 249   2          flag_count=1;
 250   2        }
 251   1        else
 252   1        {
 253   2          count++;
 254   2        }
 255   1      }
 256          /********************************************************************
 257          函 数 名:system_init()
 258          功    能:初始化子程序
 259          说    明:
 260          调    用:
 261          入口参数:
 262          出口参数:
 263          ***********************************************************************/
 264          void system_init(void)
 265          {
 266   1        //TMOD=0x01;
 267   1        //TH0=0x4b;
 268   1        //TL0=0xff;
 269   1        EX1=1;
 270   1        PX1=1;
 271   1        //ET0=0;
 272   1        EA=1;
 273   1        //TR0=1;
 274   1        P1_4=1;
 275   1        P1_4=0;
 276   1        P1_5=1;
 277   1        P1_3=1;
 278   1        ch451_init();
 279   1        ch451_write(0x402);   /*开键盘,关看门狗、显示*/
 280   1        initial_GLCD();
 281   1      }
 282          /********************************************************************
 283          函 数 名:main()
 284          功    能:主程序
 285          说    明:
 286          ***********************************************************************/
 287          main()
 288          {
 289   1        system_init();
 290   1        while(1)
 291   1        {
 292   2          read_iic_data(read_num,0,1);        /*首先获取剩余电量*/
 293   2          K=read_num[0];
 294   2          k0=K/100;
 295   2          k1=K%100/10;
 296   2          k2=K%100%10;
 297   2          /*while(flag_count)
 298   2          {
 299   2            flag_count=0;
 300   2            if(K!=0)
 301   2            {
 302   2              K--;
 303   2              read_num[0]=K;
C51 COMPILER V7.08   MAIN_B                                                                09/27/2006 09:14:00 PAGE 6   

 304   2              write_iic_data(read_num,0,1);
 305   2            }
 306   2          }*/
 307   2          if(K==0)                        /*若剩余电量为零则提示电量不足*/
 308   2          {
 309   3            command_GLCD(0x80);
 310   3            for(i=0;i<14;i++)
 311   3            {
 312   4              write_GLCD(hz_ts1[i]);
 313   4            } 
 314   3          }
 315   2          else                           /*若剩余电量不为零则对剩余电量进行显示*/
 316   2          {
 317   3            command_GLCD(0x80);
 318   3            for(i=0;i<9;i++)
 319   3            {
 320   4              write_GLCD(hz_ts2[i]);
 321   4            }
 322   3            write_GLCD(ds_num[k0]);
 323   3            write_GLCD(ds_num[k1]);
 324   3            write_GLCD(ds_num[k2]);
 325   3            write_GLCD(hz_ts2[12]);
 326   3            write_GLCD(hz_ts2[13]);
 327   3          }
 328   2          while(flag_enter==1)         /*首次按下确认键进入购电界面*/
 329   2          {
 330   3            initial_GLCD();
 331   3            flag_cnt=0;
 332   3            flag_enter=0;
 333   3            rdmm();
 334   3            i=0;
 335   3            while(RSTANSER[i]==RST_CODE[i])      /*判断插卡是否正确*/
 336   3            {
 337   4              i++;
 338   4              if(i==4)
 339   4              break;
 340   4            }
 341   3            if(i==4)          
 342   3            {
 343   4              IC_right();   /*插卡正确则提示输入购电金额*/
 344   4            }
 345   3            else
 346   3            {
 347   4              IC_wrong();   /*否则提示插卡有误*/
 348   4            }
 349   3          }
 350   2        }
 351   1      }
 352          /*-------------------------------------------------------------------*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1005    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =    157    ----
   DATA SIZE        =     19    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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