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

📄 printer.lst

📁 单片机
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   PRINTER                                                               03/04/2008 10:55:52 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE PRINTER
OBJECT MODULE PLACED IN printer.OBJ
COMPILER INVOKED BY: D:\Program Files\keil c\C51\BIN\C51.EXE printer.C BROWSE DEBUG OBJECTEXTEND SRC(.\printer.SRC)

stmt level    source

   1          /*------------------------------------------------------------------------------
   2          CSAMPLE1.C
   3          Copyright 1995-1999 Keil Software, Inc.
   4          ------------------------------------------------------------------------------*/
   5          //#include <reg51.h>                             /* define 8051 registers */
   6          #include <stdio.h>                             /* define I/O functions */
   7          #include <math.h>
   8          // 打印机厂家需要的头文件
   9          #include<reg52.h>
  10          #include<string.h>
  11          //  加入自己定义的头文件。
  12          #include "lyj.h"
  13          //加入液晶厂家的显示公用头文件
  14          #include "led.h"
  15          #include "I2C.h"
  16          extern unsigned int getnumber (void);
  17          //unsigned int  i=0;
  18          extern void output (unsigned int);
  19          //处理完毕所有的键盘输入;
  20          unsigned int  total = 4 ; // 合计需要存储4组
  21          input   sinput;
  22          canshu  scanshu; 
  23            //   建立所有公用的使用参数:
  24          //unsigned  char   store[12][4];
  25          //input store_sinput[4]; 
  26          unsigned  char screen ;     // 屏幕状态,0是主屏,1是打印屏,2是设置屏1,3是设置屏2.
  27          unsigned char bkey  ;   // 获得的键值
  28          unsigned char  Revbuffer[10];
  29          void main (void)  
  30          {    
  31   1                              
  32   1      // 初始化液晶
  33   1        LcmInit();
  34   1      //初始化打印机
  35   1        intiPri();
  36   1      //初始化单片机
  37   1        intiCpu();
  38   1        restoreConfig();
  39   1      //      intiLed();
  40   1      // 开机显示画面;
  41   1        showLcd(0);
  42   1      while (1)
  43   1      {
  44   2              bkey = inputkey();      
  45   2                      switch (bkey)          //如果有键盘按下
  46   2                              {
  47   3                              case 1:  inputnum(0);
  48   3                              break ;
  49   3                              case 2:  inputnum(1);
  50   3                              break ;
  51   3                              case 3:  inputnum(2);
  52   3                              break ;
  53   3                              case 4:  inputnum(3);
  54   3                              break ;
  55   3                              case 5:  inputnum(4);
C51 COMPILER V7.06   PRINTER                                                               03/04/2008 10:55:52 PAGE 2   

  56   3                              break ;
  57   3                              case 6:  inputnum(5);
  58   3                              break ;
  59   3                              case 7:  inputnum(6);
  60   3                              break ;
  61   3                              case 8:  inputnum(7);
  62   3                              break ;
  63   3                              case 9:  inputnum(8);
  64   3                              break ;
  65   3                              case 10:  inputnum(9);
  66   3                              break ;
  67   3                              case 11:  inputnod();  //输入小数点
  68   3                              break ;
  69   3                              case 12:  inputf1();   //输入F1键  存储
  70   3                              break ;
  71   3                              case 13:  inputf2();        // 打印。
  72   3                              break ;
  73   3                              case 14:  inputf3();
  74   3                              break ;
  75   3                              case 15:  inputf4();
  76   3                              break ;
  77   3                              case 16:  inputok();   //输入确定键
  78   3                              break ;
  79   3                              case 17:  inputesc();   //输入取消键
  80   3                              break ;
  81   3                              case 18:  inputback();   //输入backspace 键
  82   3                              break ;
  83   3                              case 19:  inputqie();    //切换键
  84   3                              break ;
  85   3                              case 20:  inputup();    //向上键
  86   3                              break ;
  87   3                              case 21:  inputdown();      //向下键
  88   3                              break ;
  89   3                              case 22:  inputlink();       //连接键 无用
  90   3                              break ;
  91   3                              case 23:  inputlyj1();       //备用键1
  92   3                              break ;
  93   3                              case 24:  inputlyj2();       //备用键2
  94   3                              break ;
  95   3                              default : break ;} //end of switch  */
  96   2                              }// end of while
  97   1      // 所有键盘的处理程序完成。
  98   1              }// end of main 
  99          // 以下是所有的子函数。
 100          //液晶初始化子函数、
 101          
 102           /*void  intiLed()
 103          {
 104          
 105          }*/
 106          
 107          //打印机初始化函数
 108          void intiPri()
 109          {
 110   1      //      SP = 0xA0;
 111   1      //      IE = 0x1B;
 112   1              TH1=0xe8; //波特率2400
 113   1              TL1=0xe8; //波特率2400
 114   1              //TH1=253; //波特率9600
 115   1              TMOD=32; //串口设置,定时器1,方式2
 116   1              SCON=0xd0; //串口发送方式3
 117   1              TR1 = 1;
C51 COMPILER V7.06   PRINTER                                                               03/04/2008 10:55:52 PAGE 3   

 118   1      }
 119          // 单片机初始化函数
 120          void  intiCpu()
 121          {
 122   1                     
 123   1       screen =0 ;  // 屏幕状态,0是主屏,1是设置屏 ,2是打印屏
 124   1       Page =0;
 125   1       Col=0;    //光标默认位置是0.0
 126   1      //  输入屏幕5个参数;
 127   1                sinput.bianma =0;   
 128   1                sinput.num =0;
 129   1                sinput.price =0;
 130   1                sinput.nownum =0;
 131   1      //        sinput.total=4; // 合计需要存储4组
 132   1        //    设置屏幕的6个参数
 133   1              scanshu.hanghead =0;    //起始横坐标 
 134   1              scanshu.liehead =0;     //起始纵坐标
 135   1              scanshu.wide =0;        //标签宽度       
 136   1              scanshu.painum=0;       //打印排数
 137   1              scanshu.type =0;        //条码类型
 138   1              scanshu.comm =0;        //输出串口
 139   1      //记住光标的位置,用于响应键盘。
 140   1      bkey =0;
 141   1      }
 142          //键盘扫描子程序
 143          unsigned char  inputkey ()
 144          {
 145   1        delay10ms();  //健消除抖动的延时函数  
 146   1        bkey=kbscan();   //键盘扫描函数
 147   1        delay10ms(); 
 148   1        return bkey;
 149   1      }
 150          
 151          //  键盘扫描子程序
 152          unsigned char kbscan()
 153          {
 154   1        unsigned char sccode,recode;
 155   1        unsigned char i;
 156   1        for (i=0;i<4;i++)
 157   1        {
 158   2        if(i==0)
 159   2        {     /*扫描第1行*/
 160   3              P1 = 0xFF;
 161   3              line1 = 0;// 发0行扫描。
 162   3              line2 = 1;
 163   3              line3 = 1;
 164   3              line4 = 1;
 165   3              sccode= P1;
 166   3              sccode&= 0xFC;
 167   3      
 168   3              //本行有键按下
 169   3              if(sccode != 0xFC)
 170   3              {
 171   4                      delay10ms();
 172   4      
 173   4                      sccode = P1;
 174   4                      sccode&=0xFC;
 175   4      
 176   4                      if(sccode !=0xFC)
 177   4                      {
 178   5                              sccode=P1;
 179   5                              sccode&=0xFC;
C51 COMPILER V7.06   PRINTER                                                               03/04/2008 10:55:52 PAGE 4   

 180   5                              
 181   5                              switch(sccode)
 182   5                              {
 183   6                                      case 0x7C:
 184   6                                      recode=1;break;
 185   6                                      case 0xBC:
 186   6                                      recode=2;break;
 187   6                                      case 0xDC:
 188   6                                      recode=3;break;
 189   6                                      case 0xEC:
 190   6                                      recode=4;break;
 191   6                                      case 0xF4:
 192   6                                      recode=5;break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -