📄 zj.lst
字号:
C51 COMPILER V8.08 ZJ 04/13/2009 17:52:20 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE ZJ
OBJECT MODULE PLACED IN zj.OBJ
COMPILER INVOKED BY: F:\KEILUV38.08+注册机\KEIL UV3 8.08 + 注册机\C51\BIN\C51.EXE zj.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #define uchar unsigned char
3 void send(uchar number,uchar comand);
4 void read();
5 void closed();
6 void open();
7 void wai();
8 void delay();
9 uchar cort=0x03;
10 sbit p35=P3^5;
11 sbit p10=P1^0;
12 sbit p11=P1^1;
13
14 void main(){
15 1 P2=0Xff;
16 1 TMOD=0x20;
17 1 TL1=0xfd;
18 1 TH1=0xfd;
19 1 PCON=0x00;
20 1 TR1=1;
21 1 SCON=0xD8;
22 1 IT0=1;
23 1 EX0=1;
24 1 EA=1;
25 1 ES=1;
26 1 p35=1;
27 1 while(1)
28 1 {
29 2 if(p10==0) switch(cort) {
30 3 case 3:send(0x01,0x03);break;
31 3 case 4:send(0x01,0x04);break;
32 3 case 5:send(0x01,0x05);break;
33 3 default:;
34 3 }
35 2
36 2 if(p11==0) switch(cort) {
37 3 case 3:send(0x02,0x03);break;
38 3 case 4:send(0x02,0x04);break;
39 3 case 5:send(0x02,0x05);break;
40 3 default:;
41 3 }
42 2 }
43 1 }
44 //发送函数
45 void send(uchar number,uchar comand)
46 {
47 1 a1:p35=1;SM2=0;SBUF=number;while(TI==0);TI=0;//发从机号
48 1 p35=0;TB8=0;while(RI==0);RI=0;//接收从机号
49 1 if(SBUF!=number){p35=1;SBUF=0x80;while(TI==0);TI=0;//从机号不一致,重发
50 2 delay();TB8=1;goto a1;}
51 1 p35=1;SBUF=0X00;while(TI==0);TI=0;//发正确信号
52 1 delay();
53 1 do{p35=1;SBUF=comand;while(TI==0);TI=0;//发送命令
54 2 delay();
55 2 p35=1;SBUF=comand;while(TI==0);TI=0;//发校验命令
C51 COMPILER V8.08 ZJ 04/13/2009 17:52:20 PAGE 2
56 2 p35=0;while(RI==0);RI=0;//接收从机应答
57 2 }while((SBUF&0X80)==0X80);
58 1 switch (comand){
59 2 case 0x03:read();break;
60 2 case 0x04:closed();break;
61 2 case 0x05:open();break;
62 2 default:;
63 2 }
64 1 SM2=1;TB8=1;p35=1;
65 1 }
66
67 //read函数
68 void read()
69 {uchar result;
70 1 a2:p35=0;while(RI==0);RI=0;result=SBUF;
71 1 p35=0;while(RI==0);RI=0;
72 1 if(SBUF!=result){p35=1;SBUF=0x80;while(TI==0);TI=0;goto a2;}
73 1 p35=1;SBUF=0x00;while(TI==0);TI=0;
74 1 P2=result;
75 1 }
76
77 //closed函数
78 void closed()
79 {P2=0xf0;}
80
81 //open函数
82 void open()
83 {P2=0x0f;}
84
85
86 void delay()
87 {uchar i;
88 1 for(i=5;i>0;i--);
89 1 }
90 //
91 void wai() interrupt 0
92 {
93 1 ++cort;
94 1 P2=cort;
95 1 if(cort>=0x06)cort=0x03;
96 1
97 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 311 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 2
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 + -