📄 clock.lst
字号:
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 + -