tvsprintf.lst
来自「单片及c语言轻松入门的随书光盘」· LST 代码 · 共 60 行
LST
60 行
C51 COMPILER V7.06 TVSPRINTF 06/19/2006 15:23:43 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TVSPRINTF
OBJECT MODULE PLACED IN tvsprintf.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE tvsprintf.c COMPACT BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 #include <stdio.h>
3 #include <stdarg.h>
4
5 xdata char etxt[30]; /* 开辟30字节的字符缓冲区*/
6
7
8 void error (char *fmt, ...) {
9 1 va_list arg_ptr;
10 1
11 1 va_start (arg_ptr, fmt); /* 格式化字符 */
12 1 vsprintf (etxt, fmt, arg_ptr);
13 1 va_end (arg_ptr);
14 1 }
15
16 void tst_vprintf (void) {
17 1 int i;
18 1 i = 1000;
19 1
20 1 /* 使用一个参数来调用error函数*/
21 1 error ("Error: '%d' number too large\n", i);
22 1
23 1 /*仅用一个格式化的字符串来调用error函数*/
24 1 error ("Syntax Error\n");
25 1 }
26
27 void main()
28 {
29 1 SCON = 0x50; /*SCON:工作模式1,8-bit UART,允许接收*/
30 1 TMOD |= 0x20; /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
31 1 TH1 = 0xf3; /*当波特率为2400时,定时器初值*/
32 1 TR1 = 1; /*定时器T1开始运行*/
33 1 TI = 1; /*允许发送数据*/
34 1 for(;;)
35 1 tst_vprintf();
36 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 117 ----
CONSTANT SIZE = 44 ----
XDATA SIZE = 30 ----
PDATA SIZE = ---- 21
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?