📄 sio.lst
字号:
155 1 TR1 = 0; /* stop timer 1 */
156 1 ET1 = 0; /* disable timer 1 interrupt */
157 1
158 1 PCON |= 0x80; /* 0x80=SMOD: set serial baudrate doubler */
159 1
160 1 TMOD &= ~0xF0; /* clear timer 1 mode bits */
161 1 TMOD |= 0x20; /* put timer 1 into MODE 2 */
162 1
163 1 TH1 = (unsigned char) (256 - (XTAL / (16L * 12L * baudrate)));
164 1
165 1 TR1 = 1; /* start timer 1 */
166 1 }
167
168 /*------------------------------------------------------------------------------
169 ------------------------------------------------------------------------------*/
170 #pragma disable
171
172 char com_putchar (
173 unsigned char c)
174 {
175 1 /*------------------------------------------------
176 1 If the buffer is full, return an error value.
177 1 ------------------------------------------------*/
178 1 if (com_tbuflen () >= TBUF_SIZE)
179 1 return (-1);
C51 COMPILER V6.14 SIO 04/12/2003 22:48:18 PAGE 4
180 1
181 1 /*------------------------------------------------
182 1 Add the data to the transmit buffer. If the
183 1 transmit interrupt is disabled, then enable it.
184 1 ------------------------------------------------*/
185 1 tbuf [t_in & (TBUF_SIZE - 1)] = c;
186 1 t_in++;
187 1
188 1 if (ti_restart)
189 1 {
190 2 ti_restart = 0;
191 2 TI = 1; /* generate transmit interrupt */
192 2 }
193 1
194 1 return (0);
195 1 }
196
197 /*------------------------------------------------------------------------------
198 ------------------------------------------------------------------------------*/
199 #pragma disable
200
201 int com_getchar (void)
202 {
203 1 if (com_rbuflen () == 0)
204 1 return (-1);
205 1
206 1 return (rbuf [(r_out++) & (RBUF_SIZE - 1)]);
207 1 }
208
209 /*------------------------------------------------------------------------------
210 ------------------------------------------------------------------------------*/
211 #pragma disable
212
213 unsigned char com_rbuflen (void)
214 {
215 1 return (r_in - r_out);
216 1 }
217
218 /*------------------------------------------------------------------------------
219 ------------------------------------------------------------------------------*/
220 #pragma disable
221
222 unsigned char com_tbuflen (void)
223 {
224 1 return (t_in - t_out);
225 1 }
226
227 /*------------------------------------------------------------------------------
228 ------------------------------------------------------------------------------*/
229
C51 COMPILER V6.14 SIO 04/12/2003 22:48:18 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
com_getchar. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
com_rbuflen. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
com_tbuflen. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
r_in . . . . . . . . . . . . . . . . . STATIC DATA U_CHAR 0000H 1
r_out. . . . . . . . . . . . . . . . . STATIC DATA U_CHAR 0001H 1
t_in . . . . . . . . . . . . . . . . . STATIC DATA U_CHAR 0002H 1
t_out. . . . . . . . . . . . . . . . . STATIC DATA U_CHAR 0003H 1
rbuf . . . . . . . . . . . . . . . . . STATIC IDATA ARRAY 0000H 16
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
tbuf . . . . . . . . . . . . . . . . . STATIC IDATA ARRAY 0010H 4
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
ti_restart . . . . . . . . . . . . . . STATIC DATA BIT 0000H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
_com_baudrate. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
baudrate . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
com_initialize . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
C51 COMPILER V6.14 SIO 04/12/2003 22:48:18 PAGE 6
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
com_isr. . . . . . . . . . . . . . . . STATIC CODE PROC 0000H -----
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
_com_putchar . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
c. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 327 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 1
IDATA SIZE = 20 ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -