📄 lcm16864zk.lst
字号:
955 2 }
956 1
957 1 }
958
959
960 void EmployeeNum(void)
961 {
962 1 uchar k=0,j;
963 1 uchar CodeN[4]={0,0,0,0};
964 1 WritCommand(0x01);
965 1 ShowPart10(); //员工编号 0
966 1 ShowPart1();
967 1 while(k<4)
968 1 {
969 2 if(LKEY==0)
970 2 {
971 3 Delay_ms(10);
972 3 if(LKEY==0)
973 3 {
974 4 CodeN[k]=j;
975 4 while(1)
976 4 {
977 5 if(LKEY==1) break;
978 5 }
979 4 break;
980 4 }
981 3 }
982 2 if(MKEY==0) //按MKEY数字从0~9循环显示
983 2 {
984 3 Delay_ms(5);
985 3 if(MKEY==0)
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 17
986 3 {
987 4 j++;
988 4 if(j>9) j=0;
989 4 WritData(0xa3);
990 4 WritData(0xb0+j); //显示下个数
991 4 WritCommand(0x10);
992 4 while(1)
993 4 {
994 5 if(MKEY==1) break;
995 5 }
996 4 }
997 3 }
998 2 if(RKEY==0)
999 2 { //光标移动到下一位 进行选择
1000 3 Delay_ms(10); //延时去抖动
1001 3 if(RKEY==0)
1002 3 {
1003 4 CodeN[k]=j;
1004 4 WritCommand(0x14);
1005 4 k++;
1006 4 if(k>=4)
1007 4 {k=0;WritCommand(0x94);}
1008 4 WritData(0xa3);
1009 4 WritData(0xb0);
1010 4 WritCommand(0x10);
1011 4 j=0;
1012 4 while(1)
1013 4 {
1014 5 if(RKEY==1) break;
1015 5 }
1016 4 }
1017 3 }
1018 2 ShowTime();
1019 2 WritCommand(0x94+k);
1020 2 Delay_ms(10);
1021 2 }
1022 1 k=(CodeN[0]<<4)+CodeN[1]; //存入员工编号到相应的位置
1023 1 pdx++;
1024 1 *pdx=k;
1025 1 pdx++;
1026 1 k=(CodeN[2]<<4)+CodeN[3];
1027 1 *pdx=k;
1028 1 }
1029
1030 void AnlNum(void) //最少与数
1031 {
1032 1 uchar k=0,j;
1033 1 WritCommand(0x01);
1034 1 ShowPart11(); //最少与数 0
1035 1 ShowPart1();
1036 1 while(k<2)
1037 1 {
1038 2 if(LKEY==0)
1039 2 {
1040 3 Delay_ms(10);
1041 3 if(LKEY==0)
1042 3 {
1043 4 pdx++;
1044 4 *pdx=j;
1045 4 RobNum=j;
1046 4 while(1)
1047 4 {
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 18
1048 5 if(LKEY==1) break;
1049 5 }
1050 4 break;
1051 4 }
1052 3 }
1053 2 if(MKEY==0) //0~9个数字循环显示
1054 2 {
1055 3 Delay_ms(5);
1056 3 if(MKEY==0)
1057 3 {
1058 4 j++;
1059 4 if(j>9) j=0;
1060 4 WritData(0xa3);
1061 4 WritData(0xb0+j); //显示下个数
1062 4 WritCommand(0x10);
1063 4 while(1)
1064 4 {
1065 5 if(MKEY==1) break;
1066 5 }
1067 4 }
1068 3 }
1069 2 if(RKEY==0) //进入下一个位置选择
1070 2 {
1071 3 Delay_ms(10); //延时去抖动
1072 3 if(RKEY==0)
1073 3 {
1074 4 WritCommand(0x96);
1075 4 WritData(0xa3);
1076 4 WritData(0xb0);
1077 4 WritCommand(0x10);
1078 4 }
1079 3 }
1080 2 ShowTime();
1081 2 WritCommand(0x95);
1082 2 Delay_ms(10);
1083 2 }
1084 1
1085 1 }
1086
1087 void AnlSet(void) //逻辑关系
1088 {
1089 1 bit i=1;
1090 1 WritCommand(0x01);
1091 1 ShowPart12(); //逻辑关系: A
1092 1 ShowPart4();
1093 1 while(1)
1094 1 {
1095 2 if(LKEY==0)
1096 2 {
1097 3 Delay_ms(10);
1098 3 if(LKEY==0) //1表示是与的关系 0表示不是
1099 3 { //1表示是低级 0表示是高级可以直接产生报警
1100 4 pdx++;
1101 4 *pdx=i;
1102 4 while(1)
1103 4 {
1104 5 if(LKEY==1) break;
1105 5 }
1106 4 break;
1107 4 }
1108 3 }
1109 2
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 19
1110 2 if(RKEY==0) //A 循环显示 B
1111 2 {
1112 3 Delay_ms(10); //延时去抖动
1113 3 if(RKEY==0)
1114 3 {
1115 4 WritCommand(0x95);
1116 4 i=~i;
1117 4 if(i==1)
1118 4 {
1119 5 WritCommand(0x95);
1120 5 WritData(0xa6);WritData(0xa1);
1121 5 WritCommand(0x10);
1122 5 }
1123 4 else
1124 4 {
1125 5 WritCommand(0x95);
1126 5 WritData(0xa6);WritData(0xa2);
1127 5 WritCommand(0x10);
1128 5 }
1129 4
1130 4 }
1131 3 }
1132 2 ShowTime();
1133 2 WritCommand(0x95);
1134 2 Delay_ms(10);
1135 2 }
1136 1 }
1137
1138 void AnlTime(void) //与等待时间
1139 {
1140 1 uchar j=0,k=0;
1141 1 uchar CodeN[3]={0,0,0};
1142 1 WritCommand(0x01);
1143 1 ShowPart13(); //与等时间:000S
1144 1 ShowPart1();
1145 1 WritCommand(0x94);
1146 1 while(k<3)
1147 1 {
1148 2 if(LKEY==0)
1149 2 {
1150 3 Delay_ms(10);
1151 3 if(LKEY==0)
1152 3 {
1153 4
1154 4 CodeN[k]=j;
1155 4 while(1)
1156 4 {
1157 5 if(LKEY==1) break;
1158 5 }
1159 4 break;
1160 4 }
1161 3 }
1162 2 if(MKEY==0) //0~9数字循环显示
1163 2 {
1164 3 Delay_ms(5);
1165 3 if(MKEY==0)
1166 3 {
1167 4 j++;
1168 4 if(j>9) j=0;
1169 4 WritData(0xa3);
1170 4 WritData(0xb0+j); //显示下个数
1171 4 WritCommand(0x10);
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 20
1172 4 while(1)
1173 4 {
1174 5 if(MKEY==1) break;
1175 5 }
1176 4 }
1177 3 }
1178 2 if(RKEY==0) //进入下一个位置选择
1179 2 {
1180 3 Delay_ms(10); //延时去抖动
1181 3 if(RKEY==0)
1182 3 {
1183 4 CodeN[k]=j;
1184 4 WritCommand(0x14);
1185 4 k++;
1186 4 if(k>=3)
1187 4 {k=0;WritCommand(0x94);}
1188 4 WritData(0xa3);
1189 4 WritData(0xb0);
1190 4 WritCommand(0x10);
1191 4 j=0;
1192 4 while(1)
1193 4 {
1194 5 if(RKEY==1) break;
1195 5 }
1196 4
1197 4 }
1198 3 }
1199 2 ShowTime();
1200 2 WritCommand(0x94+k);
1201 2 Delay_ms(10);
1202 2 }
1203 1 k=CodeN[0]*100+CodeN[1]*10+CodeN[2];
1204 1 pdx++;
1205 1 *pdx=k;
1206 1 }
1207
1208 void RobSet1(void) //填写 不填 继续
1209 {
1210 1 uchar i;
1211 1 WritCommand(0x0c);
1212 1 ShowPart14();
1213 1 while(1)
1214 1 {
1215 2 if(LKEY==0) //填写则把刚输入完的数据写入外部RAM中
1216 2 {
1217 3 Delay_ms(10);
1218 3 if(LKEY==0)
1219 3 {
1220 4 while(1)
1221 4 {
1222 5 if(LKEY==1) break;
1223 5 }
1224 4 pdx=0x0100;
1225 4 i=*pdx;
1226 4 *pdx=i+1;
1227 4 break;
1228 4 }
1229 3 } //不填则放弃刚设定的数据
1230 2 if(MKEY==0)
1231 2 {
1232 3 Delay_ms(10);
1233 3 if(MKEY==0)
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 21
1234 3 {
1235 4
1236 4 RobSetNext();
1237 4
1238 4 while(1)
1239 4 {
1240 5 if(LKEY==1) break;
1241 5 }
1242 4 break;
1243 4 }
1244 3 }
1245 2 if(RKEY==0) //继续输入下一个向量的设定
1246 2 {
1247 3 Delay_ms(10); //延时去抖动
1248 3 if(RKEY==0)
1249 3 {
1250 4 RobSetNext();
1251 4 }
1252 3 }
1253 2 ShowTime();
1254 2 Delay_ms(10);
1255 2 }
1256 1 }
1257
1258
1259 ////}////////////////////////////////////////////防盗设置
1260
1261 void StealSet(void)
1262 {
1263 1 uchar j;
1264 1 // uchar CodeN[2];
1265 1 WritCommand(0x01); //清零
1266 1 WritCommand(0x0c);
1267 1 WritCommand(0x92);
1268 1 WritData(0xb7);WritData(0xc0);WritData(0xb5);WritData(0xc1); //防盗设置
1269 1 WritData(0xc9);WritData(0xe8);WritData(0xd6);WritData(0xc3);
1270 1
1271 1 ShowPart5(); //进入 另选
1272 1 while(1)
1273 1 {
1274 2 if(RKEY==0)
1275 2 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -