📄 mcu_uart.lst
字号:
C51 COMPILER V7.50 MCU_UART 01/15/2006 18:49:01 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 /*
24 1 CKCON |=0x10;
25 1 SCON = 0x50;
26 1 PCON = PCON|0x80;
27 1 BRL = 0xbf;
28 1 BDRCON |=0x0c; //TBCK=1,RBCK=1
29 1 BDRCON |=0x02; //SPD=1
30 1 BDRCON |=0x10; //BRR=1,enable BRG
31 1 */
32 1 }
33
34
35 char uart_getch()
36 {
37 1 while (!RI);
38 1 RI = 0;
39 1 return SBUF;
40 1 }
41 /*
42 void uart_putch(char ch)
43 {
44 SBUF = ch;
45 while (!TI);
46 TI = 0;
47 }
48
49 */
50
51 void printu(char * str)
52 {
53 1 char *ct = str;
54 1 while (*ct != '\0')
55 1 {
C51 COMPILER V7.50 MCU_UART 01/15/2006 18:49:01 PAGE 2
56 2 if (*ct == '\n')
57 2 {
58 3 SBUF = 13;
59 3 while (!TI);
60 3 TI = 0;
61 3 }
62 2 SBUF=*ct;
63 2 while (!TI);
64 2 TI = 0;
65 2 ct++;
66 2 }
67 1 }
68
69
70 void printuf(char *str, unsigned char cb)
71 {
72 1 char *ct = str;
73 1 while (*ct != '\0')
74 1 {
75 2 if (*ct == '%')
76 2 {
77 3 if (*(ct + 1) == 'x')
78 3 {
79 4 ct += 2;
80 4 SBUF = hex[cb/16];
81 4 while (!TI);
82 4 TI = 0;
83 4 SBUF = hex[cb%16];
84 4 while (!TI);
85 4 TI = 0;
86 4 continue;
87 4 }
88 3 if (*(ct + 1) == 'd')
89 3 {
90 4 ct += 2;
91 4 if(cb/100)
92 4 {SBUF = cb/100+0x30;
93 5 while (!TI);
94 5 TI = 0;}
95 4 if(cb/10)
96 4 {SBUF = (cb%100)/10+0x30;
97 5 while (!TI);
98 5 TI = 0;}
99 4 SBUF = cb%10+0x30;
100 4 while (!TI);
101 4 TI = 0;
102 4 continue;
103 4 }
104 3 if (*(ct + 1) == 'c')
105 3 {
106 4 ct += 2;
107 4 SBUF = cb;
108 4 while (!TI);
109 4 TI = 0;
110 4 continue;
111 4 }
112 3
113 3 }
114 2 if (*ct == '\n')
115 2 {
116 3 SBUF = 13;
117 3 while (!TI);
C51 COMPILER V7.50 MCU_UART 01/15/2006 18:49:01 PAGE 3
118 3 TI = 0;
119 3 }
120 2 SBUF = *ct;
121 2 while (!TI);
122 2 TI = 0;
123 2 ct++;
124 2 }
125 1 }
126
127 void printuf16x(char *str, unsigned int cb)
128 {
129 1 char *ct = str;
130 1 while (*ct != '\0')
131 1 {
132 2 if (*ct == '%')
133 2 {
134 3 if (*(ct + 1) == 'x')
135 3 {
136 4 ct += 2;
137 4 SBUF = hex[cb>>12];
138 4 while (!TI);
139 4 TI = 0;
140 4 SBUF = hex[(cb&0x0f00)>>8];
141 4 while (!TI);
142 4 TI = 0;
143 4 SBUF = hex[(cb&0x00f0)>>4];
144 4 while (!TI);
145 4 TI = 0;
146 4 SBUF = hex[cb&0x000f];
147 4 while (!TI);
148 4 TI = 0;
149 4 continue;
150 4 }
151 3 }
152 2 if (*ct == '\n')
153 2 {
154 3 SBUF = 13;
155 3 while (!TI);
156 3 TI = 0;
157 3 }
158 2 SBUF = *ct;
159 2 while (!TI);
160 2 TI = 0;
161 2 ct++;
162 2 }
163 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 + -