📄 b3_2006.lst
字号:
C51 COMPILER V7.50 B3_2006 04/09/2006 20:35:21 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE B3_2006
OBJECT MODULE PLACED IN E:\DHFWORK\B3_2006J\B3_2006.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\DHFWORK\B3_2006J\B3_2006.C DB SB OE
line level source
1 #include <reg52.h>
2 #include <absacc.h>
3 #include "B3_2006.h"
4
5 #define CONSTER 0xFFFF
6
7 sbit P1_0 = P1^0;
8 sbit P1_1 = P1^1;
9 sbit P1_2 = P1^2;
10 sbit P1_3 = P1^3;
11 sbit P1_4 = P1^4;
12 sbit P1_5 = P1^5;
13 sbit P1_6 = P1^6;
14 sbit P1_7 = P1^7;
15 sbit P3_4 = P3^4; //T0
16 sbit P3_5 = P3^5; //T1
17 sbit clflag=ACC^7;
18
19
20 //共阴 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0. 1. 2. 3. 4. 5. 6.
- 7. 8. 9.
21 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0
-x87,0xff,0xef};
22 uchar DP[20];
23 uint Max[2]={260,800};
24 //uint idata BUF8253[3];
25 float idata BUF8253[4];
26 uchar ucReCom[25]= "@SA2356B33456712356%";
27 uchar uiRe_In=0,flag,p;
28 //uchar ppt;
29 uchar MCUToPC[10]="@a+0000%";
30 uchar Error[8]="@ERROR%";
31 uchar EVENTHAND=0;
32 uchar FFG_PLC;
33 //********延时程序*******************
34 void Delay(int jw)
35 {
36 1 int id;
37 1 for(;jw>0;jw--)
38 1 for(id=0;id<125;id++)
39 1 {;}
40 1 }
41 /*! @function ***********************************/
42 void Beep(int x,int y)
43 {
44 1 for( ;x>0;x--)
45 1 {
46 2 P1_0=0;
47 2 Delay(y);
48 2 P1_0=1;
49 2 Delay(y);
50 2 }
51 1 }
52
53
C51 COMPILER V7.50 B3_2006 04/09/2006 20:35:21 PAGE 2
54 void init()
55 {
56 1 uchar ig;///j,u;
57 1 PCON=0x80;
58 1 TMOD=0x20; //定时器0方式1,
59 1 TH1=0xfd; //设定波特率为19200
60 1 TL1=0xfd;
61 1 // IE=0x92; //开中断,允许串行口,定时器0,1中断
62 1 IP=0x10; //设中断的优先级 1为高级优先级
63 1 SCON=0x50; //串行口工作在方式1,1 start;8 data bit;1 stop
64 1 TR1=1;
65 1 P1_5 = 0;
66 1 P1_6 = 0;
67 1 P1_7 = 0;
68 1 Delay(100);
69 1 //8255 初始化
70 1 CMD8255A=0x9B;
71 1 CMD8255B=0x9B;
72 1 CMD8255C=0x80;
73 1 PA8255C=0x00;//close gata of counter
74 1 Delay(100);
75 1 //8279 初始化
76 1 CMD8279 = 0xd1;
77 1 do //8279置0
78 1 {
79 2 ACC=CMD8279;
80 2 }while(clflag == 1);
81 1 CMD8279 = 0x08;//显示方式
82 1 CMD8279 = 0x2f;//分频系数
83 1 for(ig=0;ig<16;ig++)
84 1 {
85 2 CMD8279 = ig+0x80;
86 2 DAT8279 = 0x3f;
87 2 }
88 1 //8253初始化
89 1 A8254CMD = 0x38;
90 1 A8254T0 = 0xff;
91 1 A8254T0 = 0xff;
92 1 A8254CMD = 0x78;
93 1 A8254T1 = 0xff;
94 1 A8254T1 = 0xff;
95 1 A8254CMD = 0xb8;
96 1 A8254T2 = 0xff;
97 1 A8254T2 = 0xff;
98 1
99 1
100 1 IE=0x92; //开中断,允许串行口,定时器0,1中断
101 1 }
102
103 /*! @function
104 ***************************************************
105 <PRE>
106 函数名 : <SendChar>
107 功能 : <发送数据函数>
108 参数 : <char uSendData>
109 返回值 : <void>
110 抛出异常 : <无>
111 ---------------------------------------------------
112 备注 : <初始化参数要根据具体情况来设定!>
113 典型用法 : < SendChar('a'); >
114 ---------------------------------------------------
115 作者 :dhf
C51 COMPILER V7.50 B3_2006 04/09/2006 20:35:21 PAGE 3
116 创立时间 :2005.9.8
117 第 次修改时间/修改者:
118
119 </PRE>
120 ***************************************************/
121 void SendChar(char uSendData)
122 {
123 1 SBUF=uSendData;
124 1 while(!TI);
125 1 TI=0;
126 1 }
127
128 void _MCUtoPC(void)
129 {
130 1 int jd;
131 1 for(jd=0;jd<10;jd++)
132 1 {
133 2 SendChar(MCUToPC[jd]);
134 2 }
135 1 }
136
137 /*! @function
138 ***************************************************
139 <PRE>
140 函数名 : <CM>
141 功能 : <数据解析>
142 参数 : <int a, int b, int c, int q,int f>
143 参数说明 : int a //个位
144 int b //百位
145 int c //十位
146 int q //千位
147 int f //符号位
148 返回值 : <int m>
149 抛出异常 : <无>
150 ---------------------------------------------------
151 备注 : <无通用性!>
152 典型用法 : <CM(a,b,c,q,f)>
153 ---------------------------------------------------
154 作者 : dhf
155 创立时间 :2005.9.8
156 第 次修改时间/修改者:
157
158 </PRE>
159 ***************************************************/
160 int CM(int a, int b, int c, int q,int f)
161 {
162 1 int mu,ju,ku,wu,ru;
163 1 switch(f) //符号
164 1 {
165 2 case 0x00:
166 2 ru=-1;
167 2 MCUToPC[2]='-';
168 2 break;
169 2 case 0x01:
170 2 ru=1;
171 2 MCUToPC[2]='+';
172 2 break;
173 2 default: break;
174 2 }
175 1 switch(q) //千位
176 1 {
177 2 case 0x01:
C51 COMPILER V7.50 B3_2006 04/09/2006 20:35:21 PAGE 4
178 2 wu=0;
179 2 MCUToPC[3]='0';
180 2 break;
181 2 case 0x00:
182 2 wu=1000;
183 2 MCUToPC[3]='1';
184 2 break;
185 2 default: break;
186 2 }
187 1 switch(b) //百位
188 1 {
189 2 case 0x00:
190 2 ju=8;
191 2 MCUToPC[4]='8';
192 2 break;
193 2 case 0x06:
194 2 ju=2;
195 2 MCUToPC[4]='2';
196 2 break;
197 2 case 0x08:
198 2 ju=6;
199 2 MCUToPC[4]='6';
200 2 break;
201 2 case 0x10:
202 2 ju=0;
203 2 MCUToPC[4]='0';
204 2 break;
205 2 case 0x20:
206 2 ju=9;
207 2 MCUToPC[4]='9';
208 2 break;
209 2 case 0x24:
210 2 ju=3;
211 2 MCUToPC[4]='3';
212 2 break;
213 2 case 0x28:
214 2 ju=5;
215 2 MCUToPC[4]='5';
216 2 break;
217 2 case 0x61:
218 2 ju=4;
219 2 MCUToPC[4]='4';
220 2 break;
221 2 case 0x74:
222 2 ju=7;
223 2 MCUToPC[4]='7';
224 2 break;
225 2 case 0x75:
226 2 ju=1;
227 2 MCUToPC[4]='1';
228 2 break;
229 2 default: break;
230 2 }
231 1 switch(c) //十位
232 1 {
233 2 case 0x00:
234 2 ku=8;
235 2 MCUToPC[5]='8';
236 2 break;
237 2 case 0x01:
238 2 ku=0;
239 2 MCUToPC[5]='0';
C51 COMPILER V7.50 B3_2006 04/09/2006 20:35:21 PAGE 5
240 2 break;
241 2 case 0x08:
242 2 ku=6;
243 2 MCUToPC[5]='6';
244 2 break;
245 2 case 0x10:
246 2 ku=9;
247 2 MCUToPC[5]='9';
248 2 break;
249 2 case 0x14:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -