?? main.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 + -