?? datafax.lst
字號:
C51 COMPILER V7.09 DATAFAX 03/22/2005 01:42:11 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE DATAFAX
OBJECT MODULE PLACED IN datafax.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE datafax.c LARGE OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 #pragma OT(0)
2 #include "AT89X52.H"
3 #include <ABSACC.H>
4
5 //#include <string.h>
6
7 #include "LCD.H"
8 #include<INTRINS.H>
9 #include "Zimo8_16.H"
10 #include "Zimo16_16.H"
11 #include "main.h"
12
13 //功能函數(shù)
14 void UART_Init();
15 void Delayms(int n);
16 void Delayus(int i);
17 void timer0_int();
18 void Init_hw();
19 void Com_ReadData_Int(void);
20 bit RcvByte(byte c);
21 char Str_Comp(byte *str1,byte *str2);
22 void SPI_Send(byte *tempstr);
23 byte SCAN_KB(void);
24 //void KB_Show(byte Key_No);
25 void KB_Recieve(byte Key_No);
26 //other
27 void SYS_Display(void);
28 byte Search_Byte(byte search_Byte);
29 byte Search_Word(byte *search_Word);
30 byte Get_Key_Val(byte No);
31 void LCD_Show_Data(byte X,byte Y,byte *tempstr);
32 void Get_File_Info(unsigned long index);
33 void Com_Send_Byte(byte c);
34 void Handle_Msg(byte *Msg);
35 void Ring_Display();
36 void Send_Display();
37 void Error_Display(byte *Error_Msg);
38 void Refuse_Display();
39 void Dial_Display();
40 void Menu_Display();
41 void Capture_KEY_Event();
42 void File_List_Display();
43 void Answer_Call();
44 void Setup_Display();
45 void Dialing_Display();
46 void Do_Cancel();
47 void Do_Send_File();
48 void Do_Recieve_File();
49 void Do_OnHook();
50 void Connecting_Display();
51 void Connected_Display();
52 void Ready_Display();
53 void Ready_Recieve_Display();
54 void Recieve_File_Display();
55 void Recieve_Finished_Display();
C51 COMPILER V7.09 DATAFAX 03/22/2005 01:42:11 PAGE 2
56 void Send_Ready_Display();
57 void Send_File_Display();
58 void Send_Finished_Display();
59 void LCD_On();
60 void LCD_Off();
61 void LCD_Fill();
62 void LCD_Part_Fill(bit CSA,bit CSB);
63 void KB_Show(byte Key_No);
64 void Com_Send(byte *tempstr);
65 void MODEM_Init();
66 void MODEM_Monitor();
67 void Get_Modem_Msg();
68 void Check_Modem_Msg(byte *str);
69 byte Search_Modem_Msg(byte* tempstr);
70 //----------------------------------
71 //功能:主函數(shù)
72 //----------------------------------
73 main()
74 {
75 1 byte temp;
76 1 byte i;
77 1 LCD_Off();
78 1 LCD_On();
79 1 Init_hw(); //對硬件進行初始化
80 1 UART_Init(); //對串口初始化
81 1 Buzzer_On;
82 1 Buzzer_Off;
83 1 LCD_BG=0;
84 1 LCD_BG=1;
85 1 LCD_BG=0;
86 1
87 1 LED1_On;
88 1 LED1_Off;
89 1 LED2_On;
90 1 LED2_Off;
91 1 LED3_On;
92 1 LED3_Off;
93 1 LED4_On;
94 1 LED4_Off;
95 1
96 1 LCD_Init(); //對LCD初始化
97 1
98 1 SYS_Display();
99 1 EA=0;
100 1 SBUF=0xAA;
101 1 while (!TI);
102 1 TI=0;
103 1 EA=1;
104 1
105 1 MODEM_Init(); //Modem 初始化
106 1
107 1 /*for (;;) {
108 1 temp=SCAN_KB();
109 1 if (temp!=0) KB_Show(temp);
110 1 }
111 1 for (temp=0;temp<4;temp++) {
112 1 Delayms(100);
113 1
114 1 }*/
115 1 Flag_KB_Enable=true;
116 1 Key_Down.Active=false;
117 1 Sys_Ring.Active=false;
C51 COMPILER V7.09 DATAFAX 03/22/2005 01:42:11 PAGE 3
118 1 Sys_Conn.Active=false;
119 1 Clear_Msg.Active=false;
120 1 Send_Data.Active=false;
121 1 Recv_Finished.Active=false;
122 1 Send_Finished.Active=false;
123 1 for(i=0;i<11;i++) File_Name[i]=0x00;
124 1
125 1 while(1)
126 1 {
127 2
128 2 if(Flag_1ms)
129 2 {
130 3 Flag_1ms=false;
131 3 Capture_KEY_Event();
132 3 }
133 2 MODEM_Monitor();
134 2 switch(SYS_Status)
135 2 {
136 3 case SYS_IDLE_STATE:
137 3 if(Key_Down.Active)
138 3 {
139 4 Key_Down.Active=false;
140 4 switch(Key_Down.Byte_data)
141 4 {
142 5 case KB_MENU:
143 5 SYS_Status=SYS_MENU_STATE;
144 5 Menu_Display();
145 5 Flag_KB_Enable=true;
146 5 break;
147 5 case KB_UP:
148 5 Flag_Buzzer=~Flag_Buzzer;
149 5 break;
150 5 case KB_DOWN:
151 5 LCD_BG=~LCD_BG;
152 5 break;
153 5 default:
154 5 break;
155 5 }
156 4 }
157 3 if(MODEM_Status==MODEM_RINGING_STATE)
158 3 {
159 4 SYS_Status=SYS_RINGING_STATE;
160 4 if(Ring_Cnt>2) Ring_Display();
161 4 else Ring_Cnt++;
162 4 Ring_Display();
163 4 }
164 3 break;
165 3 case SYS_MENU_STATE:
166 3 if(Key_Down.Active)
167 3 {
168 4 Key_Down.Active=false;
169 4 switch(Key_Down.Byte_data)
170 4 {
171 5 case KB_1:
172 5 SYS_Status=SYS_MENU_FILE_LIST_STATE;
173 5 File_List_Display();
174 5 Flag_KB_Enable=true;
175 5 break;
176 5 /* case KB_2:
177 5 SYS_Status=SYS_MENU_SETUP_STATE;
178 5 Setup_Display();
179 5 Flag_KB_Enable=true;
C51 COMPILER V7.09 DATAFAX 03/22/2005 01:42:11 PAGE 4
180 5 break;*/
181 5 case KB_2:
182 5 SYS_Status=SYS_TX_RX_STATE;
183 5 Ready_Display();
184 5 Flag_KB_Enable=true;
185 5 break;
186 5 case KB_3:
187 5 if(MODEM_Status==MODEM_DISCONNECTED_STATE)
188 5 {
189 6 SYS_Status=SYS_MENU_DIAL_STATE;
190 6 KB_Point=0;
191 6 Dial_Display();
192 6 }
193 5 if(MODEM_Status==MODEM_CONNECTED_STATE)
194 5 SYS_Status=SYS_MENU_ONHOOK_STATE;
195 5 Flag_KB_Enable=true;
196 5 break;
197 5 case KB_EXIT:
198 5 SYS_Status=SYS_IDLE_STATE;
199 5 Flag_KB_Enable=true;
200 5 LCD_Clear();
201 5 SYS_Display();
202 5 break;
203 5 default:
204 5 break;
205 5 }
206 4 }
207 3 if(MODEM_Status==MODEM_RINGING_STATE)
208 3 {
209 4 SYS_Status=SYS_RINGING_STATE;
210 4 if(Ring_Cnt>2) Ring_Display();
211 4 else Ring_Cnt++;
212 4 Ring_Display();
213 4 }
214 3 break;
215 3 case SYS_MENU_FILE_LIST_STATE:
216 3 if(Key_Down.Active)
217 3 {
218 4 Key_Down.Active=false;
219 4 switch(Key_Down.Byte_data)
220 4 {
221 5 case KB_1:
222 5 SYS_Status=SYS_MENU_DIAL_STATE;
223 5 KB_Point=0;
224 5 Get_File_Info(5);
225 5 if(MODEM_Status==MODEM_CONNECTED_STATE)
226 5 {
227 6 SYS_Status=SYS_READY_SEND_STATE;
228 6 Send_Ready_Display();
229 6 }
230 5 else Dial_Display();
231 5 Flag_KB_Enable=true;
232 5 break;
233 5 case KB_2:
234 5 SYS_Status=SYS_MENU_DIAL_STATE;
235 5 KB_Point=0;
236 5 Get_File_Info(37);
237 5 if(MODEM_Status==MODEM_CONNECTED_STATE)
238 5 {
239 6 SYS_Status=SYS_READY_SEND_STATE;
240 6 Send_Ready_Display();
241 6 }
C51 COMPILER V7.09 DATAFAX 03/22/2005 01:42:11 PAGE 5
242 5 else Dial_Display();
243 5 Flag_KB_Enable=true;
244 5 break;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -