📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 12/25/2008 21:13:13 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN F:\设计与~1\高压模~1\1246EC~1.11\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\设计与~1\高压模~1\1246EC~1.11\MAIN.C DB SB OE
stmt level source
1 #include "mdefine.h"
2 #include "IIC_Soft.h"
3 #include "Key_Dispose.h"
4 #include "Ziku.h"
5 #include "Lcd19264.h"
6 #include "PCF8563.h"
*** WARNING C280 IN LINE 32 OF PCF8563.H: 'i': unreferenced local variable
7 #include "Ad2543.h"
8 #include "Tlc5615.h"
9 #include "24c64.h"
10 //#include "PRINT_DATA.H"
11 extern uchar UiBuffer[];
12 extern uchar TmpBuf[];
13 extern uchar TimeBuffer[];
14 extern uchar Serial_Number[];
15 extern uchar Rec24c64[];
16 extern uchar idata Char_No;
17
18 uchar idata ch1[12]={0xd1,0xf5,0xbb,0xaf,0xd0,0xbf,0xb1,0xdc,0xc0,0xd7,0xc6,0xf7};//氧化锌避雷器
19 uchar idata ch2[8]={0xb2,0xe2,0xca,0xd4,0xbd,0xe1,0xb9,0xfb};//测试结果
20 uchar idata ch3[5]={0xb5,0xe7,0xd1,0xb9,0x3a};//电压
21 uchar idata ch4[5]={0xb5,0xe7,0xc1,0xf7,0x3a};//电流
22 uchar idata ch5[5]={0xcf,0xb5,0xcd,0xb3,0x3a};//系统
23 uchar idata ch6[7]={0xb2,0xe2,0xca,0xd4,0xd4,0xb1,0x3a};//测试员
24 uchar idata dauTmpBuf[6] = {0,0,0x2e,0,0x6b,0x56};//前四个字节为电压三位数含一位小数,后三个字节为kV
25 uchar idata daiTmpBuf[4] = {0,0,0xe6,0x41};//前二个字节为电流两位数,后二个字节为uA
26 uchar idata datime[14]={ 0,8,0x8c,1,2,0x8d,2,8,0x8e,1,6,0x3a,2,8};//08年12月28日16:28
27 //函数声明区
28 void Input_Serial_Number();
29 void disiping();
30
31
32 #pragma disable
33 void daima() // 转换打印代码
34 {
35 1 uchar i;
36 1 for(i=0;i<2;i++) //电压数字转换打印内码
37 1 dauTmpBuf[i]=UiBuffer[i]|0x30;
38 1 dauTmpBuf[3]=UiBuffer[2]|0x30;//电压小数点后一位
39 1
40 1 for(i=5;i<7;i++) //电流数字转换打印内码
41 1 daiTmpBuf[i-5]=UiBuffer[i]|0x30;
42 1
43 1 for(i=0;i<2;i++) //时间年数字转换打印内码
44 1 datime[i]=TimeBuffer[i]|0x30;
45 1
46 1 for(i=2;i<4;i++) //时间月数字转换打印内码
47 1 datime[i+1]=TimeBuffer[i]|0x30;
48 1
49 1 for(i=4;i<6;i++) //时间日数字转换打印内码
50 1 datime[i+2]=TimeBuffer[i]|0x30;
51 1
52 1 for(i=6;i<8;i++) //时间时数字转换打印内码
53 1 datime[i+3]=TimeBuffer[i]|0x30;
54 1
C51 COMPILER V7.06 MAIN 12/25/2008 21:13:13 PAGE 2
55 1 for(i=8;i<10;i++) //时间分数字转换打印内码
56 1 datime[i+4]=TimeBuffer[i]|0x30;
57 1 }
58
59 /*************串口发送子函数***********/
60 sprint(unsigned char a)
61 {
62 1 while(BUSY);
63 1 SBUF=a;
64 1 while(!TI);
65 1 TI=0;
66 1 }
67
68 void dayin()
69 {
70 1 int i;
71 1 TH1 = 0xfd;//波特率9600
72 1 TL1 = 0xfd;
73 1 TMOD = 0x20 ;
74 1 SCON = 0x40;//串行口方式1,10位数据,1位起始,8位数据,1位停止
75 1 TR1= 1;
76 1 ES = 1;
77 1 TI = 0;
78 1
79 1 sprint(0x1b);sprint(0x40);//初始化打印机
80 1 sprint(0x1b);sprint(0x63);sprint(0x00);//反向打印
81 1 sprint(0x1b);sprint(0x6c);sprint(0x0);//设定左限,居中
82 1 sprint(0x1c);sprint(0x26);sprint(0x00);//选择汉字
83 1
84 1 //打印“氧化锌避雷器”
85 1 for(i=0;i<12;i++) //打印氧化锌避雷器
86 1 sprint(ch1[i]);
87 1 sprint(0x0d); //回车
88 1
89 1 //打印“测试结果”
90 1 sprint(0x1b);sprint(0x6c);sprint(0x03);//设定左限,居中
91 1 for(i=0;i<8;i++)
92 1 sprint(ch2[i]);
93 1 sprint(0x0d); //回车
94 1
95 1 sprint(0x1b);sprint(0x6c);sprint(0x00);//设定左限,居左
96 1 for(i=0;i<12;i++)
97 1 sprint(0x2a);//打印“*********”
98 1 sprint(0x0d); //回车
99 1
100 1
101 1 //打印“电压:”
102 1 for(i=0;i<5;i++) //打印“电压”
103 1 sprint(ch3[i]);
104 1
105 1 //打印电压数值
106 1 for(i=0;i<6;i++) //打印电压数值
107 1 sprint(dauTmpBuf[i]);
108 1 sprint(0x0d); //回车
109 1
110 1 //打印“电流:”
111 1 for(i=0;i<5;i++) //打印“电流”
112 1 sprint(ch4[i]);
113 1
114 1 //打印电流数值
115 1 for(i=0;i<4;i++) //打印电流数值
116 1 sprint(daiTmpBuf[i]);
C51 COMPILER V7.06 MAIN 12/25/2008 21:13:13 PAGE 3
117 1 sprint(0x0d); //回车
118 1
119 1 //打印“**********”
120 1 for(i=0;i<12;i++)
121 1 sprint(0x2a);//打印“*************”
122 1 sprint(0x0d); //回车
123 1
124 1 //打印“系统:”
125 1 for(i=0;i<5;i++) //打印“系统:”
126 1 sprint(ch5[i]);
127 1 sprint(0x0d); //回车
128 1
129 1 //打印“测试员:”
130 1 for(i=0;i<7;i++) //打印“测试员:”
131 1 sprint(ch6[i]);
132 1 sprint(0x0d); //回车
133 1
134 1 sprint(0x1b);sprint(0x36);//选择字符集1
135 1 sprint(0x1b);sprint(0x6c);sprint(0x02);//设定左限,居右
136 1 for(i=0;i<14;i++) //打印时间
137 1 sprint(datime[i]);
138 1 sprint(0x0d); //回车
139 1 }
140
141 /**************************************
142 名称:main
143 功能:主函数
144 输入参数:无
145 输出参数:无
146 *************************************/
147 void Print_Data()
148 {
149 1 daima();
150 1 dayin();
151 1 }
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
C51 COMPILER V7.06 MAIN 12/25/2008 21:13:13 PAGE 4
179
180
181
182
183
184 void Time_Dispose_Read()
185 {
186 1 PCF8563_Read();
187 1 TimeBuffer[9] = TmpBuf[0] & 0x0F;
188 1 TimeBuffer[8] = (TmpBuf[0] & 0xF0) >> 4;
189 1 TimeBuffer[7] = TmpBuf[1] & 0x0F;
190 1 TimeBuffer[6] = (TmpBuf[1] & 0xF0) >> 4;
191 1 TimeBuffer[5] = TmpBuf[2] & 0x0F;
192 1 TimeBuffer[4] = (TmpBuf[2] & 0xF0) >> 4;
193 1 TimeBuffer[3] = TmpBuf[3] & 0x0F;
194 1 TimeBuffer[2] = (TmpBuf[3] & 0xF0) >> 4;
195 1 TimeBuffer[1] = TmpBuf[4] & 0x0F;
196 1 TimeBuffer[0] = (TmpBuf[4] & 0xF0) >> 4;
197 1 }
198 //刷新时间
199 #pragma disable
200 void Real_Display_Time() //实时显示时间
201 {
202 1 Time_Dispose_Read(); //读PCF8563万年历时间
203 1 dxz(0,96,2,0);
204 1 dxz(0,102,0,0);
205 1
206 1 dxz(0,108,TimeBuffer[0],0); //显示年月日
207 1 dxz(0,114,TimeBuffer[1],0);
208 1 dxz(0,120,10,0);
209 1 dxz(0,126,TimeBuffer[2],0);
210 1 dxz(0,132,TimeBuffer[3],0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -