📄 communication1.lst
字号:
C51 COMPILER V8.05a COMMUNICATION1 10/26/2006 20:35:41 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE COMMUNICATION1
OBJECT MODULE PLACED IN communication1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE communication1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************/
2 //程序名:commucation1.c
3 //功能描述:利用单片机的串口实现双机双工通信
4 //调用函数:Timer_10ms(uint_1ms),Led_Off(),Led_On()
5 //输入:
6 //返回:
7 //设计者:wei 日期:2006.10.25
8 //修改者: 日期:
9 //版本:
10 /********************************************************************************/
11
12
13 #include<Reg51.h>
14 #define unit unsigned int
15 #define uchar unsigned char
16 #define ulong unsigned long
17
18 #define OSC_FREQ 12000000
19 #define C10ms (65536-OSC_FREQ/(12000000/9970))
20 sbit P3_2=P3^2;
21 uchar ucSBUF232;
22
23 /******************************************************************************************
24 *********************************初始化CPU****************************************
25 *****************************************************************************************/
26 void serial_Init(void)
27 {
28 1 IE =0x00;
29 1 TMOD = 0x20;
30 1 TH0 = C10ms/256;
31 1 TL0 = C10ms%256;
32 1 TH1 = 0xfa;
33 1 TL1 = 0xfa;
34 1 PCON = 0x00;
35 1 SCON = 0xd8;
36 1
37 1 RI = 0 ;
38 1 TI = 0;
39 1 TR0 = 0;
40 1 TR1 = 1;
41 1 ES = 1;
42 1 EA = 1;
43 1 }
44 /******************************************************************************************
45 *********************************串行口中断处理****************************************
46 *****************************************************************************************/
47 void serialInterrupt() interrupt 4
48 {
49 1 if(RI)
50 1 {
51 2 RI = 0;
52 2 ucSBUF232 = SBUF;
53 2 if(ucSBUF232 == 0x01)
54 2 {
55 3 P1 = 0x01;
C51 COMPILER V8.05a COMMUNICATION1 10/26/2006 20:35:41 PAGE 2
56 3 }
57 2 else if(ucSBUF232 == 0x02)
58 2 {
59 3 P1 = 0x02;
60 3 }
61 2 else if(ucSBUF232 == 0x04)
62 2 {
63 3 P1 = 0x04;
64 3 }
65 2 }
66 1 else if(TI)
67 1 {
68 2 TI = 0;
69 2 REN =1;
70 2 ucSBUF232 = 0xff;
71 2 }
72 1 }
73
74 /******************************************************************************************/
75 //函数名:void Delay(void)
76 //功能:延时
77 //调用函数:
78 //输入参数:
79 //输出参数:
80 //说明:
81 /*******************************************************************************************/
82
83 void Delay(void)
84 {
85 1 uchar i,j,h;
86 1 for(i = 0;i<2;i++)
87 1 {
88 2 for(j=0;j<200;j++)
89 2 {
90 3 for(h=0;h<250;h++);
91 3 }
92 2 }
93 1 }
94 /******************************************************************************************
95 *********************************主函数:初始化CPU****************************************
96 *****************************************************************************************/
97
98 void main(void)
99
100 {
101 1 uchar i=0;
102 1 P1=0;
103 1 serial_Init();
104 1 REN = 0;
105 1 RI = 0;
106 1 while(1)
107 1 {
108 2 if(ucSBUF232 == 0x01)
109 2 {
110 3 P1=0x01;
111 3 Delay();
112 3 Delay();
113 3 SBUF = 0x02;
114 3 }
115 2 else if(ucSBUF232 == 0x02)
116 2 {
117 3 P1=0x02;
C51 COMPILER V8.05a COMMUNICATION1 10/26/2006 20:35:41 PAGE 3
118 3 Delay();
119 3 Delay();
120 3 SBUF = 0x04;
121 3 }
122 2 else if(ucSBUF232 == 0x04)
123 2 {
124 3 P1=0x04;
125 3 Delay();
126 3 Delay();
127 3 SBUF = 0x01;
128 3 }
129 2 else if(! P3_2 )
130 2 {
131 3 SBUF=0x01;
132 3 Delay();
133 3 Delay();
134 3 Delay();
135 3 P1 =0x00;
136 3 if(REN && ucSBUF232 ==0xff)
137 3 REN=0;
138 3 }
139 2 }
140 1 }
141
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 208 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
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 + -