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

📄 clock.lst

📁 利用89s51去寫結構化keil-C 4x4鍵盤掃描+LCD螢幕顯示 HW01:四則運算+時鍾顯示 HW02:頻率偵測器 ps.鍵盤掃描不是利用延遲作彈跳(推薦)
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.08   CLOCK                                                                 04/11/2009 12:53:53 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE CLOCK
OBJECT MODULE PLACED IN .\Out\Clock.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SourceFile\Clock.c BROWSE DEFINE(_HW01_) DEBUG OBJECTEXTEND PRINT(.\Lst\Clo
                    -ck.lst) OBJECT(.\Out\Clock.obj)

line level    source

   1          
   2          #include "Clock.h"
   3          
   4          
   5          ///////////////////////////////////////////////////////////////////////////
   6          // Constant
   7          
   8          
   9          ///////////////////////////////////////////////////////////////////////////
  10          // Variable
  11          BYTE bdata      g_bfTimer;
  12          sbit g_bfTimerMSec = g_bfTimer^0;
  13          sbit g_bfTimerSec = g_bfTimer^1;
  14          sbit g_bfTimerMin = g_bfTimer^2;
  15          sbit g_bfTimerHr = g_bfTimer^3;
  16          sbit g_bfTimerDay = g_bfTimer^4;
  17          sbit g_bfTimerMon = g_bfTimer^5;
  18          sbit g_bfTimerYear = g_bfTimer^6;
  19          BYTE bdata      g_bfDispClk;
  20          sbit g_bfDispClkMSec = g_bfDispClk^0;
  21          sbit g_bfDispClkSec = g_bfDispClk^1;
  22          sbit g_bfDispClkMin = g_bfDispClk^2;
  23          sbit g_bfDispClkHr = g_bfDispClk^3;
  24          sbit g_bfDispClkDay = g_bfDispClk^4;
  25          sbit g_bfDispClkMon = g_bfDispClk^5;
  26          sbit g_bfDispClkYear = g_bfDispClk^6;
  27          
  28          BYTE data g_bClkHr, g_bClkMin, g_bClkSec;
  29          BYTE data g_bAdjHr, g_bAdjMin, g_bAdjSec;
  30          //BYTE data g_bClkYear, g_bClkMon, g_bClkDay;
  31          BYTE data g_bfAdjStatus=0;
  32          
  33          
  34          ///////////////////////////////////////////////////////////////////////////
  35          // Function
  36          void fnCLK_InitClock(void)
  37          {
  38   1              g_bClkHr = 23;
  39   1              g_bClkMin = 59;
  40   1              g_bClkSec = 58;
  41   1      }
  42          
  43          
  44          void fnCLK_Clock(void)
  45          {
  46   1              if(g_bfTimerSec){
  47   2                      g_bfTimerSec = 0;
  48   2                      g_bfDispClkSec = 1;
  49   2                      if(g_bClkSec >= 59){
  50   3                              g_bfTimerMin = 1;
  51   3                              g_bClkSec = 0;
  52   3                      }else{
  53   3                              g_bClkSec++;
  54   3                      }
C51 COMPILER V8.08   CLOCK                                                                 04/11/2009 12:53:53 PAGE 2   

  55   2              } else if(g_bfTimerMin){
  56   2                      g_bfTimerMin = 0;
  57   2                      g_bfDispClkMin = 1;
  58   2                      if(g_bClkMin >= 59){
  59   3                              g_bfTimerHr = 1;
  60   3                              g_bClkMin = 0;
  61   3                      }else{
  62   3                              g_bClkMin++;
  63   3                      }
  64   2              } else if(g_bfTimerHr){
  65   2                      g_bfTimerHr = 0;
  66   2                      g_bfDispClkHr = 1;
  67   2                      if(g_bClkHr >= 23){
  68   3                              //g_bfTimerDay = 1;
  69   3                              g_bClkHr = 0;
  70   3                      }else{
  71   3                              g_bClkHr++;
  72   3                      }
  73   2      //      } else if(g_bfTimerDay){
  74   2      //              g_bfTimerDay = 0;
  75   2      //      } else if(g_bfTimerMon){
  76   2      //              g_bfTimerMon = 0;
  77   2      //      } else if(g_bfTimerYear){
  78   2      //              g_bfTimerYear = 0;
  79   2              } else{
  80   2                      g_bfTimer = 0;
  81   2                      return;
  82   2              }
  83   1      }
  84          
  85          void fnCLK_DispClk(void)
  86          {
  87   1              if(g_bfDispClkSec){
  88   2                      g_bfDispClkSec = 0;
  89   2                      fnDISP_Str(LOCAL_11, ":");
  90   2                      if(g_bClkSec <= 9){
  91   3                              fnDISP_Str(LOCAL_12, "0");
  92   3                              fnDISP_Int(LOCAL_13, g_bClkSec);
  93   3                      } else {
  94   3                              fnDISP_Int(LOCAL_12, g_bClkSec);
  95   3                      }
  96   2              } else if(g_bfDispClkMin) {
  97   2                      g_bfDispClkMin = 0;
  98   2                      fnDISP_Str(LOCAL_08, ":");
  99   2                      if(g_bClkMin <= 9){
 100   3                              fnDISP_Str(LOCAL_09, "0");
 101   3                              fnDISP_Int(LOCAL_10, g_bClkMin);
 102   3                      } else {
 103   3                              fnDISP_Int(LOCAL_09, g_bClkMin);
 104   3                      }
 105   2              } else if(g_bfDispClkHr) {
 106   2                      g_bfDispClkHr = 0;
 107   2                      fnDISP_Str(LOCAL_01, "Time:");
 108   2                      //fnDISP_Str(LOCAL_05, ":");
 109   2                      if(g_bClkHr <= 9){
 110   3                              fnDISP_Str(LOCAL_06, "0");
 111   3                              fnDISP_Int(LOCAL_07, g_bClkHr);
 112   3                      } else {
 113   3                              fnDISP_Int(LOCAL_06, g_bClkHr);
 114   3                      }
 115   2                      if(g_bClkHr >=12){
 116   3                              fnDISP_Str(LOCAL_14, "PM");
C51 COMPILER V8.08   CLOCK                                                                 04/11/2009 12:53:53 PAGE 3   

 117   3                      } else {
 118   3                              fnDISP_Str(LOCAL_14, "AM");
 119   3                      }
 120   2              //} else if(g_bfDispClkDay) {
 121   2              //      g_bfDispClkDay = 0;
 122   2              //} else if(g_bfDispClkMon) {
 123   2              //      g_bfDispClkMon = 0;
 124   2              //} else if(g_bfDispClkYear) {
 125   2              //      g_bfDispClkYear = 0;
 126   2              }
 127   1      }
 128          
 129          void fnCLK_InitAdjClk(void)
 130          {
 131   1              g_bAdjHr = g_bClkHr;
 132   1              g_bAdjMin = g_bClkMin;
 133   1              g_bAdjSec = g_bClkSec;
 134   1      }
 135          
 136          void fnCLK_AdjClk(void)
 137          {
 138   1              if((g_bKeyValueOld >= 10) && (g_bKeyValueOld != 15)){
 139   2                      return;
 140   2              }else if( g_bKeyValueOld == 15){
 141   2                      g_bfAdjStatus = ADJ_SET;
 142   2              }
 143   1              switch(g_bfAdjStatus)
 144   1              {
 145   2                      case ADJHR_HI:
 146   2                              //fnDISP_SetAddr(LOCAL_09);
 147   2                              //fnDISP_CursorGleam();
 148   2                              if(g_bKeyValueOld <= 2){
 149   3                                      g_bAdjHr = (g_bKeyValueOld * 10);
 150   3                                      g_bfAdjStatus = ADJHR_LO;
 151   3                                      fnDISP_Int(LOCAL_08, g_bKeyValueOld);
 152   3                              } else {
 153   3                                      g_bAdjHr = g_bKeyValueOld;
 154   3                                      g_bfAdjStatus = ADJMIN_HI;
 155   3                                      fnDISP_Str(LOCAL_08, "0");

⌨️ 快捷键说明

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