📄 serial.lst
字号:
C51 COMPILER V8.06 SERIAL 12/24/2007 11:34:17 PAGE 1
C51 COMPILER V8.06, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN .\obj\serial.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE src\serial.c BROWSE MODP2 DEBUG OBJECTEXTEND PRINT(.\serial.lst) OBJECT(.\o
-bj\serial.obj)
line level source
1 /****************************************Copyright (c)**************************************************
2 ** Unversity of electronic technology and science of China
3 ** school of electronic engineer
4 **
5 **--------------File Info-------------------------------------------------------------------------------
6 ** File name: serial.c
7 ** Last modified Date: 2006.10.29
8 ** Last Version:
9 ** Descriptions: serial part of command shell
10 **
11 **------------------------------------------------------------------------------------------------------
12 ** Created by: wang zheng
13 ** Created date:
14 ** Version:
15 ** Descriptions:
16 **
17 **------------------------------------------------------------------------------------------------------
18 ** Modified by: wang zheng
19 ** Modified date:
20 ** Version:
21 ** Descriptions:
22 **
23 **------------------------------------------------------------------------------------------------------
24 ** Modified by:
25 ** Modified date:
26 ** Version:
27 ** Descriptions:
28 **
29 ********************************************************************************************************/
30
31 #include "command_shell.h"
32
33 /*********************************************************************************************************
34 ** 函数名称: Uart0_Init( )
35 ** 功能描述: initial the uart0, baudrate 4800 ,n,8,1
36 ** 输 入:
37 ** 输 出:
38 ** 全局变量:
39 ** 调用模块:
40 **
41 ** 作 者: wangzheng
42 ** 日 期: 2006.11.02
43 **-------------------------------------------------------------------------------------------------------
44 ** 修改人: wangzheng
45 ** 日 期:
46 **-------------------------------------------------------------------------------------------------------
47 ** 修改人: wangzheng
48 ** 日 期:
49 **------------------------------------------------------------------------------------------------------
50 ********************************************************************************************************/
51 void Uart_Init(void)
52 {
53 1 TMOD = 0x20;//0010 0000 T/c方式2
54 1 TH1 = 0xf5;//初值f5 20M晶振 9600波特率时
C51 COMPILER V8.06 SERIAL 12/24/2007 11:34:17 PAGE 2
55 1 TL1 = 0xf5;//
56 1 SCON = 0x50;//0101 0000 串口方式1 10位异步通讯
57 1 PCON = PCON|0x80;//SMOD置1,波特率=溢出率/16
58 1 TR1 = 1;
59 1 EA = 1;
60 1 ES = 1;
61 1 }
62
63 /*********************************************************************************************************
64 ** 函数名称: Uart0_Put_Char
65 ** 功能描述: put a char to uart0
66 ** 输 入: char Data
67 ** 输 出:
68 ** 全局变量:
69 ** 调用模块:
70 **
71 ** 作 者: wangzheng
72 ** 日 期: 2006.11.02
73 **-------------------------------------------------------------------------------------------------------
74 ** 修改人: wangzheng
75 ** 日 期:
76 **-------------------------------------------------------------------------------------------------------
77 ** 修改人: wangzheng
78 ** 日 期:
79 **------------------------------------------------------------------------------------------------------
80 ********************************************************************************************************/
81 void Uart_Put_Char( int8 Data )
82 {
83 1 SBUF = Data;
84 1 while(!TI);
85 1 TI=0;
86 1 }
87 /*********************************************************************************************************
88 ** 函数名称: Uart0_Write(int8* ptdata)
89 ** 功能描述: print strings to uart0
90 ** 输 入: int8* ptdata
91 ** 输 出:
92 ** 全局变量:
93 ** 调用模块: Uart0_Put_Char( )
94 **
95 ** 作 者: wangzheng
96 ** 日 期: 2006.11.02
97 **-------------------------------------------------------------------------------------------------------
98 ** 修改人: wangzheng
99 ** 日 期:
100 **-------------------------------------------------------------------------------------------------------
101 ** 修改人: wangzheng
102 ** 日 期:
103 **------------------------------------------------------------------------------------------------------
104 ********************************************************************************************************/
105 void Uart_Write( int8* ptdata )
106 {
107 1 while( *ptdata != 0 )
108 1 Uart_Put_Char ( *ptdata++ );
109 1 }
110 /*********************************************************************************************************
111 ** 函数名称: Uart0_Get_Char()interrupt 4
112 ** 功能描述: get a char from uart0, interrupt mode
113 ** 输 入: none
114 ** 输 出:
115 ** 全局变量: rec
116 ** 调用模块:
C51 COMPILER V8.06 SERIAL 12/24/2007 11:34:17 PAGE 3
117 **
118 ** 作 者: wangzheng
119 ** 日 期: 2006.11.02
120 **-------------------------------------------------------------------------------------------------------
121 ** 修改人: wangzheng
122 ** 日 期:
123 **-------------------------------------------------------------------------------------------------------
124 ** 修改人: wangzheng
125 ** 日 期:
126 **------------------------------------------------------------------------------------------------------
127 ********************************************************************************************************/
128
129 void Uart_Get_Char( void ) interrupt 4
130 {
131 1 if(RI==1)
132 1 {
133 2 RI = 0;
134 2 rec = SBUF;
135 2
136 2 if( (rec>=32) && (rec<=126) ) // rec is between 'space' to '~'
137 2 curr_sig = normal_char;
138 2
139 2 switch ( rec)
140 2 {
141 3 case 13 : curr_sig = cr; break;
142 3 case 8 : curr_sig = backspace; break;
143 3 default : break;
144 3 }
145 2 sig_renew = 1; // trig the FSM
146 2 }
147 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 122 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -