📄 uart.lst
字号:
C51 COMPILER V7.07 UART 04/20/2012 10:59:24 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE uart.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2 #include <string.h>
3 #include <uart.h>
4 #include <ST_MR_08S.h>
5
6 void init_uart( char Baud )
7 {
8 1 SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr //UART为模式1,8位数据,允许接收
9 1 TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload //定时器1为模式2,8位自动重装
10 1 PCON |= 0x80 ; //SMOD=1;
11 1 if(Baud==B2400)TH1 = 0xE6;
12 1 else TH1 = 0xF3; //Baud:4800 fosc=12MHz BAUND_RATE=2*FOSC/(32*12*(256-TH)) FOSC=晶振频率,TH=初值
13 1 IE |= 0x90 ; //Enable Serial Interrupt
14 1 TR1 = 1 ; // timer 1 run
15 1 TI=0;
16 1 }
17 ////////////////////////////////////////////////////
18 //向串口发送一个字符串
19 void Uart_Send_String (unsigned char *str, unsigned int strlen)
20 {
21 1 unsigned char m = 0;
22 1 do
23 1 {
24 2 SBUF = *(str + m);
25 2 while(!TI);
26 2 TI = 0;
27 2 m ++;
28 2 }while (m < strlen);
29 1 }
30 //向串口发送一个字符
31 void Uart_Send_Char(unsigned char chr)
32 {
33 1 SBUF=chr;
34 1 while(!TI);
35 1 TI = 0;
36 1 }
37
38 //串口接收中断函数
39 void uart_receive() interrupt 4 using 3
40 {
41 1 unsigned char chr;
42 1 if (RI) {
43 2 RI = 0 ;
44 2 chr=SBUF;
45 2 Uart_Send_Char(chr); //echo
46 2 }
47 1 }
48
49
50
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 110 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V7.07 UART 04/20/2012 10:59:24 PAGE 2
XDATA SIZE = ---- 4
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 + -