📄 uart.lst
字号:
C51 COMPILER V7.06 UART 07/16/2003 17:29:57 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN .\uart.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\LPC932 Validation\I2C\I2Cslave\uart.c BROWSE DEBUG OBJECTEXTEND PRINT
-(.\uart.lst) OBJECT(.\uart.obj)
stmt level source
1 #include <REG932.H>
2 typedef unsigned char BYTE;
3 typedef unsigned short WORD;
4
5 static char ascii[] = "0123456789ABCDEF";
6
7 void UART_Init(void)
8 {
9 1 P1M1 &= 0xFC; /* TXD (P1.0) -> quasi bidir */
10 1 // P1M2 |= 0x01; /* RXD (P1.1) -> quasi bidir */
11 1
12 1 // BRG -> BRGR1,BRGR0 = (OSC / baudrate) - 16
13 1 // BRG -> BRGR1,BRGR0 = (7.373Mhz / 19200) - 16 = 0x170
14 1
15 1 BRGR1 = 0x01;
16 1 BRGR0 = 0x70;
17 1 BRGCON = 3;
18 1 AUXR1 |= 0x40; /* enable break detect reset */
19 1 SCON = 0x52; /* mode 1, receiver enable */
20 1 }
21
22 char ua_inchar(void) /* this function looks if there is a character available*/
23 {
24 1 if (!RI)
25 1 return -1;
26 1 else
27 1 {
28 2 RI = 0;
29 2 return SBUF & 0x7F;
30 2 }
31 1 }
32
33 char ua_getchar(void) /* this function waits for a character */
34 {
35 1 char c;
36 1
37 1 while (!RI)
38 1 ;
39 1 c = SBUF & 0x7F;
40 1 RI = 0;
41 1 return c;
42 1 }
43
44 void ua_outchar(char c)
45 {
46 1 while (!TI) ;
47 1 SBUF = c;
48 1 TI = 0;
49 1 }
50
51 void PrintByte(BYTE b, bit z)
52 {
53 1 if (!z || ((b >> 4) != 0))
54 1 ua_outchar(ascii[b >> 4]);
C51 COMPILER V7.06 UART 07/16/2003 17:29:57 PAGE 2
55 1
56 1 ua_outchar(ascii[b & 0x0f]);
57 1 }
58
59 void PrintWord(WORD w)
60 {
61 1 PrintByte((BYTE)(w>>8),0);
62 1 PrintByte((BYTE)w,0);
63 1 }
64
65 void PrintLong(long l)
66 {
67 1 PrintWord((WORD)(l>>16));
68 1 PrintWord((WORD)l);
69 1 }
70
71 void PrintDecimal(BYTE b)
72 {
73 1 BYTE p;
74 1
75 1 p = ascii[b / 10];
76 1 if (p != '0')
77 1 ua_outchar(p);
78 1 ua_outchar(ascii[b % 10]);
79 1 }
80
81 void PrintString(char *s)
82 {
83 1 while (*s)
84 1 {
85 2 if (*s == '\n')
86 2 ua_outchar('\r'); /* output a '\r' first */
87 2 ua_outchar(*s);
88 2 s++;
89 2 }
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 191 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 4
IDATA SIZE = ---- ----
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 + -