📄 mt8880.lst
字号:
C51 COMPILER V7.06 MT8880 06/10/2005 23:25:34 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MT8880
OBJECT MODULE PLACED IN MT8880.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MT8880.c DEBUG OBJECTEXTEND
stmt level source
1 #include "Head.h"
2 unsigned char Read_80(void)
3 { unsigned char data temp;
4 1 CS_80=0; //片选输入,低电平有效
5 1 temp=P1;
6 1 CP_80=1;
7 1 _nop_();
8 1 _nop_();
9 1 CP_80=0;
10 1 _nop_();
11 1 CS_80=1;
12 1 CP_80=1; //*构造8880时钟时序
13 1 RS_80=1;
14 1 return temp;
15 1 }
16 void Write_80(unsigned char Data)
17 { unsigned char data temp;
18 1 CS_80=0;
19 1 temp=P1;
20 1 temp &=0xf0;
21 1 P1=Data+temp;
22 1 WR_80=0; //write
23 1 _nop_();
24 1 CP_80=1;
25 1 _nop_();
26 1 CP_80=0;
27 1 WR_80=1;
28 1 CS_80=1;
29 1 CP_80=1;
30 1 RS_80=1;
31 1 }
32 unsigned char Read_80status(void)
33 {
34 1 RS_80=1;
35 1 return Read_80();
36 1
37 1 }
38 void Write_80Cont(unsigned char command)
39 {
40 1 RS_80=1;
41 1 Write_80(command);
42 1 }
43 unsigned char Read_80Data(void)
44 {
45 1 RS_80=0;
46 1 return Read_80();
47 1 }
48 void Write_80Data(unsigned char command)
49 {
50 1 RS_80=0;
51 1 Write_80(command);
52 1 }
53 bit SendDTMF(uchar * buff)
54 {static uchar SendState,i;
55 1 switch (SendState)
C51 COMPILER V7.06 MT8880 06/10/2005 23:25:34 PAGE 2
56 1 {
57 2 case 0: Write_80Data(buff[i++]); //2
58 2 TimeCNT=1;
59 2 SendState=1;
60 2 break;
61 2 case 1: if(TimeCNT<40) break;
62 2 SendState=0; TimeCNT=0;
63 2 if(buff[i]==0xff) {i=0;P1=0xff;return 1;}
64 2 break;
65 2 }
66 1 return 0;
67 1 }
68 /*
69 void initial_8880(void)
70 { unsigned char temp;
71 Read_80status();
72 Write_80Cont(0); //CRA
73 Write_80Cont(0);
74 Write_80Cont(0x01);
75 Write_80Cont(0); //CRB
76 Read_80status();
77 Write_80Cont(0x0b);
78 Write_80Cont(0); //CRB
79 Read_80status();
80 HANDUP=0;
81 LINE =0;
82 delay();
83 Write_80Data(0x04); //2
84 delay();
85 Write_80Data(0x05); //0
86 delay();
87 Write_80Data(0x05); //0
88 delay();
89 Read_80status();
90 EX1=1;
91 IT1=1;
92 EA=1;
93 P1=0xff;
94 while(1) _nop_();;
95 {
96 _nop_();
97 if((Read_80status()&0x02)==0x02)
98 {temp=Read_80Data();
99 P2=temp<<4;
100 }
101 }
102
103 }
104 void getDTMF(void) interrupt 2 using 2
105 { unsigned char temp;
106
107 temp=Read_80status();
108 P1=0xff;
109 if((temp&0x02)==0x02)
110 {
111 temp=Read_80Data();
112 P0=temp<<4;
113 }
114 P1=0xff;
115 }
116 */
C51 COMPILER V7.06 MT8880 06/10/2005 23:25:34 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 160 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 3
IDATA SIZE = ---- ----
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 + -