📄 mcu_uart.lst
字号:
C51 COMPILER V7.50 MCU_UART 04/27/2008 22:37:38 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MCU_UART
OBJECT MODULE PLACED IN MCU_UART.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MCU_UART.C 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 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
32 char uart_getch()
33 {
34 1 while (!RI);
35 1 RI = 0;
36 1 return SBUF;
37 1 }
38
39 void uart_putch(char ch)
40 {
41 1 SBUF = ch;
42 1 while (!TI);
43 1 TI = 0;
44 1 }
45
46 void printu(char * str)
47 {
48 1 char *ct = str;
49 1 while (*ct != '\0')
50 1 {
51 2 if (*ct == '\n')
52 2 {
53 3 SBUF = 13;
54 3 while (!TI);
55 3 TI = 0;
C51 COMPILER V7.50 MCU_UART 04/27/2008 22:37:38 PAGE 2
56 3 }
57 2 SBUF=*ct;
58 2 while (!TI);
59 2 TI = 0;
60 2 ct++;
61 2 }
62 1 }
63
64
65 void printuf(char *str, unsigned char cb)
66 {
67 1 char *ct = str;
68 1 while (*ct != '\0')
69 1 {
70 2 if (*ct == '%')
71 2 {
72 3 if (*(ct + 1) == 'x')
73 3 {
74 4 ct += 2;
75 4 SBUF = hex[cb/16];
76 4 while (!TI);
77 4 TI = 0;
78 4 SBUF = hex[cb%16];
79 4 while (!TI);
80 4 TI = 0;
81 4 continue;
82 4 }
83 3 if (*(ct + 1) == 'd')
84 3 {
85 4 ct += 2;
86 4 if(cb/100)
87 4 {SBUF = cb/100+0x30;
88 5 while (!TI);
89 5 TI = 0;}
90 4 if(cb/10)
91 4 {SBUF = (cb%100)/10+0x30;
92 5 while (!TI);
93 5 TI = 0;}
94 4 SBUF = cb%10+0x30;
95 4 while (!TI);
96 4 TI = 0;
97 4 continue;
98 4 }
99 3 if (*(ct + 1) == 'c')
100 3 {
101 4 ct += 2;
102 4 SBUF = cb;
103 4 while (!TI);
104 4 TI = 0;
105 4 continue;
106 4 }
107 3
108 3 }
109 2 if (*ct == '\n')
110 2 {
111 3 SBUF = 13;
112 3 while (!TI);
113 3 TI = 0;
114 3 }
115 2 SBUF = *ct;
116 2 while (!TI);
117 2 TI = 0;
C51 COMPILER V7.50 MCU_UART 04/27/2008 22:37:38 PAGE 3
118 2 ct++;
119 2 }
120 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 270 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 ----
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 + -