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

📄 main.lst

📁 基于C51的通用人机界面程序
💻 LST
字号:
C51 COMPILER V7.08   MAIN                                                                  02/27/2006 16:50:27 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\output\main.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\output\main.obj)

line level    source

   1          #define _main_
   2          #include "general.h"
   3          #include "7219.h"
   4          #include "key.h"
   5          #include "com.h"
   6          #include "state.h"
   7          //#include "protocol.h"
   8          //#include "data.h"
   9          /*
  10          /*Timer
  11          #define F_OSC           11.0592
  12          #define TIMER0BASE  2//ms
  13          #define BASETIMER0  (65536-TIMER0BASE*1000*F_OSC/12)
  14          */
  15          typedef struct  {
  16                                          uchar Index;
  17                                          uchar KeyUpState;uchar KeyDnState;uchar KeyCrState;uchar KeyEscState;                   
  18                                          void (*CurOper)();                      
  19                                          } MenuTabStruct; 
  20          /******************************************************************************************
  21          状态索引表
  22          *******************************************************************************************/
  23          #define SIZE_OF_MENU    32
  24          MenuTabStruct code StateTab[SIZE_OF_MENU]={             //State索引表
  25          //   ^  v  e  q    Func  
  26          //---Level 1--------------------------------------------------------------------
  27          { 0, 2, 1, 3, 0,(*Sev_State0)},                         //1     '算法1'
  28          { 1, 0, 2,13, 1,(*Sev_State1)},                         //2     '算法2'
  29          { 2, 1, 0, 7, 2,(*Sev_State2)},                         //3     '设置'
  30          //---Level 2--------------------------------------------------------------------
  31          { 3, 3, 3, 3,  0,(*Sev_State3)},                                //1-1   '寻北中'
  32          //------------------------------------------------------------------------------
  33          { 4, 4, 4, 8,  2,(*Sev_State4)},                                //3-1   '参数周期个数p '        (NULL)
  34          { 5, 7, 29,14, 2,(*Sev_State5)},                                //3-2   '参数仪器常数a '
  35          { 6, 6, 6, 10, 2,(*Sev_State6)},                                //3-3   '参数纬度wd'            (NULL)  
  36          { 7, 29,5, 21, 2,(*Sev_State7)},                                //3-4   '参数比例系数c'
  37          //---Level 3---------------------------------------------------------------------
  38          { 8, 9, 9, 4, 4,(*Sev_State8)},                                         //3-1-1         '设置参数p[1] '
  39          { 9, 8, 8, 4, 4,(*Sev_State9)},                                         //3-1-0         '设置参数p[0] '
  40          //--------------------------------
  41          { 10, 12, 11, 6, 6,(*Sev_State10)},                                     //3-3-3         '设置参数wd[2]'
  42          { 11, 10, 12, 6, 6,(*Sev_State11)},                                     //3-3-2         '设置参数wd[1]'
  43          { 12, 11, 10, 6, 6,(*Sev_State12)},                                     //3-3-1         '设置参数wd[0]'
  44          { 13, 13, 13,13, 1,(*Sev_State13)},                             //2-1   '标定程序'
  45          //--------------------------------
  46          { 14, 20, 15, 5, 5,(*Sev_State14)},                                     //3-2-6         '设置参数a[6]'
  47          { 15, 14, 16, 5, 5,(*Sev_State15)},                                     //3-2-5         '设置参数a[5]'
  48          { 16, 15, 17, 5, 5,(*Sev_State16)},                                     //3-2-4         '设置参数a[4]'
  49          { 17, 16, 18, 5, 5,(*Sev_State17)},                                     //3-2-3         '设置参数a[3]'
  50          { 18, 17, 19, 5, 5,(*Sev_State18)},                                     //3-2-2         '设置参数a[2]'
  51          { 19, 18, 20, 5, 5,(*Sev_State19)},                                     //3-2-1         '设置参数a[1]'
  52          { 20, 19, 14, 5, 5,(*Sev_State20)},                                     //3-2-0         '设置参数a[0]'
  53          //--------------------------------
  54          { 21, 24, 22, 7, 7,(*Sev_State21)},                                     //3-4-3         '设置参数c[5]'
  55          { 22, 21, 23, 7, 7,(*Sev_State22)},                                     //3-4-2         '设置参数c[4]'
C51 COMPILER V7.08   MAIN                                                                  02/27/2006 16:50:27 PAGE 2   

  56          { 23, 22, 24, 7, 7,(*Sev_State23)},                                     //3-4-1         '设置参数c[3]'
  57          { 24, 23, 21, 7, 7,(*Sev_State24)},                                     //3-4-0         '设置参数c[2]'
  58          //--------------------------------
  59          { 25, 28, 26, 29, 29,(*Sev_State25)},                           //3-5-3         '设置参数z[3]'
  60          { 26, 25, 27, 29, 29,(*Sev_State26)},                           //3-5-2         '设置参数z[2]'
  61          { 27, 26, 28, 29, 29,(*Sev_State27)},                           //3-5-1         '设置参数z[1]'
  62          { 28, 27, 25, 29, 29,(*Sev_State28)},                           //3-5-0         '设置参数z[0]'
  63          //-------------------------------------------------------------------------------
  64          { 29, 5,  7,  25, 2,(*Sev_State29)},                            //3-5   '参数中天位置z'(新增状态)
  65          //--------------------------------------------------------------------------------
  66          { 30, 30, 30, 3,  0,(*Sev_State30)},                            //1-2   '寻北结果界面'(新增状态)
  67          //-------------------------------------------------------------------------------
  68          { 31, 31, 31, 0,  0,(*Sev_State31)}                                     //              '报错界面'
  69          
  70          
  71          
  72          
  73          }; 
  74          
  75          /***************************************************************************************************
  76          
  77          ***************************************************************************************************/
  78          void (*Sev_Ptr)();
  79          void init(void){
  80   1              ES=0;
  81   1              SPK=0;
  82   1              init_com();
  83   1              init_max7219();
  84   1              init_state();
  85   1              //init_154();
  86   1              //gboff();                                                                                  
  87   1              ES=1;
  88   1              
  89   1              
  90   1      }
  91          //void(*SoftReset)(); //软复位
  92          
  93          void main(){
  94   1              uchar keyvalue;
  95   1              init();
  96   1              //Index=0;
  97   1              while(1){
  98   2              
  99   2              ////////////////////////////////////////////////////////////////////////////
 100   2              //delay(1000);
 101   2              keyvalue=kbscan();
 102   2              //cls();
 103   2              //disp(keyvalue/10,9);
 104   2              //disp(keyvalue%10,10);
 105   2              //delay(1000);
 106   2              ///////////////////////////////////////////////////////////////////////////
 107   2              switch(keyvalue){ 
 108   3                      case BN_ENT:{ 
 109   4                              Index=StateTab[Index].KeyCrState; 
 110   4                              break; 
 111   4                      } 
 112   3                      case BN_PGUP:{ 
 113   4                              Index=StateTab[Index].KeyUpState; 
 114   4                              break; 
 115   4                      }
 116   3                      case BN_PGDN:{ 
 117   4                              Index=StateTab[Index].KeyDnState; 
C51 COMPILER V7.08   MAIN                                                                  02/27/2006 16:50:27 PAGE 3   

 118   4                              break; 
 119   4                      }
 120   3                      case BN_ESC: {
 121   4                              Index=StateTab[Index].KeyEscState; 
 122   4                              break; 
 123   4                      } 
 124   3                      default: 
 125   3                              break; 
 126   3              }
 127   2              Sev_Ptr=StateTab[Index].CurOper;
 128   2              (*Sev_Ptr)(); 
 129   2              //cls();
 130   2              //disp(keyvalue/10,9);
 131   2              //disp(keyvalue%10,10);
 132   2              //delay(2000);
 133   2              
 134   2              }
 135   1                      //SoftReset=0;
 136   1                      //SoftReset();
 137   1      }
 138          
 139          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    139    ----
   CONSTANT SIZE    =    256    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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