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

📄 clock.lst

📁 利用89s51去寫結構化keil-C 4x4鍵盤掃描+LCD螢幕顯示 HW01:四則運算+時鍾顯示 HW02:頻率偵測器 ps.鍵盤掃描不是利用延遲作彈跳(推薦)
💻 LST
📖 第 1 页 / 共 2 页
字号:
 156   3                                      fnDISP_Int(LOCAL_09, g_bKeyValueOld);
 157   3                                      fnDISP_Str(LOCAL_10, ":");
 158   3                              }
 159   2                              break;
 160   2                      case ADJHR_LO:
 161   2                              if(g_bKeyValueOld <= 3){
 162   3                                      g_bAdjHr += g_bKeyValueOld;
 163   3                                      g_bfAdjStatus = ADJMIN_HI;
 164   3                                      fnDISP_Int(LOCAL_09, g_bKeyValueOld);
 165   3                                      fnDISP_Str(LOCAL_10, ":");
 166   3                              }
 167   2                              break;
 168   2                      case ADJMIN_HI:
 169   2                              //fnDISP_SetAddr(LOCAL_12);
 170   2                              //fnDISP_CursorGleam();
 171   2                              if(g_bKeyValueOld <= 5){
 172   3                                      g_bAdjMin = (g_bKeyValueOld * 10);
 173   3                                      g_bfAdjStatus = ADJMIN_LO;
 174   3                                      fnDISP_Int(LOCAL_11, g_bKeyValueOld);
 175   3                              } else {
 176   3                                      g_bAdjMin = g_bKeyValueOld;
 177   3                                      g_bfAdjStatus = ADJSEC_HI;
 178   3                                      fnDISP_Str(LOCAL_11, "0");
C51 COMPILER V8.08   CLOCK                                                                 04/11/2009 12:53:53 PAGE 4   

 179   3                                      fnDISP_Int(LOCAL_12, g_bKeyValueOld);
 180   3                                      fnDISP_Str(LOCAL_13, ":");
 181   3                              }
 182   2                              break;
 183   2                      case ADJMIN_LO:
 184   2                              if(g_bKeyValueOld <= 9){
 185   3                                      g_bAdjMin += g_bKeyValueOld;
 186   3                                      g_bfAdjStatus = ADJSEC_HI;
 187   3                                      fnDISP_Int(LOCAL_12, g_bKeyValueOld);
 188   3                                      fnDISP_Str(LOCAL_13, ":");
 189   3                              }
 190   2                              break;
 191   2                      case ADJSEC_HI:
 192   2                              //fnDISP_SetAddr(LOCAL_15);
 193   2                              //fnDISP_CursorGleam();
 194   2                              if(g_bKeyValueOld <= 5){
 195   3                                      g_bAdjSec = (g_bKeyValueOld * 10);
 196   3                                      g_bfAdjStatus = ADJSEC_LO;
 197   3                                      fnDISP_Int(LOCAL_14, g_bKeyValueOld);
 198   3                              } else {
 199   3                                      g_bAdjSec = g_bKeyValueOld;
 200   3                                      g_bfAdjStatus = ADJ_SET;
 201   3                                      fnDISP_Str(LOCAL_14, "0");
 202   3                                      fnDISP_Int(LOCAL_15, g_bKeyValueOld);
 203   3                                      //fnDISP_Str(LOCAL_16, ":");
 204   3                              }
 205   2                              break;
 206   2                      case ADJSEC_LO:
 207   2                              if(g_bKeyValueOld <= 9){
 208   3                                      g_bAdjSec += g_bKeyValueOld;
 209   3                                      g_bfAdjStatus = ADJ_SET;
 210   3                                      fnDISP_Int(LOCAL_15, g_bKeyValueOld);
 211   3                                      //fnDISP_Str(LOCAL_16, ":");
 212   3                              }
 213   2                              break;
 214   2                      case ADJ_SET:
 215   2                              if(g_bKeyValueOld == 15){
 216   3                                      g_bClkHr = g_bAdjHr;
 217   3                                      g_bClkMin = g_bAdjMin;
 218   3                                      g_bClkSec = g_bAdjSec;
 219   3                                      g_bfAdjStatus = 0;
 220   3                                      g_bSYS_MODE = MODE_CLK;
 221   3                                      g_bfDispClk = 0x0E;
 222   3                                      //fnDISP_WrCmd(CLR_DISP);
 223   3                                      fnDISP_ClrDisp();
 224   3                                      //fnDISP_WrCmd(DISP_CTRL | DC_DISP_ON);
 225   3                                      fnDISP_TurnOnDisp();
 226   3                              }
 227   2                              break;
 228   2                      default:
 229   2                              break;
 230   2              }
 231   1      }
 232          
 233          
 234          void fnCLK_DispAdjClk(void)
 235          {
 236   1              if(g_bAdjHr <= 9 ){
 237   2                      fnDISP_Str(LOCAL_08, "0");
 238   2                      fnDISP_Int(LOCAL_09, g_bAdjHr);
 239   2              } else {
 240   2                      fnDISP_Int(LOCAL_08, g_bAdjHr);
C51 COMPILER V8.08   CLOCK                                                                 04/11/2009 12:53:53 PAGE 5   

 241   2              }
 242   1              if(g_bAdjMin <= 9 ){
 243   2                      fnDISP_Str(LOCAL_11, "0");
 244   2                      fnDISP_Int(LOCAL_12, g_bAdjMin);
 245   2              } else {
 246   2                      fnDISP_Int(LOCAL_11, g_bAdjMin);
 247   2              }
 248   1              if(g_bAdjSec <= 9 ){
 249   2                      fnDISP_Str(LOCAL_14, "0");
 250   2                      fnDISP_Int(LOCAL_15, g_bAdjSec);
 251   2              } else {
 252   2                      fnDISP_Int(LOCAL_14, g_bAdjSec);
 253   2              }
 254   1      /*
 255   1      //      if(g_bfAdjStatus){
 256   1              switch(g_bfAdjStatus)
 257   1              {
 258   1                      case ADJHR_HI:
 259   1                              //fnDISP_SetAddr(LOCAL_08);
 260   1                              if(g_bAdjHr <= 9 ){
 261   1                                      fnDISP_Str(LOCAL_08, "0");
 262   1                                      fnDISP_Int(LOCAL_09, g_bAdjHr);
 263   1                              } else {
 264   1                                      fnDISP_Int(LOCAL_08, g_bAdjHr)
 265   1                              }
 266   1                              fnDISP_Str(LOCAL_10, ":");
 267   1                              break;
 268   1                      case ADJHR_LO:
 269   1                              //fnDISP_SetAddr(LOCAL_09);
 270   1                              if(g_bAdjHr <= 9 ){
 271   1                                      fnDISP_Str(LOCAL_08, "0");
 272   1                                      fnDISP_Int(LOCAL_09, g_bAdjHr);
 273   1                              } else {
 274   1                                      fnDISP_Int(LOCAL_08, g_bAdjHr)
 275   1                              }
 276   1                              fnDISP_Str(LOCAL_10, ":");
 277   1                              break;
 278   1                      case ADJMIN_HI:
 279   1                              //fnDISP_SetAddr(LOCAL_11);
 280   1                              fnDISP_Int(LOCAL_11, g_bAdjMin);
 281   1                              break;
 282   1                      case ADJMIN_LO:
 283   1                              //fnDISP_SetAddr(LOCAL_12);
 284   1                              fnDISP_Int(LOCAL_11, g_bAdjMin);
 285   1                              break;
 286   1                      case ADJSEC_HI:
 287   1                              //fnDISP_SetAddr(LOCAL_14);
 288   1                              fnDISP_Int(LOCAL_14, g_bAdjSec);
 289   1                              break;
 290   1                      case ADJSEC_LO:
 291   1                              //fnDISP_SetAddr(LOCAL_15);
 292   1                              fnDISP_Int(LOCAL_14, g_bAdjSec);
 293   1                              break;
 294   1                      case ADJ_SET:
 295   1                              break;
 296   1                      default:
 297   1                              break;
 298   1              }
 299   1      //      }
 300   1      */
 301   1      }
 302          
C51 COMPILER V8.08   CLOCK                                                                 04/11/2009 12:53:53 PAGE 6   

 303          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    756    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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