📄 mcu_uart.lst
字号:
C51 COMPILER V7.50 MCU_UART 01/15/2006 18:44:47 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MCU_UART
OBJECT MODULE PLACED IN MCU_UART.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE MCU_UART.C LARGE ROM(COMPACT) BROWSE
line level source
1 /* Copyright (C) 1996-2005 Brilliant Ideal Electronics. All rights reserved.
2 MP3_Player+USB_Disk V3.0 Edit by JMBIE STUDIO 2005.03
3 */
4
5
6 #include "AT89C51SND1_REG.H"
7 #include "MCU_UART.H"
8
9 char hex[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
10
11 void init_uart() // Baud rate 9600
12 {
13 1 //Using the T1 as Baud Rate Generater.
14 1 CKCON |=0x04;
15 1 TMOD = 0x20;
16 1 TH1 = 0xf5;
17 1 TL1 = 0xf5;
18 1 SCON = 0x50;
19 1 PCON = PCON|0x80;
20 1 TR1 = 1;
21 1 /*
22 1 //Using Internal Baud Rate Generater.
23 1 CKCON |=0x10;
24 1 SCON = 0x50;
25 1 PCON = PCON|0x80;
26 1 BRL = 0xbf;
27 1 BDRCON |=0x0c; //TBCK=1,RBCK=1
28 1 BDRCON |=0x02; //SPD=1
29 1 BDRCON |=0x10; //BRR=1,enable BRG
30 1 */
31 1 }
32
33
34 char uart_getch()
35 {
36 1 while (!RI);
37 1 RI = 0;
38 1 return SBUF;
39 1 }
40 /*
41 void uart_putch(char ch)
42 {
43 SBUF = ch;
44 while (!TI);
45 TI = 0;
46 }
47
48 */
49
50 void printu(char * str)
51 {
52 1 char *ct = str;
53 1 while (*ct != '\0')
54 1 {
55 2 if (*ct == '\n')
C51 COMPILER V7.50 MCU_UART 01/15/2006 18:44:47 PAGE 2
56 2 {
57 3 SBUF = 13;
58 3 while (!TI);
59 3 TI = 0;
60 3 }
61 2 SBUF=*ct;
62 2 while (!TI);
63 2 TI = 0;
64 2 ct++;
65 2 }
66 1 }
67
68
69 void printuf(char *str, unsigned char cb)
70 {
71 1 char *ct = str;
72 1 while (*ct != '\0')
73 1 {
74 2 if (*ct == '%')
75 2 {
76 3 if (*(ct + 1) == 'x')
77 3 {
78 4 ct += 2;
79 4 SBUF = hex[cb/16];
80 4 while (!TI);
81 4 TI = 0;
82 4 SBUF = hex[cb%16];
83 4 while (!TI);
84 4 TI = 0;
85 4 continue;
86 4 }
87 3 if (*(ct + 1) == 'd')
88 3 {
89 4 ct += 2;
90 4 if(cb/100)
91 4 {SBUF = cb/100+0x30;
92 5 while (!TI);
93 5 TI = 0;}
94 4 if(cb/10)
95 4 {SBUF = (cb%100)/10+0x30;
96 5 while (!TI);
97 5 TI = 0;}
98 4 SBUF = cb%10+0x30;
99 4 while (!TI);
100 4 TI = 0;
101 4 continue;
102 4 }
103 3 if (*(ct + 1) == 'c')
104 3 {
105 4 ct += 2;
106 4 SBUF = cb;
107 4 while (!TI);
108 4 TI = 0;
109 4 continue;
110 4 }
111 3
112 3 }
113 2 if (*ct == '\n')
114 2 {
115 3 SBUF = 13;
116 3 while (!TI);
117 3 TI = 0;
C51 COMPILER V7.50 MCU_UART 01/15/2006 18:44:47 PAGE 3
118 3 }
119 2 SBUF = *ct;
120 2 while (!TI);
121 2 TI = 0;
122 2 ct++;
123 2 }
124 1 }
125
126 void printuf16x(char *str, unsigned int cb)
127 {
128 1 char *ct = str;
129 1 while (*ct != '\0')
130 1 {
131 2 if (*ct == '%')
132 2 {
133 3 if (*(ct + 1) == 'x')
134 3 {
135 4 ct += 2;
136 4 SBUF = hex[cb>>12];
137 4 while (!TI);
138 4 TI = 0;
139 4 SBUF = hex[(cb&0x0f00)>>8];
140 4 while (!TI);
141 4 TI = 0;
142 4 SBUF = hex[(cb&0x00f0)>>4];
143 4 while (!TI);
144 4 TI = 0;
145 4 SBUF = hex[cb&0x000f];
146 4 while (!TI);
147 4 TI = 0;
148 4 continue;
149 4 }
150 3 }
151 2 if (*ct == '\n')
152 2 {
153 3 SBUF = 13;
154 3 while (!TI);
155 3 TI = 0;
156 3 }
157 2 SBUF = *ct;
158 2 while (!TI);
159 2 TI = 0;
160 2 ct++;
161 2 }
162 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 436 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 16 ----
PDATA SIZE = ---- ----
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -