?? per.lst
字號(hào):
C51 COMPILER V7.50 PER 02/06/2009 10:34:28 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE PER
OBJECT MODULE PLACED IN per.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE per.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89s52.h>
2 #include <stdio.h>
3 #include <intrins.h>
4 #include<per.h>
5 extern unsigned char MSA[3][4];
6 /*
7 void DelayTime(uchar T)
8 {
9 uchar i;
10 for(i=T;i>0;i--);
11 }*/
12 void WDT(void)
13 {
14 1 WDT_CONTR=0x3C;
15 1 }
16 void Project_Int(void)
17 {
18 1 TMOD=0X21;
19 1 // SCON=0Xf0;//串口工作在方式三,SM2=1,REN=1,處于接收狀態(tài)
20 1 PCON=0X80;
21 1 TL0=T0_L;
22 1 TH0=T0_H;
23 1 // TL1=T1_L;//
24 1 // TH1=T1_H;
25 1 IP=0x10;//Uart has the highest interrupt priority
26 1 TR0=1;
27 1 // TR1=1;
28 1 ET0=1;
29 1 // ES=1;
30 1 WDT();
31 1 EA=1;
32 1 }
33 void SendBit(bit b)
34 {
35 1 uchar i;
36 1 Dat_SP2=b;
37 1 for(i=9;i>0;i--);//20us
38 1 Clk_SP2=0;
39 1 for(i=18;i>0;i--);//40us
40 1 Clk_SP2=1;
41 1 for(i=9;i>0;i--);//20us
42 1 }
43 //================
44 //if send success,return 0;if inhibit by host,return 0xfe;if interrupt by host,return 0xff;
45 //================
46 /*
47 uchar SendByte(uchar dat)
48 {
49 uchar temp,i,sum;
50 bit s;
51 sum=0;
52 temp=dat;
53 if(Clk_SP2)
54 {
55 for(i=23;i>0;i--);//50us
C51 COMPILER V7.50 PER 02/06/2009 10:34:28 PAGE 2
56 if(Clk_SP2)
57 {
58 if(Dat_SP2)
59 {
60 for(i=9;i>0;i--);//20us
61 SendBit(0);//start bit
62 for(i=0;i<8;i++)
63 {
64 s=temp&0x01;
65 sum+=(uchar)s;
66 temp>>=1;
67 SendBit(s);//8 data bit
68 }
69 sum+=1;
70 s=sum&0x01;
71 SendBit(s);//parity bit
72 SendBit(1);//stop bit
73 for(i=14;i>0;i--);//30us
74 return 0;//send success
75 }
76 else
77 return 0xff;//send lose
78 }
79 else
80 return 0xff;//send lose
81 }
82 else
83 return 0xff;//send lose
84 }*/
85
86 uchar SendByte(uchar dat)
87 {
88 1 uchar temp,i,sum;
89 1 bit s;
90 1 sum=0;
91 1 temp=dat;
92 1 Clk_SP2 = 1;
93 1 Dat_SP2 = 1;
94 1 if(Clk_SP2)
95 1 {
96 2 for(i=23;i>0;i--);//50us
97 2 if(Clk_SP2)
98 2 {
99 3 if(Dat_SP2)
100 3 {
101 4 for(i=9;i>0;i--);//20us
102 4 SendBit(0);//start bit
103 4 if(!Clk_SP2)
104 4 return 0xfe;
105 4 for(i=0;i<8;i++)
106 4 {
107 5 s=temp&0x01;
108 5 sum+=(uchar)s;
109 5 temp>>=1;
110 5 SendBit(s);//8 data bit
111 5 if(!Clk_SP2)
112 5 return 0xfe;
113 5 }
114 4 sum+=1;
115 4 s=sum&0x01;
116 4 SendBit(s);//parity bit
117 4 if(!Clk_SP2)
C51 COMPILER V7.50 PER 02/06/2009 10:34:28 PAGE 3
118 4 return 0xfe;
119 4 SendBit(1);//stop bit
120 4 for(i=14;i>0;i--);//30us
121 4 return 0;//send success
122 4 }
123 3 else
124 3 return 0xff;//send lose
125 3 }
126 2 else
127 2 return 0xff;//send lose
128 2 }
129 1 else
130 1 return 0xff;//send lose
131 1 }
132 /*
133 uchar SendCode(uchar *px)
134 {
135 uchar sendnumtemp;
136 uchar *p1;
137 p1=px;
138 while((*p1)!=0)
139 {
140 if(!SendByte(*p1))
141 {
142 p1++;
143 sendnumtemp++;
144 }
145 else
146 return sendnumtemp;
147 }
148 return sendnumtemp;
149 }
150
151 void SendMakeCode(uchar num,uchar *p)
152 {
153 uchar i;
154 bit b;
155 for(i=num;i>0;i--)
156 {
157 b=SendByte(*p);
158 if(b)
159 p++;
160 else
161 i++;
162 }
163 }
164 void SendbreakCode(uchar num,uchar *p)
165 {
166 uchar i;
167 bit b;
168 do
169 b=SendByte(0xf0);
170 while(!b);
171 for(i=num;i>0;i--)
172 {
173 b=SendByte(*p);
174 if(b)
175 p++;
176 else
177 i++;
178 }
179
C51 COMPILER V7.50 PER 02/06/2009 10:34:28 PAGE 4
180 }
181 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 158 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -