⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 print.lst

📁 这是一称的项目原文件,包括T9汉字输入,打印机,24C512,已经引用到产品上
💻 LST
📖 第 1 页 / 共 2 页
字号:
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 + -