📄 time.lst
字号:
C51 COMPILER V7.50 TIME 09/08/2008 16:11:54 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TIME
OBJECT MODULE PLACED IN time.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE time.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2
3 extern void InitT0(void);
4 extern unsigned char DispBuf[6];
5 unsigned char Buffer[6];
6 extern bit xTim,xKey;
7 extern unsigned char VOICE=1;
8 extern void KeyPro(void);
9 extern unsigned char KeySts;
10
11 unsigned char sec,min,hour;
12 unsigned char code table[16] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86
-,0x8E};
13
14 void TimUpdate(void)
15 {
16 1 if(++sec==60)
17 1 {
18 2 sec = 0;
19 2 if(++min==60)
20 2 {
21 3 min = 0;
22 3 if(++hour == 24) hour = 0;
23 3 }
24 2 }
25 1 }
26 void DisplayTim()
27 {
28 1 DispBuf[0] = table[sec%10];
29 1 DispBuf[1] = table[sec/10];
30 1 DispBuf[2] = table[min%10];
31 1 DispBuf[3] = table[min/10];
32 1 DispBuf[4] = table[hour%10];
33 1 DispBuf[5] = table[hour/10];
34 1 }
35
36 void main(void)
37 {
38 1 unsigned char i,x;x=1;
39 1 for (i=0;i<6;i++) DispBuf[i] = 0xFF;
40 1 sec = 0;
41 1 min = 0;
42 1 hour = 0;
43 1 InitT0();
44 1 KeySts = 0; // 初始状态
45 1 while(1)
46 1 {
47 2
48 2 if((sec==0)&&(min==0))
49 2 {
50 3 VOICE=0;
51 3 VOICE=1;
52 3 }
53 2 if(xTim && (KeySts==0))
54 2 {
C51 COMPILER V7.50 TIME 09/08/2008 16:11:54 PAGE 2
55 3 xTim = 0;
56 3 TimUpdate();
57 3 DisplayTim();
58 3 P1 = ~x;
59 3 x <<= 1;
60 3 if (x==0) x = 1;
61 3
62 3 }
63 2 if(xKey)
64 2 {
65 3 xKey = 0;
66 3 KeyPro();
67 3 }
68 2 }
69 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 177 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 1
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 + -