?? main.lst
字號(hào):
C51 COMPILER V8.02 MAIN 04/26/2008 21:37:30 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil1\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2
3 #include "ds18b20.h"
4 #include "lcd.h"
5 #include "uart.h"
6 #include "datetime.h"
7 #include "keyboard.h"
8 #include "os.h"
9 #include "voice.h"
10 #include "REGX51.H"
11
12
13
14 void main(void)
15 {
16 1 BYTE gt;
17 1
18 1 // uartInit();
19 1 dttInit();
20 1 lcdInit();
21 1 vocInit();
22 1 EA = 1;
23 1
24 1 osBootLogo();
25 1 gt = UIGT_DESKTOP;
26 1
27 1 while (1)
28 1 {
29 2 switch (gt)
30 2 {
31 3 case UIGT_DESKTOP:
32 3 osDesktop();
33 3 gt = UIGT_MENU;
34 3 break;
35 3 case UIGT_SEL_SER_DEVICE:
36 3 osSelectSearchDevice();
37 3 gt = UIGT_DESKTOP;
38 3 break;
39 3 case UIGT_MENU:
40 3 gt = osMenu();
41 3 break;
42 3 case UIGT_SET_DATETIME:
43 3 osSetDateTime();
44 3 gt = UIGT_DESKTOP;
45 3 break;
46 3 case UIGT_SET_ALARM:
47 3 osSetAlarm();
48 3 gt = UIGT_DESKTOP;
49 3 break;
50 3 case UIGT_SET_VOICE:
51 3 osSetVoice();
52 3 gt = UIGT_DESKTOP;
53 3 break;
54 3 default:
55 3 gt = UIGT_DESKTOP;
C51 COMPILER V8.02 MAIN 04/26/2008 21:37:30 PAGE 2
56 3 }
57 2 }
58 1 }
59
60
61
62 /////////////////////////////////////////////////////////////////////////
63
64
65
66
67 void ConvertCtoF(TEMPE* pT)
68 {
69 1 BYTE tmp;
70 1 short* pShort;
71 1
72 1 tmp = pT->th;
73 1 pT->th = pT->tl;
74 1 pT->tl = tmp;
75 1
76 1 pShort =(short*) pT;
77 1 *pShort *= 9;
78 1 *pShort /= 5;
79 1 *pShort += (32*16);
80 1
81 1 tmp = pT->th;
82 1 pT->th = pT->tl;
83 1 pT->tl = tmp;
84 1 }
85 /*
86 void ConvertFtoC(TEMPE* pT)
87 {
88 short* pShort = pT;
89 pShort[0] = ((pShort[0] - 32) * 5) / 9;
90 }
91 */
92
93 void DelayX1ms(BYTE x1ms)
94 {
95 1 BYTE i,j,k;
96 1
97 1 for (i=0;i<x1ms;i++)
98 1 for (j=0;j<83;j++)
99 1 for (k=0;k<2;k++) ;
100 1 }
101
102 /*
103 void FormatTempeToStr(TEMPE* pT, char* pBuf)
104 //buf must great than 7
105 //-mmm.nn
106 {
107 BYTE m,n;
108 // 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
109 const BYTE code div[] = { 00, 06, 13, 19, 25, 31, 38, 44, 50, 56, 63, 69, 75, 81, 88,
- 94, };
110 // const BYTE -div[] = { 94, 88, 81, 75, 69, 63, 56, 50, 44, 38, 31, 25, 19, 16, 06, 00, }
-; //正的倒序
111
112
113 m = ((pT->th << 4) & 0xf0) | ((pT->tl >> 4) & 0x0f);
114
115 if (pT->th & 0x80)
C51 COMPILER V8.02 MAIN 04/26/2008 21:37:30 PAGE 3
116 {
117 pBuf[0] = '-';
118 m = ~m;
119 n = div[(16 - pT->tl) & 0x0f];
120 }
121 else
122 {
123 pBuf[0] = '+';
124 n = div[pT->tl & 0x0f];
125 }
126
127 pBuf[1] = '0' + (m/100); m%=100;
128 pBuf[2] = '0' + (m/10); m%=10;
129 pBuf[3] = '0' + m;
130
131 pBuf[4] = '.';
132
133 pBuf[5] = '0' + (n / 10);
134 pBuf[6] = '0' + (n % 10);
135 pBuf[7] = 0;
136 }
137
138
139 BYTE FormatStrToByte(char* pBuf)
140 {
141 BYTE rt,i,v;
142
143 rt = 0;
144 i = 0;
145
146 while (pBuf[i])
147 {
148 v = pBuf[i];
149 v -= '0';
150 if (v < 10)
151 {
152 rt *= 10;
153 rt += pBuf[i];
154 }
155 else
156 {
157 break;
158 }
159 i++;
160 if (i>100) break;
161 }
162
163 return rt;
164 }
165
166
167 void FormatHexToStr(BYTE n, char* pBuf)
168 {
169 pBuf[0] = (n >> 4) & 0x0f;
170 pBuf[1] = n & 0x0f;
172
173 if (pBuf[0] < 0x0a) pBuf[0] += '0';
174 else pBuf[0] += ('A' - 0x0a);
175
176 if (pBuf[1] < 0x0a) pBuf[1] += '0';
177 else pBuf[1] += ('A' - 0x0a);
C51 COMPILER V8.02 MAIN 04/26/2008 21:37:30 PAGE 4
178 }
179
180
181 char* FormatUIntToStr(BYTE n, char* pBuf, BIT bKillZero) //buf must great than 4
182 {
183 char* rt;
184
185 pBuf[3] = 0;
186 pBuf[2] = '0' + (n % 10); n /= 10;
187 pBuf[1] = '0' + (n % 10); n /= 10;
188 pBuf[0] = '0' + n;
189
190 rt = pBuf;
191 while (bKillZero && rt<pBuf+2)
192 {
193 if (rt[0]=='0')
194 {
195 rt[0]=' ';
196 rt++;
197 }
198 else
199 {
200 break;
201 }
202 }
203
204 return rt;
205 }
206 */
207
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 227 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -