📄 tecclockzhicuankou.lst
字号:
C51 COMPILER V7.06 TECCLOCKZHICUANKOU 07/31/2008 22:35:04 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TECCLOCKZHICUANKOU
OBJECT MODULE PLACED IN tecclockzhicuankou.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE tecclockzhicuankou.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //串口的初始化程序
2 #define uchar unsigned char
3 #define uint unsigned int
4
5 #include "public.h"
6 #include "reg52.h"
7 #include "stdio.h"
8 #include "def.h"
9 #define PUBLIC_GLOBALS
10
11 uchar code menu[] =
12 "\n"
13 "+***************** REMOTE MEASUREMENT RECORDER *****************+\n"
14 "| This program is a simple Measurement Recorder. It is based on |\n"
15 "| the MCU51 and records the state of time |\n"
16 "+ command -+ syntax -----+ function ----------------------------+\n"
17 "| autohor | a | read author name |\n"
18 "| Time | t | display time |\n"
19 "+----------+-------------+--------------------------------------+\n";
20
21 void uart0int()
22 {
23 1 TMOD |= 0x20;
24 1 TH1 = 0xf3;
25 1 TL1 = 0xf3;
26 1 EA = 1;
27 1 ES = 1;
28 1 TR1 = 1;
29 1 SCON = 0x50;
30 1
31 1 }
32
33 void putchar1(uchar ch)
34 {
35 1 if(ch == LF)
36 1 {
37 2 SBUF = CR;
38 2 while(!TI);
39 2 TI = 0;
40 2 }
41 1
42 1 SBUF = ch;
43 1 while(!TI);
44 1 TI = 0;
45 1 }
46
47
48 void uartsendstr(uchar *sp)
49 {
50 1 do
51 1 {
52 2 if(*sp != '\n')
53 2 {
54 3 SBUF = *sp;
55 3 sp ++;
C51 COMPILER V7.06 TECCLOCKZHICUANKOU 07/31/2008 22:35:04 PAGE 2
56 3 while(!TI);
57 3 TI = 0;
58 3 }
59 2 else
60 2 {
61 3 SBUF = 0x0d;
62 3 sp ++;
63 3 while(!TI);
64 3 TI = 0;
65 3 SBUF = 0x0a;
66 3 while(!TI);
67 3 TI = 0;
68 3 }
69 2 }
70 1 while(*sp != '\0');
71 1 }
72
73 void com(void) interrupt 4 using 1
74 {
75 1 char temp;
76 1 uchar c;
77 1 if(RI)
78 1 {
79 2 RI = 0;
80 2 c = SBUF;
81 2 if(gTimeDisplay == FALSE)
82 2 {
83 3 if((gCommandDeal == FALSE)&&(gUart0RecCount < (MAXCOMMLENGTH - 1)))
84 3 {
85 4 if(c == CR)
86 4 {
87 5 c = LF;
88 5 gCommandDeal = TURE;
89 5 }
90 4 if(c == BACKSPACE || c == DEL)
91 4 {
92 5 if(gUart0RecCount != 0)
93 5 {
94 6 gUart0RecCount--; /* decrement count */
95 6 putchar1 (BACKSPACE); /* echo backspace */
96 6 putchar1 (' ');
97 6 putchar1 (BACKSPACE);
98 6 }
99 5 }
100 4 else if(c != CNTLQ && c != CNTLS)
101 4 {
102 5 gUart0Buf[gUart0RecCount]=c;
103 5 gUart0RecCount++;
104 5 putchar1(c);
105 5 }
106 4 }
107 3 else
108 3 {
109 4 temp = SBUF;
110 4 }
111 3 if(c == LF)
112 3 {
113 4 gUart0RecCount --;
114 4 gUart0Buf[gUart0RecCount] = 0;
115 4 gCommandDeal = TURE;
116 4 }
117 3 if (gUart0RecCount >= (MAXCOMMLENGTH-2))
C51 COMPILER V7.06 TECCLOCKZHICUANKOU 07/31/2008 22:35:04 PAGE 3
118 3 {
119 4 gUart0RecCount --;
120 4 gUart0Buf[gUart0RecCount] = 0;
121 4 gCommandDeal = TURE;
122 4
123 4 }
124 3
125 3 }
126 2 else
127 2 {
128 3 if(c == ESC)
129 3 {
130 4 SBUF = CR;
131 4 while(!TI);
132 4 TI = 0;
133 4 SBUF = LF;
134 4 while(!TI);
135 4 TI = 0;
136 4 gTimeDisplay = FALSE;
137 4 gCommandDeal=FALSE;
138 4 gUart0RecCount=0;
139 4 }
140 3
141 3 }
142 2
143 2 }
144 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 257 ----
CONSTANT SIZE = 464 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -