?? 11.1.lst
字號:
C51 COMPILER V6.20c 11_1 09/02/2001 15:06:41 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE 11_1
OBJECT MODULE PLACED IN 11.1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 11.1.c DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define TR 1 //接收、發(fā)送區(qū)別值,TR=0為發(fā)送
4
5 uchar idata buf[10];
6 uchar sum; //檢驗(yàn)和
7 void init(void)
8 {TMOD=0x20; //串行口初始化
9 1 TH1=0xE8;TL1=0xE8; //設(shè)定波特率
10 1 PCON=0x00;
11 1 TR1=1; //啟動(dòng)T1
12 1 SCON=0x50; //串行口工作在方式1,并允許接收
13 1 }
14
15 /*發(fā)送程序*/
16 void send(void)
17 {uchar i;
18 1 do{
19 2 SBUF=0xAA; //發(fā)送聯(lián)絡(luò)信號"AA"
20 2 while(TI==0); //等待發(fā)送結(jié)束
21 2 TI=0;
22 2 while(RI==0); //等待B機(jī)回答
23 2 RI=0;
24 2 }while((SBUF^0xBB)!=0); //B機(jī)未準(zhǔn)備好,繼續(xù)聯(lián)絡(luò)
25 1 do{
26 2 sum=0; //清檢驗(yàn)和
27 2 for(i=0;i<16;i++)
28 2 {SBUF=buf[i];
29 3 sum+=buf[i]; //求校驗(yàn)和
30 3 while(TI==0);
31 3 TI=0;
32 3 }
33 2 SBUF=sum; //發(fā)送校驗(yàn)和
34 2 while(TI==0);TI=0;
35 2 while(RI==0);RI=0; //等待B機(jī)應(yīng)答
36 2 }while(SBUF!=0); //出錯(cuò)則重發(fā)
37 1 }
38
39 /*接收程序*/
40 void receive()
41 {uchar i;
42 1 do{}while(RI==0);RI=0;
43 1 while((SBUF^0xAA)!=0) //判斷A機(jī)是否發(fā)出請求
44 1 SBUF=0xBB; //發(fā)送應(yīng)答信號"BB"
45 1 while(TI==0); //等待發(fā)送結(jié)束
46 1 TI=0;
47 1 while(1)
48 1 {sum=0; //清校驗(yàn)和
49 2 for(i=0;i<16;i++)
50 2 {while(RI==0);RI=0;
51 3 buf[i]=SBUF; //接收一個(gè)數(shù)據(jù)
52 3 sum+=buf[i]; //求校驗(yàn)和
53 3 }
54 2 while(RI==0);RI=0; //接收A機(jī)校驗(yàn)和
55 2 if((SBUF^sum)==0) //比較檢驗(yàn)和
C51 COMPILER V6.20c 11_1 09/02/2001 15:06:41 PAGE 2
56 2 {SBUF=0x00;break;} //校驗(yàn)和相同則發(fā)"00"
57 2 else
58 2 {SBUF=0xFF; //出錯(cuò)發(fā)"FF",重新接收
59 3 while(TI==0);TI=0;
60 3 }
61 2 }
62 1 }
63
64 /*主程序main()*/
65 void main(void)
66 {init();
67 1 if(TR==0) {send();} //發(fā)送
68 1 else{receive();} //接收
69 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 160 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = 10 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -