📄 serial.lst
字号:
C51 COMPILER V7.01 SERIAL 08/24/2008 17:21:32 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN serial.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE serial.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <REG51.h>
2
3
4
5 #define uchar_code unsigned char code
6 #define uchar unsigned char
7 #define SELInt_on() ES=1 //串行口中断允许
8 #define SELInt_off() ES=0 //串行口中断禁止
9
10 void Ser_Init(void)
11 {
12 1 TMOD=0x20; //定时器1为8位自动加载
13 1 TH1=0xfd; //波特率为9600
14 1 TL1=0xfd;
15 1 TR1=1; //启动定时器
16 1 SCON|=0x50;
17 1 PCON&=0x7f; //波特率为1倍
18 1 ES=1; //串行口中断允许
19 1 EX0=1; // INT0中断开
20 1 IT0=1; // INT0下降沿触发(为0则为低电平触发)
21 1 EA=1; //总中断打开
22 1 }
23
24 void Ser_TxDchar(uchar ch) // 串口发送字符
25 {
26 1 SELInt_off();
27 1 TI=0;
28 1 SBUF=ch;
29 1 while(!TI);
30 1 TI=0;
31 1 SELInt_on();
32 1 }
33
34
35
36 void Ser_TXDstring(uchar *p,uchar lenth) //串口发送字符串
37 {
38 1 while(lenth--)
39 1 Ser_TxDchar(*p++);
40 1 }
41
42 /*
43 Ser_Revchar(void) //串口接收字符
44 {
45 SELInt_off();
46 if(RI==1)
47 RI=0;
48 return SBUF;
49 SELInt_on();
50 }
51
52 Ser_Revsting(void)
53 {
54 Rev_Buf[Rev_count++]=Ser_Revchar();
55 }
C51 COMPILER V7.01 SERIAL 08/24/2008 17:21:32 PAGE 2
56
57 */
58 /*
59 void Ser_Rev(void) interrupt 4 using 1//中断接收
60 {
61 SELInt_off();
62 RI=0;
63 Rev_Buf[Rev_count++]=SBUF;
64 if(Rev_count=Rev_BufSIZE)
65 {
66 Rev_count=0;
67 }
68 SELInt_on();
69 }
70 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 76 ----
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 + -