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

📄 disp.lst

📁 用于测试步进电机
💻 LST
📖 第 1 页 / 共 5 页
字号:
 948   2                      disp_updata_lcd(LCDBADD,ptr);
 949   2              }
 950   1      }
 951          /***************************************************************
 952          *  功能:显示设置的单价
 953          ***************************************************************/
 954          void  disp_setprice(uchar  gunidid)
 955          {  uchar  i,endhide;
 956   1              uchar  dispmem[16];
 957   1              uchar *ptr;
 958   1              uint  mn;
 959   1              for(i=4;i<16;i++)
 960   1              {
 961   2                      dispmem[i]=0x0f;  //不显示
 962   2              }
 963   1              
 964   1              if(gunidid==0)  //枪0
 965   1              {       
 966   2                      keya_num[0]=keynumdata[23];
 967   2                      keya_num[1]=keynumdata[27];
 968   2                      keya_num[2]=keynumdata[0];
 969   2                      keya_num[3]=keynumdata[0];  //"00-P"
 970   2                      keya_num[4]=0x02;
 971   2                      
 972   2                      mn=price_a;  
 973   2                      for(i=0;i<4;i++)
 974   2                      {
 975   3                              dispmem[i]=mn%10;mn/=10;
 976   3                      }
 977   2            
 978   2                      table_buf[2]=dispmem[1]*16+dispmem[0];
 979   2                      table_buf[3]=dispmem[3]*16+dispmem[2];
C51 COMPILER V7.00  DISP                                                                   09/14/2006 16:35:48 PAGE 17  

 980   2                      
 981   2                      
 982   2                      
 983   2      
 984   2                      bbyte=dotmode[decimal_a];
 985   2                      if (a2) {a5=0;endhide=3;bbyte=6;}
 986   2                      else if(a5) {endhide=2;bbyte=7;}
 987   2                      else    {endhide=0;bbyte=8;}
 988   2                      for(i=3;i>0;i--)
 989   2                      {  if(i==endhide)break;
 990   3                              if(dispmem[i]==0) dispmem[i]=0x0f;
 991   3                              else  break;
 992   3                      }
 993   2                      disp_dot1(bbyte);   //LCD1小数点
 994   2                      ptr=&dispmem;
 995   2                      disp_updata_lcd(LCDAADD,ptr);
 996   2                      
 997   2              }
 998   1              else
 999   1              {
1000   2                      keyb_num[0]=keynumdata[23];
1001   2                      keyb_num[1]=keynumdata[27];
1002   2                      keyb_num[2]=keynumdata[0];
1003   2                      keyb_num[3]=keynumdata[0];  //"00-P"
1004   2                      keyb_num[4]=0x02;
1005   2                      
1006   2                      mn=price_b;  
1007   2                      for(i=0;i<4;i++)
1008   2                      {
1009   3                              dispmem[i]=mn%10;mn/=10;
1010   3                      }
1011   2      
1012   2                      table_buf[2+53]=dispmem[1]*16+dispmem[0];
1013   2                      table_buf[3+53]=dispmem[3]*16+dispmem[2];
1014   2      
1015   2                      bbyte=dotmode[decimal_b];
1016   2                      if (a2) {a5=0;endhide=3;bbyte=6;}
1017   2                      else if(a5) {endhide=2;bbyte=7;}
1018   2                      else    {endhide=0;bbyte=8;}
1019   2                      for(i=3;i>0;i--)
1020   2                      {  if(i==endhide)break;
1021   3                              if(dispmem[i]==0) dispmem[i]=0x0f;
1022   3                              else  break;
1023   3                      }
1024   2                      disp_dot2(bbyte);   //LCD2小数点
1025   2                      ptr=&dispmem;
1026   2                      disp_updata_lcd(LCDBADD,ptr);
1027   2              }
1028   1      }
1029          /***************************************************************
1030          *  功能:显示加油菜单项--2#
1031          ***************************************************************/
1032          void disp_memu2_oil(void)
1033          {
1034   1              switch(menu2)
1035   1              {
1036   2                      case 1:   //查询前十次加油记录
1037   2                              
1038   2                              disp_eeprom_history(1,0);
1039   2                              break;
1040   2                      case 2:  //锁机
1041   2                              disp_lock_b();
C51 COMPILER V7.00  DISP                                                                   09/14/2006 16:35:48 PAGE 18  

1042   2                              break;
1043   2                      case 3:  //查询时钟
1044   2                              Get1302();
1045   2                              disp_time(1);
1046   2                              break;
1047   2                      case 4:  //修改锁机密码
1048   2                              disp_lock_b();
1049   2                              break;
1050   2                      case 5:   //显示版本号
1051   2                              disp_ver(1);
1052   2                              break;
1053   2                      case 6:   //设置打印机工作方式  "Auto"戓"Hand"   00--[Auto]自动 01--[Hand]手动
1054   2                              disp_printer_mode(1);
1055   2                              writebyte(99,printermode_b);
1056   2                              save_ok=1;
1057   2                              break;
1058   2                      case 7:   //选择打印机,"P--0/1"
1059   2                              disp_printselect(1);
1060   2                              writebyte(100,pirnt_select_b);
1061   2                              save_ok=1;
1062   2                              break;
1063   2                      default:
1064   2                              break;
1065   2              }
1066   1      }
1067          /***************************************************************
1068          *  功能:显示设置菜单项--2#
1069          ***************************************************************/
1070          void disp_memu2_set(void)
1071          {  void  *pt;
1072   1              if(menu2==2) menu2=3;
1073   1              switch(menu2)
1074   1              {
1075   2                      case 1:   //设置提前量  "2--60"
1076   2                              if(residue_b>60) residue_b=60;
1077   2                              disp_lcd_clear(1);  //清屏
1078   2                              disp_velocity_control(1);
1079   2                              writebyte(94,residue_b);
1080   2                              save_ok=1;
1081   2                              break;
1082   2                      case 2:  //设置提前关机量  "1--10"
1083   2                              if(close_num_b>10) close_num_b=0;
1084   2                              disp_lcd_clear(1);  //清屏
1085   2                              disp_close_num(1);
1086   2                              writebyte(95,close_num_b);
1087   2                              save_ok=1;
1088   2                              break;
1089   2                      case 3:  //设置中控地址 "Ad-32"
1090   2                              if(gunadd_a>32) gunadd_a=1;
1091   2                              disp_lcd_clear(1);  //清屏
1092   2                              disp_address(1);
1093   2                              writebyte(96,gunadd_b);
1094   2                              save_ok=1;
1095   2                              break;
1096   2                      case 4:   //油品
1097   2                         if(oil_types_b>7) oil_types_b=0;
1098   2                              disp_lcd_clear(1);  //清屏
1099   2                    disp_product(1);
1100   2                              writebyte(79,oil_types_b);
1101   2                              save_ok=1;
1102   2                              break;
1103   2                      case 5:   //设置每秒增量 "09-3"
C51 COMPILER V7.00  DISP                                                                   09/14/2006 16:35:48 PAGE 19  

1104   2                              if(increment_b>23) increment_b=23;
1105   2                              disp_lcd_clear(1);  //清屏
1106   2                              disp_dilate(1);    
1107   2                              writebyte(98,increment_b);
1108   2                              save_ok=1;
1109   2                              break;
1110   2                      case 6:   //设置打印机工作方式  "Auto"戓"Hand"   00--[Auto]自动 01--[Hand]手动
1111   2                              disp_printer_mode(1);
1112   2                              writebyte(99,printermode_b);
1113   2                              save_ok=1;
1114   2                              break;
1115   2                      case 7:   //选择打印机,"P--0/1"
1116   2                              disp_printselect(1);
1117   2                              writebyte(100,pirnt_select_b);
1118   2                              save_ok=1;
1119   2                              break;
1120   2                      case 8:   //设置单价"00-P"
1121   2                              disp_setprice(1);
1122   2                              pt=&price_b;
1123   2                              writebyteseq(504,pt,2);   //保存单价
1124   2                              save_ok=1;
1125   2                              table_buf[52+53] |=0x01;
1126   2                              break;
1127   2                      case 9:   //修改时钟"t--t"
1128   2                              if(temp_mema==0)Get1302();
1129   2                              if(temp_mema==13)Set1302();
1130   2                              disp_time(1);
1131   2                              break;
1132   2                      case 10:  //进入特殊菜单
1133   2                              disp_pass_vital(1);
1134   2                              break;
1135   2      
1136   2                      default:
1137   2                              break;
1138   2              }
1139   1      }
1140          /***************************************************************
1141          *  功能:显示特殊菜单项--2#
1142          ***************************************************************/
1143          void disp_memu2_important(void)
1144          {  if(!setpas_b) menu2=1;
1145   1              switch(menu2)
1146   1              {  
1147   2                      case 1: //设置小数点 "08-5"  
1148   2                              if(decimal_b>4) decimal_b=2;
1149   2                              disp_dot(1);
1150   2                              writebyte(97,decimal_b); 
1151   2                              save_ok=1;
1152   2                              break;
1153   2                      case 2:                 
1154   2                              ration_mode_b=0;
1155   2                              disp_total_b();
1156   2                              break;
1157   2                      case 3:                         
1158   2                              ration_mode_b=1;
1159   2                              disp_total_b();
1160   2                              break;
1161   2                      case 4:   //Bare
1162   2                              keyb_num[0]=keynumdata[15];
1163   2                              keyb_num[1]=keynumdata[24];
1164   2                              keyb_num[2]=keynumdata[10];
1165   2                              keyb_num[3]=keynumdata[11];  //"bArE"
C51 COMPILER V7.00  DISP                                                                   09/14/2006 16:35:48 PAGE 20  

1166   2                              keyb_num[4]=0x02;
1167   2                              break;
1168   2                      default:
1169   2                              break;
1170   2              }
1171   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3829    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----     138
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       7
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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