📄 2402test.lst
字号:
C51 COMPILER V8.05a 2402TEST 07/02/2008 20:45:43 PAGE 18
1048 4 if(DT>=0x00&&DT<0x0a)
1049 4 {
1050 5 uint16 i;
1051 5 uint8 n=0,x=0xff,y=0xff;
1052 5 LCM2402_Init(); //LCM2402初始化
1053 5 for(i=0;i<500;i++)
1054 5 {
1055 6 print(0x83,"{ Controller NO. }");
1056 6 print(0xc3,"{------ ");
1057 6 print(0xcd," ------}");
1058 6 if(DT>=0x00&&DT<0x0a)
1059 6 {
1060 7 switch(n)
1061 7 {
1062 8 case 0: x=DT;
1063 8 n++;
1064 8 i=0;
1065 8 break;
1066 8 case 1: y=DT;
1067 8 n--;
1068 8 i=0;
1069 8 break;
1070 8 }
1071 7 print2(0xcb,x%16+0x30);
1072 7 print2(0xcc,y%16+0x30);
1073 7 beep_k();
1074 7 DelayS250();
1075 7 DT=0xff;
1076 7 }
1077 6 if(DT==0x4C)
1078 6 {
1079 7 print(0xca,"OK");
1080 7 //ALARMing(i); //** 闹钟和无线遥控的键值处理 **
1081 7 DelayS250();
1082 7 beep_y();
1083 7 DT=0xff;
1084 7 }
1085 6 }
1086 5 }
1087 4 if(DT>0x12&&DT<0x17) //当按定时加减查看的几个键时会进入定时查看菜单
1088 4 {
1089 5 beep_y();
1090 5 menu=2;
1091 5 }
1092 4 switch(DT) //定时动作选择:0 全关 1 只开闹钟 2 只开控制动作 3 全开
1093 4 {
1094 5 uint8 alarm_bit;
1095 5 case 0x1c: beep_y();
1096 5 menu=1;
1097 5 break;
1098 5 case 0x2F: beep_y();
1099 5 menu=99;
1100 5 break;
1101 5 case 0x19: {
1102 6 alarm_bit++;
1103 6 if(alarm_bit>3)
1104 6 {
1105 7 alarm_bit=0;
1106 7 };
1107 6 AT24C02_Write1Byte(0x03,alarm_bit);
1108 6 DelayS(500);
1109 6 beep_y();
C51 COMPILER V8.05a 2402TEST 07/02/2008 20:45:43 PAGE 19
1110 6 break;
1111 6 }
1112 5 default:DT=0xff;
1113 5 break;
1114 5 }
1115 4 LCM2402_Init(); //LCM2402初始化
1116 4 DT=0xff;
1117 4 }
1118 3 }
1119 2 //------------------1 是否调时?-----------------------------------------------------------
1120 2 if(menu==1)
1121 2 {
1122 3 print(0x82,"Set The Real Time");
1123 3 print(0xc2,"PP: Set AV: Exit");
1124 3 if(DT!=0xff)
1125 3 {
1126 4 switch(DT)
1127 4 {
1128 5 case 0x1D: beep_n();
1129 5 menu = 0;
1130 5 break;
1131 5 case 0x1B: beep_y();
1132 5 menu=11;
1133 5 break;
1134 5 default:DT=0xff;
1135 5 break;
1136 5 }
1137 4 LCM2402_Init(); //LCM2402初始化
1138 4 DT=0xff;
1139 4 }
1140 3 }
1141 2 //------------------2 定时查看-----------------------------------------------------------
1142 2 if(menu == 2)
1143 2 {
1144 3 alarm_Display(); //在第一行显示定时部分
1145 3 print(0xc3,"Alarm NO.");
1146 3 print2(0xcc,0x30+rom/10);
1147 3 print2(0xcd,0x30+rom%10);
1148 3 print(0xcf,"STORE:Set");
1149 3 if(DT!=0xff)
1150 3 {
1151 4 switch(DT)
1152 4 {
1153 5 case 0x18: beep_y();
1154 5 menu=12;
1155 5 break;
1156 5 case 0x13: beep_k();
1157 5 rom++;
1158 5 break;
1159 5 case 0x14: beep_k();
1160 5 rom--;
1161 5 break;
1162 5 case 0x15: beep_k();
1163 5 rom=rom+5;
1164 5 break;
1165 5 case 0x16: beep_k();
1166 5 rom=rom-5;
1167 5 break;
1168 5 case 0x1D: beep_n();
1169 5 menu=0;
1170 5 break;
1171 5 default:DT=0xff;
C51 COMPILER V8.05a 2402TEST 07/02/2008 20:45:43 PAGE 20
1172 5 break;
1173 5 }
1174 4 if(rom>24&&rom<100)
1175 4 {
1176 5 rom=0;
1177 5 }
1178 4 if(rom>200)
1179 4 {
1180 5 rom=24;
1181 5 }
1182 4 LCM2402_Init(); //LCM2402初始化
1183 4 DT=0xff;
1184 4 }
1185 3 }
1186 2 //------------------99 帮助菜单-----------------------------------------------------------
1187 2 if(menu==99)
1188 2 {
1189 3 uint8 i;
1190 3 if (DT!=0xff)
1191 3 {
1192 4 if(DT==0x2F)
1193 4 {
1194 5 i++;
1195 5 if(i>9)
1196 5 {
1197 6 i=0;
1198 6 }
1199 5 DelayS(500);
1200 5 beep_k();
1201 5 }
1202 4 if(DT==0x1D)
1203 4 {
1204 5 i=0;
1205 5 beep_n();
1206 5 menu=0;
1207 5 }
1208 4 LCM2402_Init(); //LCM2402初始化
1209 4 DT=0xff;
1210 4 }
1211 3 switch(i)
1212 3 {
1213 4 case 0: print(0x80,"MUTE: Help & Next Page");
1214 4 print(0xc0," AV : Exit Help");
1215 4 break;
1216 4 case 1: print(0x80,"SLEEP: Set The Real Time");
1217 4 print(0xc0," PP : Set Time");
1218 4 break;
1219 4 case 2: print(0x80,"F.T.+/-: Set The Alarm");
1220 4 print(0xc0," STORE : Set Alarm");
1221 4 break;
1222 4 case 3: print(0x80," PR.+/-: Alarm No. +/-1");
1223 4 print(0xc0,"F.T.+/-: Alarm No. +/-5");
1224 4 break;
1225 4 case 4: print(0x80,"VOL+/-: Right/Left Move");
1226 4 print(0xc0," -/-- : Right Jumping");
1227 4 break;
1228 4 case 5: print(0x80,"SEARCH: Alarm Set to ??");
1229 4 print(0xc0," 00~99: Controller NO.");
1230 4 break;
1231 4 case 6: print(0x80," AV : Exit & Confirm");
1232 4 print(0xc0,"RECALL: !AL0 ~ !AL3");
1233 4 break;
C51 COMPILER V8.05a 2402TEST 07/02/2008 20:45:43 PAGE 21
1234 4 case 7: print(0x80,"!AL0: Beep & Alarm OFF");
1235 4 print(0xc0,"!AL1: Only Beep ON");
1236 4 break;
1237 4 case 8: print(0x80,"!AL2: Only Alarm ON");
1238 4 print(0xc0,"!AL3: Beep & Alarm ON");
1239 4 break;
1240 4 case 9: print(0x81,"Sun-2402C eClock V0.01");
1241 4 print(0xc0,"5isun@live.cn 2008-06-08");
1242 4 break;
1243 4 default:break;
1244 4 }
1245 3 }
1246 2 //------------------11 调时输入-----------------------------------------------------------
1247 2 if(menu==11)
1248 2 {
1249 3 static unsigned char i=0;
1250 3 bit k; //定义静态
1251 3 RealTime_Display(); //在第一行显示时间部分
1252 3 for(i=1;i<8;) //8个时钟数据的循环加位
1253 3 {
1254 4 switch(i) //显示设置项的说明
1255 4 {
1256 5 case 7:print(0xc0,"AV:Exit Second 00~59 ^^");
1257 5 break;
1258 5 case 6:print(0xc5,"Minute 00~59 ^^");
1259 5 break;
1260 5 case 5:print(0xc4,"Hour 00~23 ^^");
1261 5 break;
1262 5 case 4:print(0xc3,"AV:Exit ^ Week 1~7");
1263 5 break;
1264 5 case 3:print(0xc8,"^^ Date 01~31");
1265 5 break;
1266 5 case 2:print(0xc5,"^^ Month 01~12");
1267 5 break;
1268 5 case 1:print(0xc2,"^^ Year 00~99 AV:Exit");
1269 5 break;
1270 5 }
1271 4 print(0x80,"20");
1272 4 if(DT>=0x00&&DT<0x0a) //DT办数据键码时动作
1273 4 {
1274 5 if(i==4) //如果是星期设置则不必输入“十位”数据
1275 5 {
1276 6 k=1;
1277 6 }
1278 5 Set_time(i,k); //在这里调用写时间的程序项
1279 5 if(k==0) //第一次按键输入到“十位”
1280 5 {
1281 6 k=1;
1282 6 }
1283 5 else //否则是第二次按键,输入到“个位”
1284 5 {
1285 6 k=0;
1286 6 i++;
1287 6 }
1288 5 LRDD(); //清屏+刷新显示+延时+清空DT 一体函数
1289 5 beep_k();
1290 5 }
1291 4 if(DT==0x11||DT==0x17)
1292 4 {
1293 5 i++;
1294 5 LRDD();
1295 5 beep_y();
C51 COMPILER V8.05a 2402TEST 07/02/2008 20:45:43 PAGE 22
1296 5 }
1297 4 if(DT==0x1A)
1298 4 {
1299 5 i--;
1300 5 if(i<1)
1301 5 {
1302 6 i=7;
1303 6 };
1304 5 LRDD();
1305 5 beep_y();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -