?? main.lst
字號(hào):
C51 COMPILER V7.50 MAIN 06/30/2008 23:35:47 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Edu\Software\Keil\C51\BIN\C51.EXE main.c BROWSE NOAREGS INCDIR(..\common) DEBUG OBJECTEXTEND
line level source
1
2 /*
3 ****************************************************
4
5
6
7 ****************************************************
8 */
9
10 #include <reg52.H>
11 #include "Typedef.H"
12 #include "UserDef.H"
13 #include "Disp.H"
14 #include "comu485.h"
15 #include "Keypad.H"
16
17 /* 全局變量 */
18 bit bDispRef = FALSE; //信號(hào)燈:顯示更新時(shí)間到
19 bit bKeyScan = FALSE; //信號(hào)燈:鍵盤掃描時(shí)間到
20 INT8U KeyVal = VK_NULL; //按鍵值
21 INT8U comu_send[8];
22 INT8U comu_send_len = 0;
23
24 /* 函數(shù) */
25 void KeyboardDeal(void);
26
27 /***************************************
28
29
30
31 ****************************************/
32 void main(void)
33 {
34 1 INT8U i;
35 1
36 1 //初始化
37 1 TMOD = 0x11;
38 1 TH0 = (INT8U)(KTDLY>>8);
39 1 TL0 = (INT8U)(KTDLY);
40 1 TR0 = 1;
41 1
42 1 comu_init('0');
43 1
44 1 ET0 = 1;
45 1 EA = 1;
46 1
47 1 DispInit(); //LCD初始化
48 1
49 1 /* LCD清屏 */
50 1 DispCls();
51 1
52 1 /* 顯示固定的文字 */
53 1 DispFontSet(1);
54 1 DispXYSet(0,0);
55 1 DispStr(" Comu Test");
C51 COMPILER V7.50 MAIN 06/30/2008 23:35:47 PAGE 2
56 1
57 1 DispFontSet(1);
58 1 DispXYSet(3,0);
59 1 DispStr("Send =");
60 1 DispXYSet(5,0);
61 1 DispStr("Recv =");
62 1
63 1
64 1
65 1 while(TRUE)
66 1 {
67 2 /* 鍵盤 */
68 2 if (bKeyScan == TRUE)
69 2 {
70 3 bKeyScan = FALSE;
71 3 KeyboardDeal();
72 3 }
73 2 /* 顯示掃描刷新,輸出可變的文字 */
74 2 if (bDispRef == TRUE)
75 2 {
76 3 bDispRef = FALSE;
77 3
78 3 DispXYSet(3,60);
79 3 for (i=0;i<8;i++)
80 3 {
81 4 if (i>=comu_send_len)
82 4 {
83 5 DispChr(' ');
84 5 }
85 4 else
86 4 {
87 5 DispChr(comu_send[i]);
88 5 }
89 4 }
90 3
91 3 DispXYSet(5,60);
92 3 for (i=0;i<8;i++)
93 3 {
94 4 if (i>=comu_recv_len)
95 4 {
96 5 DispChr(' ');
97 5 }
98 4 else
99 4 {
100 5 DispChr(Rxbuf[i]);
101 5 }
102 4 }
103 3 }
104 2 }
105 1 }
106
107
108
109
110 /*************************************
111
112 定時(shí)器中斷程序
113
114 **************************************/
115 void int_t0(void) interrupt 1 using 1
116 {
117 1 static int cnt = 0;
C51 COMPILER V7.50 MAIN 06/30/2008 23:35:47 PAGE 3
118 1
119 1 TH0 = (unsigned char)(KTDLY>>8);
120 1 TL0 = (unsigned char)(KTDLY);
121 1
122 1 cnt ++;
123 1
124 1 /* 鍵盤掃描信號(hào)燈 */
125 1 if ((cnt % T_KEYSCAN) == 0)
126 1 {
127 2 bKeyScan = TRUE;
128 2 }
129 1
130 1 /* 顯示掃描信號(hào)燈 */
131 1 if ((cnt % T_DISPREF) == 0)
132 1 {
133 2 bDispRef = TRUE;
134 2 }
135 1 }
136
137
138 /*************************************
139
140 鍵盤處理
141
142 **************************************/
143 void KeyboardDeal(void)
144 {
145 1 INT8U n;
146 1
147 1 n = Keypad_GetKey();
148 1 if (n != KeyVal)
149 1 {
150 2 KeyVal = n;
151 2 if (n != VK_NULL)
152 2 {
153 3 if ((n>=VK_0) && (n<=VK_9))
154 3 {
155 4 comu_send[comu_send_len] = n-VK_0+'0'; /* 數(shù)字按鍵:直接存入發(fā)送數(shù)組 */
156 4 comu_send_len ++;
157 4 }
158 3 else if (n==VK_EQU) /* 等于:將現(xiàn)有的數(shù)據(jù)發(fā)送 */
159 3 {
160 4 comu485_send_packet(comu_send,comu_send_len);
161 4 comu_recv_len = 0;
162 4 }
163 3 else if (n == VK_CLR) /* ON/C鍵:將發(fā)送數(shù)據(jù)清零 */
164 3 {
165 4 comu_send_len = 0;
166 4 }
167 3 }
168 2 }
169 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 319 ----
CONSTANT SIZE = 27 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 2
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
C51 COMPILER V7.50 MAIN 06/30/2008 23:35:47 PAGE 4
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -