📄 disp.lst
字号:
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 + -