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

📄 2402test.lst

📁 时钟是用微控制器
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -