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

📄 main.lst

📁 这是一称的项目原文件,包括T9汉字输入,打印机,24C512,已经引用到产品上
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.08   MAIN                                                                  03/05/2007 16:38:02 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\程序\keil c\C51\BIN\C51.EXE main.c LARGE INCDIR(c:|keil) DEBUG OBJECTEXTEND

line level    source

   1           /********************************************************************************
   2          * 【版权】 Copyright(C) belongs to 天宇蓝翔科技有限公司     All Rights Reserved *          
   3          * 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                    *
   4          *******************************************************************************/
   5          
   6          #include <LCD128x64.h>                            //液晶
   7          #include <LCD_date_1.h>  
   8          #include <keyboard451.h>
   9          #include <1302_2.h>
  10          #include <24C02.h>
  11          #include <weight.h>
  12          #include <timer.h>                                //定时器
  13          #include <print.h>
  14          #include <T9.h>
  15          #include <set.h>
  16          
  17          //子程序名称
  18          void enter_normal_work_mode(BYTE key_value);      //正常工作
  19          void enter_zongci_work_mode(BYTE key_value);      //总次
  20          void enter_leibie_work_mode(BYTE ch451_key);      //类别
  21          void enter_shepi_work_mode(BYTE ch451_key);       //设皮
  22          void enter_riqi_work_mode(BYTE ch451_key);        //日期
  23          void enter_shijian_work_mode(BYTE ch451_key);     //时间
  24          void enter_zongqing_work_mode(BYTE ch451_key);    //总清
  25          void enter_danqing_work_mode(BYTE ch451_key);     //单清
  26          void enter_huizong_work_mode(BYTE ch451_key);     //汇总 
  27          void enter_zidong_work_mode(BYTE ch451_key);      //自动
  28          void enter_jiucuo_work_mode(BYTE ch451_key);      //纠错   
  29          void enter_zongzhong_work_mode(BYTE ch451_key);   //总重
  30          void enter_chaxun_work_mode(BYTE ch451_key);      //查询
  31          void enter_zouzhi_work_mode(BYTE ch451_key);      //走纸
  32          void enter_cunru_work_mode(BYTE ch451_key);       //存入
  33          void enter_guiling_work_mode(BYTE ch451_key);     //归零
  34          void enter_guangji_work_mode(BYTE ch451_key);     //关机
  35          void enter_diaocheng_work_mode(BYTE ch451_key);   //调称
  36          void enter_beiguang_work_mode(BYTE ch451_key);    //背光
  37          void display_state_icon(void);                    //显示状态
  38          void display_normal(void);                        //显示正常
  39          void main_init(void);                             //主程序初始化
  40          void delay(void) ;                                //延时
  41          void save_record();                                   //存入记录
  42          
  43          //********以下增加打印子函数定义*********/
  44          void enter_all_print_work_mode(BYTE ch451_key);        //总报表打印
  45          void enter_date_print_work_mode(BYTE ch451_key);         //按日期打印
  46          void enter_type_print_work_mode(BYTE ch451_key);         //按类别打印
  47          void enter_date_type_print_work_mode(BYTE ch451_key);     //按日期类别打印
  48          
  49          //---------新增用户名、类别名、参数设置-------//
  50          void enter_user_name_work_mode(BYTE ch451_key);              //设置用户名子函数
  51          void enter_type_name_work_mode(BYTE ch451_key);              //设置类别名子函数
  52          void enter_canshu_work_mode(BYTE ch451_key);                 //设置参数子函数
  53          void enter_scale_work_mode(BYTE ch451_key);                 //设置分度值字函数  
  54          void enter_max_weight_work_mode(BYTE ch451_key);            //设置最大量程字函数
  55          void auto_close(void);
C51 COMPILER V7.08   MAIN                                                                  03/05/2007 16:38:02 PAGE 2   

  56          void T9_PY_SHURU(ch451_key);                                 //拼音输入子函数
  57          //-------------------------------//
  58          
  59          
  60          enum operate_mode
  61          {
  62                  NORMAL,                                       //正常模式
  63                  ZONG_CI,                                      //总次
  64                  LEI_BIE,                                      //类别
  65                  SHE_PI,                                       //设皮
  66                  RI_QI,                                        //日期
  67                  SHI_JIAN,                                     //时间
  68                  ZONG_QING,                                    //总清
  69                  DAN_QING,                                     //单清
  70                  HUI_ZONG,                                     //汇总
  71                  ZI_DONG,                                      //自动
  72                  JIU_CUO,                                      //纠错
  73                  ZONG_ZHONG,                                   //总重
  74                  CHA_XUN,                                      //查询
  75                  ZOU_ZHI,                                      //走纸
  76                  BEI_GUANG,                                    //背光    
  77                  CUN_RU,                                       //存入
  78                  GUI_LING,                                     //归零
  79                  GUAN_JI,                                      //关机   
  80                  DIAO_CHENG, 
  81                  T9_INPUT,////////////新增
  82                  SET_USER_NAME,////////////新增
  83                  SET_TYPE_NAME,////////////新增
  84                  SET_CANSHU,  ////////////新增
  85                  PRINT_ALL,  //全部打印
  86                  PRINT_TYPE, //按类别打印
  87                  PRINT_DATE, //按日期打印
  88                  PRINT_TYPE_DATE,//按类别和日期打印*/
  89                  SET_SCALE,//设置分度值
  90                  SET_MAX_WEIGHT//设置最大量程值                                   //调称 
  91          }work_mode;
  92          
  93          //for state line;
  94          BOOL flag_1,flag_1_1;                             //第一行的标志
  95          BOOL flag_2,flag_2_2;
  96          BOOL flag_3,flag_3_3;
  97          BOOL flag_4,flag_4_4;
  98          BOOL flag_5,flag_5_5;
  99          BOOL flag_6,flag_6_6;
 100          
 101          sbit  aaa=P3^6;                                    //液晶背光
 102          sbit  bbb=P3^7; 
 103          
 104          /////////增加变量定义//////////////////////////////
 105          BOOL pulse=0;//定时脉冲(增加)
 106          BOOL key_flag1=0;//按键标志位1(增加)
 107          BOOL key_flag2=0;//按键标志位2(增加)
 108          //int code_flag=0;//定义密码标志位(增加)
 109          BYTE  counter1=0;//计数变量1(增加)
 110          BYTE  counter2=0;//计数变量2(增加)
 111          //按键值变量(增加)
 112          //-------------------------------//
 113          //BYTE save_current_code[6]={0};/////////////////////
 114          BYTE save_tem_code1[6]={9,8,5,8,6,3};////////////////////////用户名密码
 115          BYTE save_tem_code2[6]={9,3,5,9,4,7};////////////////////////类别名密码
 116          //BYTE save_tem_code3[6]={7,6,5,4,3,2};////////////////////////参数设置密码
 117          //----------END----------------//
C51 COMPILER V7.08   MAIN                                                                  03/05/2007 16:38:02 PAGE 3   

 118          //////////////////////////////////////////////////
 119          //BYTE mm=0,nn=0;
 120          BYTE key_num;//新增定义
 121          //WORD max_weight;   //最大称重量程
 122          WORD static_weight; //将零点重量值定义为静态重量值 (增?
 123          BYTE tem[6]={0};//用于输入最大量程
 124          //-------------------------//
 125                                             //按键音
 126          void main()
 127          {
 128   1         int ii;
 129   1         Delay1(5000) ;  
 130   1         main_init();                                   //初始化
 131   1         Delay1(5000) ;  
 132   1         lcd_Init();                                    //显示初始化为图形
 133   1         lcd_Disp_Clear();
 134   1         lcd_Disp_Pho(tylx_new_mono);                   //显示公司图形        
 135   1         timer1_init(TIME_2S);                          //延时
 136   1         while(count_timer1);
 137   1         lcd_Disp_Clear_pho();
 138   1         
 139   1      //      lcd_Disp_shuzi(shuzi_zimo_a5,0);
 140   1      //      lcd_Disp_shuzi(shuzi_zimo_a5,4);
 141   1              
 142   1      //  timer1_init(TIME_2S);                        //延时
 143   1      //  while(count_timer1);
 144   1        lcd_Write_Cmd(0x34);
 145   1        save_unit.xu_num=1;
 146   1      
 147   1        save_unit.weight_data=12;
 148   1      
 149   1      //Write_Data_EEPROM(save_unit.xu_num);
 150   1      
 151   1      //save_unit.weight_data=0;
 152   1      
 153   1      //Read_Data_EEPROM();
 154   1      
 155   1      if (save_unit.weight_data<90000) save_unit.weight_data=18;
 156   1      
 157   1      for (ii=0;ii<2;ii++)
 158   1      {
 159   2              //lcd_Disp_Clear_pho();
 160   2         //lcd_Disp_Clear();
 161   2         //new_receive_weight=save_unit.weight_data;
 162   2         lcd_Display_zhonglang(save_unit.weight_data);     //显示重量(大字)
 163   2      
 164   2      //timer1_init(TIME_2S);  
 165   2        //while(count_timer1);
 166   2        
 167   2      
 168   2      } 
 169   1      
 170   1        
 171   1         lcd_Disp_Clear();
 172   1         lcd_Disp_Text_Line_Order(0x82,tylx1);           //显示公司电话
 173   1         lcd_Disp_Text_Line_Order(0x92,tylx2);
 174   1         lcd_Disp_Text_Line_Order(0x88,tylx3);
 175   1         lcd_Disp_Text_Line_Order(0x98,tylx4);
 176   1         timer1_init(TIME_2S);
 177   1         while(count_timer1);
 178   1         lcd_Disp_Clear(); 
 179   1         display_normal();//second    line              //显示正常模式
C51 COMPILER V7.08   MAIN                                                                  03/05/2007 16:38:02 PAGE 4   

 180   1         ch451_init();                                  //键盘初始化
 181   1         /*****************开总中断********************/
 182   1         EA =1;        
 183   1         
 184   1        /*********************************************/
 185   1         //进入主循环
 186   1         while(1){
 187   2                         display_state_icon();//first line       //显示符号
 188   2      
 189   2            if(renew_key_id)
 190   2                              {               //has key push
 191   3                    renew_key_id = 0;
 192   3                    timer1_init(TIME_4S);
 193   3                         switch (work_mode)
 194   3                                {
 195   4                                 case NORMAL:
 196   4                                         enter_normal_work_mode(ch451_key); //正常
 197   4                                         break;
 198   4                                 case ZONG_CI:                 
 199   4                                         enter_zongci_work_mode(ch451_key); //总次
 200   4                                         key_flag1=0;
 201   4                          key_flag2=0;
 202   4                                         break;
 203   4                                 case LEI_BIE:
 204   4                                         enter_leibie_work_mode(ch451_key); //类别
 205   4                                         key_flag1=0;
 206   4                         key_flag2=0;
 207   4                                         break;
 208   4                                 case SHE_PI:
 209   4                                              enter_shepi_work_mode(ch451_key); //设皮
 210   4                                              key_flag1=0;
 211   4                          key_flag2=0;
 212   4                                              break;
 213   4                                 case RI_QI:
 214   4                                              enter_riqi_work_mode(ch451_key);  //日期
 215   4                                              key_flag1=0;
 216   4                          key_flag2=0;
 217   4                                              break;
 218   4                                 case SHI_JIAN:
 219   4                                              enter_shijian_work_mode(ch451_key); //时间
 220   4                                              key_flag1=0;
 221   4                          key_flag2=0;
 222   4                                              break;
 223   4                                 case ZONG_QING:
 224   4                                              enter_zongqing_work_mode(ch451_key); //总清
 225   4                                              key_flag1=0;
 226   4                          key_flag2=0;
 227   4                                              break;
 228   4                                 case DAN_QING:
 229   4                                              enter_danqing_work_mode(ch451_key);  //单清

⌨️ 快捷键说明

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