📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 11/15/2007 09:02:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(2,SIZE) BROWSE NOAREGS DEBUG OBJECTEXTEND
stmt level source
1 #include <switch.h>
2
3 void SystemInit();
4 bit TimeTickFlag;
5
6 main()
7 {
8 1 idata UCHAR time=1;
9 1
10 1 SystemInit();
11 1 Rs232Init();
12 1 TelOperateInit();
13 1 SoundInTelInit();
14 1 CommunicationInit();
15 1
16 1 rs232write(0xAA);
17 1 rs232write(0x55);
18 1 rs232write(0x00);
19 1 rs232write(0xFF);
20 1 rs232write(0x88);
21 1
22 1 EA=1;
23 1 while(1)
24 1 {
25 2 rs232loop();
26 2 DecordDTMF();
27 2 if(TimeTickFlag)
28 2 {
29 3 TimeTickFlag=0;
30 3 //添加时间片处理函数;
31 3 TelOperateLoop();
32 3 DealHintSound();
33 3 time++;
34 3 }
35 2 //if((time%10)==0){MessageDeal();} //消息处理
36 2 if(time>=100) //0.2秒 计时
37 2 {
38 3 ResResume(); //系统资源归原
39 3 MessageDeal(); //消息处理
40 3 ExtTimeDeal(); //分机时间处理
41 3 SoundWayLoop();
42 3 time=0;
43 3 }
44 2 }
45 1 }
46
47 void SystemInit()
48 {
49 1 //8816 初始状态
50 1 idata int i;
51 1 for(i=0;i<1000;i++){;}
52 1 SoundSwitchStorbe=0;
53 1 PORT=0;
54 1
55 1 //quiet all extension tel
C51 COMPILER V7.06 MAIN 11/15/2007 09:02:21 PAGE 2
56 1 PORT=0; //分机振铃控制
57 1 EnRingPort=0;
58 1 EnRingPort=1;
59 1 EnRingPort=0;
60 1
61 1 PORT=0; //外部取线控制
62 1 EnTakeLine=0;
63 1 EnTakeLine=1;
64 1 EnTakeLine=0;
65 1
66 1 EnDetectHold=1;//检测分机摘、挂机状态
67 1
68 1 EnDetectRing=1;//检测外线振铃状态
69 1
70 1 EnDTMFDecordOut1=0;
71 1 EnDTMFDecordOut2=0;
72 1
73 1 EnDTMFCreate=1; //DTMF产生许可
74 1 EnableE2ROM=0;
75 1
76 1 PORT=0xff;
77 1
78 1 SCONF=SCONF|ExtRamEnable;
79 1
80 1 //用于系统时间,定时3ms
81 1 TMOD=TMOD|0x01;
82 1 TH0=SystemTimeConst>>8;
83 1 TL0=SystemTimeConst;
84 1 TR0=1;
85 1 ET0=1; //开定时器0中断
86 1
87 1 TimeTickFlag=0; //时间片处理函数
88 1
89 1 //系统软件初始化
90 1 WriteSYSTEM(sp_TakeLineAtHome,c_TakeLineAtHome); //在家铃声设置
91 1 WriteSYSTEM(sp_TakeLineOutside,c_TakeLineOutside); //离家铃声设置
92 1 WriteSYSTEM(sp_SystemState,c_SS_none); //系统状态
93 1 }
94
95 void SystemTimeTick() interrupt 1
96 {
97 1 //时间常数重载
98 1 TR0=0;
99 1 TH0=(SystemTimeConst+8)>>8;
100 1 TL0=(SystemTimeConst+8);
101 1 TR0=1;
102 1
103 1 TimeTickFlag=1;
104 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 225 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- 3
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -