📄 serial.lst
字号:
C51 COMPILER V7.50 SERIAL 07/04/2005 21:07:51 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN Serial.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Serial.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <STC89C58.h>
2 #include <TG01R.h>
3 #include <intrins.h>
4 #include <string.h>
5
6 /*-------------------------------------------------------------------------------------------
7 函数原型: void InitUart(void)
8 参数说明: 无
9 返回值: 无
10 说明: 用于初始化串口
11 -------------------------------------------------------------------------------------------*/
12 void InitUart(void) {
13 1 SCON = 0x50; //串口工作方式1
14 1 TMOD |= 0x20; //T1,初值自动重装
15 1 TH1 = 0xf3; //波特率4800bps @ 24M
16 1 TL1 = 0xf3;
17 1 TR1 = 1; //开始计数
18 1 IE |= 0x90; //开放串口中断
19 1 }
20
21 /*-------------------------------------------------------------------------------------------
22 函数原型: void Uart_Send_Char(uchar SendChar)
23 参数说明: 发送的字符
24 返回值: 无
25 说明: 用于向串口发送单个字符
26 -------------------------------------------------------------------------------------------*/
27 void Uart_Send_Char(uchar SendChar) {
28 1 SBUF=SendChar;
29 1 while(TI==0);TI=0;
30 1 }
31
32 /*-------------------------------------------------------------------------------------------
33 函数原型: void Uart_Send_Str(char *SendDataBuf)
34 参数说明: 发送字符串的头地址
35 返回值: 无
36 说明: 用于向串口发送字符串
37 -------------------------------------------------------------------------------------------*/
38 void Uart_Send_Str(uchar *SendDataBuf) {
39 1 uchar i;
40 1 uchar idata Len;
41 1 i=0;
42 1 Len=strlen(SendDataBuf); //获取发送字符串的长度Len
43 1 do {
44 2 SBUF=*(SendDataBuf+i); //发送Len个字符
45 2 while(TI==0);TI=0;
46 2
47 2 }while(++i<Len);
48 1 }
49
50 /*
51 char Uart_Rcv_Str(char *RcvDataBuf) {
52 uchar i,TempData;
53 i=0;
54 do {
55 while(RI==0);RI=0;
C51 COMPILER V7.50 SERIAL 07/04/2005 21:07:51 PAGE 2
56 TempData=SBUF;
57 if(TempData=='/') {
58 break;
59 }
60 *(RcvDataBuf+i)=TempData;
61 i++;
62 } while(1);
63 }
64 */
65
66 /*-------------------------------------------------------------------------------------------
67 函数原型: void Uart_SingleStep(void)
68 参数说明: 串口控制单步执行函数
69 返回值: 无
70 说明: 用于通过串口控制单步执行,到此函数时停止,通过串口接收到space符时继续向下执行
71 -------------------------------------------------------------------------------------------*/
72 void Uart_SingleStep(void) {
73 1 char TempData;
74 1 do {
75 2 while(RI==0);RI=0;
76 2 TempData=SBUF;
77 2 }while(TempData!=0x20);
78 1 }
79
80 /*-------------------------------------------------------------------------------------------
81 函数原型: InitCPU(void)
82 参数说明: MCU初始化
83 返回值: 无
84 说明: MCU初始化,开放外部中断0,初始化串口
85 -------------------------------------------------------------------------------------------*/
86 void InitCPU(void)
87 {
88 1 EA =1; //开放中断
89 1 IT0 =1; //外部中断0低电平触发
90 1 EX0 =1; //外部中断0使能
91 1 PX0 =1; //外部中断0高优先级
92 1 InitUart(); //初始化串口
93 1 }
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 97 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
IDATA SIZE = ---- 1
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 + -