📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 10/24/2007 00:01:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: F:\edu\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /*
3 ****************************************************
4
5
6
7 ****************************************************
8 */
9
10
11 #include <reg52.H>
12 #include "Typedef.H"
13 #include "UserDef.H"
14 #include "Keypad.H"
15 #include "Disp.H"
16 #include "Cacu.H"
17
18
19 /* 全局变量 */
20 INT8U KeyVal = VK_NULL; //按键值
21 bit bDispRef = FALSE; //信号灯:显示更新时间到
22 bit bKeyScan = FALSE; //信号灯:键盘扫描时间到
23
24 /* 函数 */
25 void KeyboardDeal(void);
26
27
28 /***************************************
29
30
31
32 ****************************************/
33 void main(void)
34 {
35 1
36 1 TMOD = 0x11;
37 1 TH0 = (unsigned char)(KTDLY>>8);
38 1 TL0 = (unsigned char)(KTDLY);
39 1 TR0 = 1;
40 1
41 1 ET0 = 1;
42 1
43 1 EA = 1;
44 1
45 1 DispInit();
46 1
47 1 DispCls();
48 1 // DispIntRight(0); //显示效果示范
49 1 // DispStr("Hello!",0,0,0);
50 1 DispFloat(0,0,0,8);
51 1 // DispInt(123,0,0,4);
52 1
53 1 while(TRUE)
54 1 {
55 2 /* 键盘 */
C51 COMPILER V7.50 MAIN 10/24/2007 00:01:09 PAGE 2
56 2 if (bKeyScan == TRUE)
57 2 {
58 3 bKeyScan = FALSE;
59 3 KeyboardDeal();
60 3 }
61 2
62 2 /* 显示扫描刷新 */
63 2 if (bDispRef == TRUE)
64 2 {
65 3 bDispRef = FALSE;
66 3 DispRef();
67 3 }
68 2 }
69 1 }
70
71
72
73
74 /*************************************
75
76 定时器中断程序
77
78 **************************************/
79 void int_t0(void) interrupt 1 using 1
80 {
81 1 static int cnt = 0;
82 1
83 1 TH0 = (unsigned char)(KTDLY>>8);
84 1 TL0 = (unsigned char)(KTDLY);
85 1
86 1 cnt ++;
87 1
88 1 /* 键盘扫描信号灯 */
89 1 if ((cnt % T_KEYSCAN) == 0)
90 1 {
91 2 bKeyScan = TRUE;
92 2 }
93 1
94 1 /* 显示扫描信号灯 */
95 1 if ((cnt % T_DISPREF) == 0)
96 1 {
97 2 bDispRef = TRUE;
98 2 }
99 1 }
100
101
102 /*************************************
103
104 键盘处理
105
106 **************************************/
107 void KeyboardDeal(void)
108 {
109 1 INT8U n;
110 1 float res;
111 1
112 1 n = Keypad_GetKey();
113 1 if (n != KeyVal)
114 1 {
115 2 KeyVal = n;
116 2 if (n != VK_NULL)
117 2 {
C51 COMPILER V7.50 MAIN 10/24/2007 00:01:09 PAGE 3
118 3 DispCls();
119 3 if (CacuInput(n,&res) == TRUE)
120 3 {
121 4 DispFloat(res,0,0,8);
122 4 }
123 3 else
124 3 {
125 4 DispStr("Error!",1,0,TRUE);
126 4 }
127 3 }
128 2 }
129 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 188 ----
CONSTANT SIZE = 7 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 5
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -