📄 print.lst
字号:
C51 COMPILER V7.08 PRINT 03/05/2007 16:38:08 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE PRINT
OBJECT MODULE PLACED IN print.OBJ
COMPILER INVOKED BY: D:\程序\keil c\C51\BIN\C51.EXE print.c LARGE INCDIR(c:|keil) DEBUG OBJECTEXTEND
line level source
1 //************************************************************
2 // 并口发数示例1 -- 适用于P1口未被占用的情况
3 //************************************************************
4 #include "print.h"
5 #include "24C02.h"
6 #include <set.h>
7
8 BYTE idata rece_buf[45];
9
10 void SendData(unsigned char UByte)
11 {
12 1 P0 = UByte;
13 1 while(BUSY);
14 1 STB=0;
15 1 STB=1;
16 1 }
17 unsigned char code DataList_1[]={
18 0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E, //~~~~~~~~~~
19 0x0a,
20 0xC7,0xEB,0xB5,0xB1,0xC3,0xE6,0xBA,0xCB,0xB6,0xD4, //check on time
21 0x0a,0x0a,0x0a
22 };//表尾
23 unsigned char idata DataList_4[]={
24 0x1c,0x26,0x1c,0x69,0x00, //汉字模式,16*16 0,1,2,
-3,4
25 0x1b,0x63,0x00, //反向打印 5,6,7
26 0x1c,0x0e, //8,9 //倍宽
27 0xB1,0xB1,0xbe,0xA9,0xCC,0xEC,0xD3,0xEE, //10~17 //北京天宇
28 0x0a, //18
29 0x1c,0x0e, //19,20 //倍宽
30 0x1b,0x66,0x00,0x02, //21,22,23,24 //换行,2空格
31 0xB3,0xC6,0xD6,0xD8,0xB5,0xA5, //25~30 //称重单
32 0x0a, //31
33 0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E, //~~~~~~~~~~32~47
34 0x0a //48
35 };//表头信息
36 unsigned char code DataList_5[]={
37 0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E, //~~~~~~~~~~
38 0x0a,
39 0xD0,0xF2,0xBA,0xC5,0x20,0xCA,0xB1,0xBC,0xE4,0x20,0xD6,0xD8,0xC1,0xBF,0x4B,0x47, //序号 时间 重量KG
40 0x0a
41 };//序号 时间 重量(表头)
42
43
44 /*打印当前记录记录*/
45 void print_record() //打印当前
46 {
47 1
48 1 WORD n;
49 1 BYTE i; //hl//要存记录的首地址
50 1 // char status;
51 1 n=(save_current_num-1)*0x0c+0x0010;
52 1 for(i=0;i<45;i++)
53 1 { rece_buf[i]=0;}
54 1 dayin_biaotou(); //表头
C51 COMPILER V7.08 PRINT 03/05/2007 16:38:08 PAGE 2
55 1 dayin_yonghu(); //用户
56 1 dayin_riqi(); //日期
57 1 cc256R(&rece_buf[0],0x0c,n);
58 1 Delay1(5000);
59 1 dayin_leibie(rece_buf[2]); //打印类别
60 1 dayin_xuhao(); // 序号(表头2)
61 1 dayin_xinxi(&rece_buf[0], &rece_buf[6],&rece_buf[8]);
62 1 dayin_biaowei(); //表尾
63 1
64 1 }
65
66
67 void dayin_xuhao(void) //序号 时间 重量KG(表头)
68 {
69 1 unsigned char i;
70 1 BUSY = 1;
71 1 for(i=0;i<33;i++)
72 1 {
73 2 SendData(DataList_5[i]);
74 2 }
75 1 }
76
77
78 void dayin_all(void) //打印全部
79 {
80 1 BYTE i,leibie,status;
81 1 WORD n;
82 1 BYTE user[8];
83 1 BUSY = 1;
84 1 for(i=0;i<45;i++)
85 1 { rece_buf[i]=0;}
86 1
87 1 Delay1(1000);
88 1 Delay1(100);
89 1 Delay1(1000);
90 1 Delay1(100);
91 1 status=cc256R(&rece_buf[0] , 0x16, 0x0003);
92 1 Delay1(1000);
93 1 Delay1(100);
94 1 leibie=rece_buf[9];
95 1 for(i=0;i<8;i++)
96 1
97 1 user[i]=rece_buf[1+i];
98 1
99 1 for(i=0;i<8;i++)
100 1 {DataList_4[10+i] = user[i] ;}
101 1
102 1 dayin_biaotou(); //表头1
103 1 dayin_riqi(); //日期
104 1 dayin_leibie(leibie);
105 1 dayin_zongci(save_current_num);
106 1 dayin_zongzhong(all_weight);
107 1 dayin_xuhao(); //序号(表头2)
108 1
109 1 for(i=save_current_num;i<=save_current_num;i--)
110 1 {
111 2 rece_buf[0]=i;
112 2 n=(i-1)*0x16+0x0013;
113 2 status=cc256R(&rece_buf[1] , 0x06, n);
114 2 dayin_xinxi(&rece_buf[0],&rece_buf[1],&rece_buf[5]);
115 2 Delay1(1000);
116 2 if(i==1) i=0;
C51 COMPILER V7.08 PRINT 03/05/2007 16:38:08 PAGE 3
117 2 }
118 1
119 1
120 1 dayin_biaowei(); //表尾
121 1 }
122
123
124 void dayin_biaotou(void) //打印表头
125 {
126 1 unsigned char i;
127 1 BUSY = 1;
128 1 for(i=0;i<49;i++)
129 1 {
130 2 SendData(DataList_4[i]);
131 2 }
132 1 }
133 void dayin_biaowei(void) //打印表尾
134 {
135 1 unsigned char i;
136 1 BUSY = 1;
137 1 for(i=0;i<30;i++)
138 1 {
139 2 SendData(DataList_1[i]);
140 2 }
141 1 }
142 void dayin_shijian(BYTE *time) //打印时间
143 {
144 1 BYTE shiwei,gewei;
145 1 hanzi_fanxiang();
146 1 SendData(0x20); //空格
147 1 shiwei =0x30+(*time)/10;
148 1 gewei = 0x30+(*time)%10;
149 1 SendData(shiwei);
150 1 SendData(gewei);
151 1 SendData(0x3a); //:
152 1 shiwei =0x30+(*(time+1))/10;
153 1 gewei = 0x30+(*(time+1))%10;
154 1 SendData(shiwei);
155 1 SendData(gewei);
156 1 SendData(0x20); //空格
157 1
158 1 }
159
160
161 void dayin_zongci(WORD p_data) //打印总次
162 {
163 1 hanzi_fanxiang();
164 1
165 1 set_pizhong_num_address_bydata(p_data) ;
166 1 Delay1(5000);
167 1
168 1 if(save_pizhong_buffer.wanwei==0x20) save_pizhong_buffer.wanwei=0x30;
169 1 if(save_pizhong_buffer.qianwei==0x20) save_pizhong_buffer.qianwei=0x30;
170 1 if(save_pizhong_buffer.baiwei==0x20) save_pizhong_buffer.baiwei=0x30;
171 1 if(save_pizhong_buffer.shiwei==0x20) save_pizhong_buffer.shiwei=0x30;
172 1
173 1
174 1 SendData(0xd7); //总
175 1 SendData(0xdc);
176 1 SendData(0xb4); //次
177 1 SendData(0xce);
178 1 SendData(0x3a); //:
C51 COMPILER V7.08 PRINT 03/05/2007 16:38:08 PAGE 4
179 1 SendData(save_pizhong_buffer.wanwei);
180 1 SendData(save_pizhong_buffer.qianwei);
181 1 SendData(save_pizhong_buffer.baiwei);
182 1 SendData(save_pizhong_buffer.shiwei);
183 1 SendData(save_pizhong_buffer.gewei);
184 1 SendData(0x0a); //换行
185 1 }
186
187 void dayin_zongzhong(long int p_data) //打印总重
188 {
189 1 hanzi_fanxiang();
190 1
191 1 set_zongzhong_num_address_bydata(p_data);
192 1 Delay1(5000);
193 1
194 1 SendData(0xd7); //总
195 1 SendData(0xdc);
196 1 SendData(0xd6); //重
197 1 SendData(0xd8);
198 1 SendData(0x3a); //:
199 1 SendData(save_type_buffer.baiwei);
200 1 SendData(save_type_buffer.shiwei);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -