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

📄 main.lst

📁 一个基于C51开发的计价秤
💻 LST
📖 第 1 页 / 共 5 页
字号:
  15      =1  #define PLU14 0x25
  16      =1  #define PLU15 0x2c
  17      =1  #define PLU16 0x33
  18      =1  #define PLU17 0x03
  19      =1  #define PLU18 0x0a
  20      =1  #define PLU19 0x11
  21      =1  #define PLU20 0x18
  22      =1  #define PLU21 0x1f
  23      =1  #define PLU22 0x26
  24      =1  #define PLU23 0x2d
  25      =1  #define PLU24 0x34
  26      =1  #define PLU25 0x04
  27      =1  #define PLU26 0x0b
  28      =1  #define PLU27 0x12
  29      =1  #define PLU28 0x19
  30      =1  #define PLU29 0x20
  31      =1  #define PLU30 0x27
  32      =1  #define K_ADD 0x2e 
  33      =1  #define K_SUB 0x35  
  34      =1  #define K_MUL 0x05 
  35      =1  #define K_DIV 0x0c
  36      =1  #define K_00 0x13 
  37      =1  #define K_0 0x1a
  38      =1  #define K_1 0x21
  39      =1  #define K_2 0x28
  40      =1  #define K_3 0x2f
  41      =1  #define K_4 0x36
  42      =1  #define K_5 0x06
  43      =1  #define K_6 0x0d
  44      =1  #define K_7 0x14
  45      =1  #define K_8 0x1b
  46      =1  #define K_9 0x22
  47      =1  #define K_ENTER 0x29
  48      =1  #define K_ZERO 0x30
  49      =1  #define K_TARE 0x37
  50      =1  #define K_CLEAR 0x07
  51      =1  #define K_PRINT 0x0e
  52      =1  #define K_TOTAL 0x15
  53      =1  #define K_PAYBACK 0x1c
  54      =1  #define K_CLOCK 0x41
  55      =1  #define K_MEMORY 0x42 
  56      =1  #define K_ON_OFF 0x43 
  57      =1  //Shift key define
  58      =1  #define K_SHIFT 1
  59      =1  #define K_MEM 2
  60      =1  #define K_MODE 3 
  17          #include "main.h"
   1      =1  /*********************************************/
   2      =1  // File Name: mian.h
   3      =1  // Author: henny
   4      =1  // Date: 2006/3/1
   5      =1  /*********************************************/
   6      =1  /*************Variable Define*****************/
   7      =1  BOOL Beep_on,KG_flag,Ver_flag,Unit_flag,Light_on;
   8      =1  WORD Graduation_Grade;
   9      =1  BYTE Graduation1;
  10      =1  BYTE Graduation2;
  11      =1  WORD Max_Capacity;
  12      =1  BYTE Initial_Zero_Setting_limit;
  13      =1  BYTE Zero_Setting_and_Zero_Tracking_limit; 
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 11  

  14      =1  WORD Zero_Stable_count;
  15      =1  BYTE Zero_Stable_times;
  16      =1  WORD Weight_Stable_count;
  17      =1  BYTE Weight_Stable_times;
  18      =1  BYTE Err1_Timeout;
  19      =1  WORD Local_Height;
  20      =1  BYTE Local_Latitude;
  21      =1  WORD Destination_Height;
  22      =1  BYTE Destination_Latitude;
  23      =1  WORD Soft_ver_no;
  24      =1  BYTE Cal_counts;
  25      =1  DWORD Cal_Zero_Upper_count;
  26      =1  DWORD Cal_Zero_Lower_count; 
  27      =1  /*********************************************/
  28      =1  BOOL Timeout1_enable,Timeout2_enable;
  29      =1  BOOL Cal_flag,STA_flag,NEG_flag,NET_flag;
  30      =1  BOOL point1_on,point2_on,point3_on;
  31      =1  BOOL half_sec,One_sec,colon,high_digit;
  32      =1  BOOL unit_price_entered,factor_calcul;
  33      =1  BOOL memory_key_hold;
  34      =1  BOOL keydone,keyprocess;
  35      =1  INT8 Timeout1,Timeout2,Timeout3;
  36      =1  BYTE timer1_count;
  37      =1  BYTE key_num,numeric;
  38      =1  BYTE mode,state,sales_type,op_status,report_type;
  39      =1  BYTE point1_pos,point2_pos,point3_pos;
  40      =1  WORD menu_item;
  41      =1  WORD PLU_no;
  42      =1  WORD Record_Counts;
  43      =1  WORD Weight;
  44      =1  WORD Cal_Weight;
  45      =1  WORD Tare_Weight;
  46      =1  WORD Quantity;
  47      =1  WORD Sold_Quantity;
  48      =1  DWORD Unit_Price;
  49      =1  DWORD Total_Price;
  50      =1  DWORD Sum_Price;
  51      =1  DWORD Money;
  52      =1  FLOAT One_count;
  53      =1  FLOAT Tare_count;
  54      =1  FLOAT Zero_count;
  55      =1  FLOAT Last_count;
  56      =1  FLOAT Cal_Zero_count;
  57      =1  FLOAT Cal_Weight_count;
  58      =1  FLOAT Initial_Zero_count;
  59      =1  /*********************************************/
  60      =1  BYTE lastop;
  61      =1  FLOAT Last_value;
  62      =1  FLOAT Current_value;
  63      =1  TIME time;
  64      =1  DATE date;
  65      =1  BYTE Last_day;
  66      =1  UNION_LONG temp_LONG;
  67      =1  UNION_FLOAT temp_FLOAT;
  68      =1  UNION_INT temp_INT;
  69      =1  BYTE keybuf[3]={0x00,0x00,0x00};
  70      =1  BYTE keypre[4]={0x00,0x00,0x00,0x00};
  71      =1  BYTE icon_buf;
  72      =1  BYTE lcd1_buf[5];
  73      =1  BYTE lcd2_buf[7];
  74      =1  BYTE lcd3_buf[7];
  75      =1  BYTE LCD_RAM[20];
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 12  

  76      =1  BYTE PLU_buf[PLU_LEN];
  77      =1  BYTE Record_buf[RECORD_LEN];
  78      =1  /*********************************************
  79      =1  ***************FUNCTION PROTOTYPES************
  80      =1  *********************************************/
  81      =1  VOID Power_On();
  82      =1  VOID Power_Down();
  83      =1  VOID LCD_Test(BYTE test_mode);
  84      =1  VOID Input_Code();
  85      =1  VOID Calibration();
  86      =1  VOID Initialization();
  87      =1  VOID Sales();
  88      =1  VOID Total();
  89      =1  VOID Payback();
  90      =1  VOID PLU_Setup();
  91      =1  VOID Time_Setup();
  92      =1  VOID Beep_and_Light_Setup();
  93      =1  VOID Calculator();
  94      =1  VOID Reports();
  95      =1  VOID Download();
  96      =1  VOID Download_Option();
  97      =1  VOID Print_Cancel();
  98      =1  /****************Sub function****************/
  99      =1  extern VOID Beep();
 100      =1  extern VOID Alarm();
 101      =1  extern VOID Delay(WORD n);
 102      =1  extern DWORD Report_Total();
 103      =1  extern BOOL Clock_Set_Save();
 104      =1  extern BOOL Key_Short_Test();
 105      =1  extern VOID Wait_n_s(BYTE n);
 106      =1  extern VOID Wait_n_ms(BYTE n);
 107      =1  extern VOID Float_Format(FLOAT f);
 108      =1  extern VOID Calculator_Operate(BYTE token);
 109      =1  extern VOID Load_PLU_to_LCD_Buf(WORD temp);
 110      =1  extern BOOL Load_Record_to_LCD_Buf(WORD temp);
 111      =1  extern BOOL Password_Compare(BYTE *password,BYTE *lcd_buf);
 112      =1  /****************Adc function****************/
 113      =1  extern VOID CS5532_Init();
 114      =1  extern DWORD Get_AD_Convert_Data();
 115      =1  /***************Scale function***************/
 116      =1  extern BOOL Cal_Zero_Count_Check();
 117      =1  extern VOID Calculate_One_Count();
 118      =1  extern VOID Monitor_Weigh_Scale_On_Calibration_Mode();
 119      =1  extern VOID Monitor_Weigh_Scale();
 120      =1  extern BOOL Maximum_Capacity_Check();
 121      =1  extern BOOL Zero_Setting_When_Power_Up();
 122      =1  extern VOID Zero_Setting_When_Zero_Key_Pressed();
 123      =1  extern VOID Tare_Operation_When_Tare_Key_Pressed();
 124      =1  /***************RS232 function***************/
 125      =1  extern VOID RS232_Init();
 126      =1  extern BOOL Package_EOF_Check();
 127      =1  extern BOOL Package_Header_Check();
 128      =1  extern VOID Receive_PLU_Data_from_PC();
 129      =1  extern VOID Print_Record(BYTE print_type);
 130      =1  extern VOID Print_Cancel_Record(WORD temp);
 131      =1  /***************Eeprom function**************/
 132      =1  extern BOOL Read_Option_Table(BYTE *pt);
 133      =1  extern BOOL Read_extern_eeprom(BYTE *pt);
 134      =1  extern BOOL Read_Cal_Password(BYTE *pt);
 135      =1  extern VOID Read_Option_Param(BYTE *pt);
 136      =1  extern VOID Read_Cal_counts(BYTE *pt);
 137      =1  extern VOID Read_Cal_Zero_limit(BYTE *pt);
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 13  

 138      =1  extern BOOL Save_Option_Table(BYTE *pt);
 139      =1  extern VOID Save_Option_Param(BYTE *pt);
 140      =1  extern VOID Save_Cal_counts(BYTE *pt);
 141      =1  extern VOID PLU_Save(WORD temp);
 142      =1  extern VOID Save_Cal_One_count(FLOAT temp);
 143      =1  extern VOID Save_Cal_Zero_count(FLOAT temp);
 144      =1  extern VOID Record_Save(WORD temp);
 145      =1  extern VOID Save_PLU_Setup_form_Disp_Buf(WORD temp);
 146      =1  /**************Display function**************/
 147      =1  extern VOID LCD_Init(BYTE mode,BYTE glitter);
 148      =1  extern VOID Clock_Display();
 149      =1  extern VOID Full_Display();
 150      =1  extern VOID Display();
 151      =1  extern VOID Set_AC_Icon();
 152      =1  extern VOID Cls_AC_Icon();
 153      =1  extern VOID Set_BAT_Icon();
 154      =1  extern VOID Cls_BAT_Icon();
 155      =1  extern VOID Set_NEG_Icon();
 156      =1  extern VOID Cls_NEG_Icon();
 157      =1  extern VOID Set_NET_Icon();
 158      =1  extern VOID Cls_NET_Icon();
 159      =1  extern VOID Set_STA_Icon();
 160      =1  extern VOID Cls_STA_Icon();
 161      =1  extern VOID Cls_Icon_Buf();
 162      =1  extern VOID Set_BEEP_Icon();
 163      =1  extern VOID Cls_BEEP_Icon();
 164      =1  extern VOID Set_ZERO_Icon();
 165      =1  extern VOID Cls_ZERO_Icon();
 166      =1  extern VOID Set_Logo_Display();
 167      =1  extern VOID Set_SCALE_Display();
 168      =1  extern VOID Clock_Display_Update();
 169      =1  extern VOID Set_INPUT_CODE_Display();
 170      =1  extern VOID Set_COPY_SUCCESS_Display();
 171      =1  extern VOID Set_INIT0_On_Lcd1_Display();
 172      =1  extern VOID Set_EEP_On_Lcd1_Display();
 173      =1  extern VOID Set_ADC_On_Lcd1_Display();
 174      =1  extern VOID Set_RS232_On_Lcd1_Display();
 175      =1  extern VOID Set_NOEEP_On_Lcd1_Display();
 176      =1  extern VOID Set_NOCAL_On_Lcd1_Display();
 177      =1  extern VOID Set_ERROR_On_Lcd2_Display();
 178      =1  extern VOID Set_OVER_On_Lcd1_Display();
 179      =1  extern VOID Set_OVER_On_Lcd3_Display();
 180      =1  extern VOID Set_PLUS_On_Lcd2_Display();
 181      =1  extern VOID Set_TOTAL_On_Lcd2_Display();
 182      =1  extern VOID Set_TOTAL_P_On_Lcd2_Display();
 183      =1  extern VOID Set_TOTAL_U_On_Lcd2_Display();
 184      =1  extern VOID Set_TOTAL_N_On_Lcd2_Display();
 185      =1  extern VOID Set_SEL_PLU_On_Lcd2_Display();
 186      =1  extern VOID Set_INPUT_PRICE_On_Lcd2_Display();
 187      =1  extern VOID Set_Cal_counts_Display(BYTE temp);
 188      =1  extern VOID Set_Calcul_Result_Display(BYTE *pt);
 189      =1  extern VOID Set_One_count_Display(BYTE temp);
 190      =1  extern VOID Set_PLU_no_Display(WORD temp);
 191      =1  extern VOID Set_SEL_PLU_no_Display(WORD temp);
 192      =1  extern VOID Set_INPLUT_PLU_no_Display(WORD temp);
 193      =1  extern VOID Set_Ver_no_Display(WORD temp);
 194      =1  extern VOID Set_Weight_Display(WORD temp);
 195      =1  extern VOID Set_Cal_Weight_Display(WORD temp);
 196      =1  extern VOID Set_QUANTITY_On_Lcd2_Display();
 197      =1  extern VOID Set_Quantity_Display(WORD temp);
 198      =1  extern VOID Set_Sold_Quantity_Display(WORD temp);
 199      =1  extern VOID Set_Money_Display(DWORD temp);
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 14  

 200      =1  extern VOID Set_Unit_Price_Display(DWORD temp);
 201      =1  extern VOID Set_Sum_Price_Display(DWORD temp);
 202      =1  extern VOID Set_Total_Price_Display(DWORD temp);
 203      =1  extern VOID Set_Total_Weight_Display(DWORD temp);
 204      =1  extern VOID Set_Total_Number_Display(DWORD temp);
 205      =1  extern WORD Get_PLU_no_from_display_buf();
 206      =1  extern WORD Get_Quantity_from_display_buf();
 207      =1  extern DWORD Get_Money_from_display_buf();
 208      =1  extern WORD Get_Cal_Weight_from_display_buf();
 209      =1  extern DWORD Get_Unit_Price_from_display_buf();
 210      =1  extern VOID Set_Lcd1_Buf(CHAR c,BYTE pos,BYTE cnt);
 211      =1  extern VOID Set_Lcd2_Buf(CHAR c,BYTE pos,BYTE cnt);
 212      =1  extern VOID Set_Lcd3_Buf(CHAR c,BYTE pos,BYTE cnt);
 213      =1  extern VOID Lcd_Buf_Left_Shift(BYTE *lcd_buf,BYTE n,BYTE num,BYTE pos);
  18          
  19          main()
  20          {
  21   1              Power_On();
  22   1              while(1)
  23   1              {
  24   2                      switch(mode)
  25   2                      {
  26   3                      case Input_code_mode:Input_Code();break;
  27   3                      case Calibration_mode:Calibration();break;
  28   3                      case Initialization_mode:Initialization();break;
  29   3                      case Sales_mode:Sales();break;
  30   3                      case Total_mode:Total();break;
  31   3                      case Payback_mode:Payback();break;
  32   3                      case PLU_Setup_mode:PLU_Setup();break;
  33   3                      case Time_Setup_mode:Time_Setup();break;
  34   3                      case Beep_and_Light_Setup_mode:Beep_and_Light_Setup();break;
  35   3                      case Calculator_mode:Calculator();break;
  36   3                      case Reports_mode:Reports();break;
  37   3                      case Download_mode:Download();break;
  38   3                      case Print_Cancel_mode:Print_Cancel();break;
  39   3                      case Power_down_mode:Power_Down();break;

⌨️ 快捷键说明

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