?? master_main.lst
字號(hào):
C51 COMPILER V7.09 MASTER_MAIN 08/24/2007 09:37:39 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE MASTER_MAIN
OBJECT MODULE PLACED IN Master_Main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Master_Main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #include"math.h"
3 #include"Config.h"
4 #include"IOCfg.c"
5 #include"TimeDLY.h"
6 #include"IIC_PCA8574.h"
7 #include"LogValue.h"
8 #include"LCD.h"
9 #include"Key.h"
10 #include"Touch.h"
11 #include"Serial.h"
12
13 //"0 ~ 9"字庫(kù)碼
14 INT16U NUM[10]={
15 0xA3B0,0xA3B1,0xA3B2,0xA3B3,0xA3B4,
16 0xA3B5,0xA3B6,0xA3B7,0xA3B8,0xA3B9};
17
18 bit TOUCH_SET = 0; //設(shè)置觸發(fā)指示
19 INT8U TOUCH_MODE = SINGLE; //觸發(fā)方式
20 INT32U TOUCH_WORD = 0x00; //觸發(fā)字
21 INT8U TOUCH_ADDR = 8; //觸發(fā)位置
22 bit PAGE = 0; //分頁(yè)顯示指示
23 INT8U PAGE_NUM = 0; //當(dāng)前頁(yè)號(hào)
24 FP32 GATE_VALUE = 4.0; //門(mén)限電平
25 INT8U GATE_N = 0; //門(mén)限設(shè)置通道
26 INT16U FREQ = 100; //采樣頻率
27
28 void InitIO()
29 {
30 1 bit x;
31 1 P0 = 0x00;
32 1 P1 = 0x00;
33 1 P2 = 0x00;
34 1 ZLG7289INT = 1;
35 1 IIC_INT = 1;
36 1 RAM_WE = 0;
37 1 RAM_OE = 0;
38 1 x = PCA8574_PutOne(0x40,0x00);
39 1 x = PCA8574_PutOne(0x41,0x00);
40 1 x = PCA8574_PutOne(0x42,0x00);
41 1 x = PCA8574_PutOne(0x43,0xff);
42 1 }
43
44 void main()
45 {
46 1 bit x;
47 1 INT8U key,i;
48 1 INT32U temp=0;
49 1 INT16U addr=0;
50 1 INT8U TX_Data;
51 1 INT8U tword[10]={0};
52 1 InitIO();
53 1 InitSerial();
54 1 InitIIC();
55 1 InitLCD();
C51 COMPILER V7.09 MASTER_MAIN 08/24/2007 09:37:39 PAGE 2
56 1 while(1)
57 1 {
58 2 //觸發(fā)方式顯示
59 2 DispOneWord(0,0,0xB4A5); //"觸"
60 2 DispOneWord(0,1,0xB7A2); //"發(fā)"
61 2 DispOneWord(0,2,0xB7BD); //"方"
62 2 DispOneWord(0,3,0xCABD); //"式"
63 2 if(TOUCH_MODE==SINGLE)
64 2 {
65 3 DispOneWord(0,5,0xB5A5); //"單"
66 3 DispOneWord(0,6,0xB4CE); //"次"
67 3 }
68 2 else
69 2 {
70 3 DispOneWord(0,5,0xC8FD); //"三"
71 3 DispOneWord(0,6,0xBCB6); //"級(jí)"
72 3 }
73 2
74 2 //觸發(fā)位置顯示
75 2 DispOneWord(1,0,0xB4A5); //"觸"
76 2 DispOneWord(1,1,0xB7A2); //"發(fā)"
77 2 DispOneWord(1,2,0xCEBC); //"位"
78 2 DispOneWord(1,3,0xD6C3); //"置"
79 2 DispTwoCharacter(1,5,NUM[TOUCH_ADDR/10],NUM[TOUCH_ADDR%10]);
80 2
81 2 //頁(yè)號(hào)顯示
82 2 DispOneWord(2,0,0xD2B3); //"頁(yè)"
83 2 DispOneWord(2,1,0xBAC5); //"號(hào)"
84 2 DispTwoCharacter(2,4,NUM[PAGE_NUM/10],NUM[PAGE_NUM%10]);
85 2
86 2 key=ZLG7289_ReadKey(); //取得按鍵數(shù)值
87 2 switch(key)
88 2 {
89 3 case 1://復(fù)位
90 3 { TOUCH_MODE = SINGLE;
91 4 TOUCH_WORD = 0x00;
92 4 TOUCH_ADDR = 8;
93 4 PAGE_NUM = 0;
94 4 PAGE = 0;
95 4 GATE_VALUE = 4.0;
96 4 FREQ = 100;
97 4 break;}
98 3 case 2://取消,刪除
99 3 { temp >>=1;
100 4 break;}
101 3 case 3://確認(rèn)
102 3 { TOUCH_WORD = temp;
103 4 break;}
104 3 case 4://分頁(yè)顯示
105 3 { PAGE=~PAGE;
106 4 break;}
107 3 case 5://頁(yè)UP
108 3 { if(PAGE_NUM<10)PAGE_NUM++;
109 4 else PAGE_NUM=0;
110 4 break;}
111 3 case 6://頁(yè)DOWN
112 3 { if(PAGE_NUM>0)PAGE_NUM--;
113 4 else PAGE_NUM=10;
114 4 break;}
115 3 case 7://采樣頻率
116 3 { if(FREQ<20000)FREQ++;
117 4 else FREQ = 20;
C51 COMPILER V7.09 MASTER_MAIN 08/24/2007 09:37:39 PAGE 3
118 4 break;}
119 3 case 8://門(mén)限電平通道選擇
120 3 { if(GATE_N<7)GATE_N++;
121 4 else GATE_N = 0;
122 4 break;}
123 3 case 9://門(mén)限電平+
124 3 { GATE_VALUE +=0.25;
125 4 break;}
126 3 case 10://門(mén)限電平-
127 3 { GATE_VALUE -=0.25;
128 4 break;}
129 3 case 11://觸發(fā)位置
130 3 { if(TOUCH_ADDR<40)TOUCH_ADDR++;
131 4 else TOUCH_ADDR = 0;
132 4 break;}
133 3 case 12://觸發(fā)方式
134 3 { TOUCH_MODE=~TOUCH_MODE;
135 4 break;}
136 3 case 13://觸發(fā)字設(shè)置
137 3 { TOUCH_SET = 1;
138 4 break;}
139 3 case 14://0
140 3 { temp <<= 1;
141 4 break;}
142 3 case 15://1
143 3 { temp = (temp<<1) + 1;
144 4 break;}
145 3 default:
146 3 { TOUCH_SET = 0;
147 4 break;}
148 3 while(!ZLG7289INT);
149 3 }
150 2 Set_NLogic(GATE_N,GATE_VALUE);
151 2 addr = PAGE_NUM*40 + TOUCH_ADDR;
152 2 RAM_CS = 1;
153 2 RAM_WE = 1;
154 2 RAM_ADDR_L = addr&0xff;
155 2 RAM_ADDR_L = (addr>>8)&0xff;
156 2 x=PCA8574_GetOne(0x43,TX_Data);
157 2 x=PCA8574_PutOne(0x42,TX_Data); //LED指示
158 2 RAM_CS = 0;
159 2 RAM_WE = 0;
160 2 Serial_TX(TX_Data);
161 2 addr += 1;
162 2 for(i=0;i<19;i++)
163 2 {
164 3
165 3 RAM_CS = 1;
166 3 RAM_WE = 1;
167 3 RAM_ADDR_L = addr&0xff;
168 3 RAM_ADDR_L = (addr>>8)&0xff;
169 3 x=PCA8574_GetOne(0x43,TX_Data);
170 3 RAM_CS = 0;
171 3 RAM_WE = 0;
172 3 Serial_TX(TX_Data);
173 3 addr += 1;
174 3 }
175 2 } }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 816 ----
C51 COMPILER V7.09 MASTER_MAIN 08/24/2007 09:37:39 PAGE 4
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 34 18
IDATA SIZE = ---- ----
BIT SIZE = 2 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -