📄 tm8880.lst
字号:
C51 COMPILER V8.08 TM8880 04/28/2008 14:56:24 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TM8880
OBJECT MODULE PLACED IN TM8880.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TM8880.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include"type.h"
3 #include"TM8880.h"
4
5 UCHAR data r_buf[7];
6 /* 延时子函数 */
7 void delay(UINT l)
8 {
9 1 UINT i;
10 1 for (i=0;i<l;i++);
11 1 }
12 /* 主函数(主程序) */
13
14 /* MT8880初始化子函数 */
15 void TM8880_INIT(void)
16 {
17 1 P1=0x3f;/* 读SR */
18 1 P1=0x20;/* CRA=0000 */
19 1 P1=0x20;/* CRA=0000 */
20 1 P1=0x28;/* CRA=1000 */
21 1 P1=0x20;
22 1 }/* CRB=0000 */
23 /* 发送初始化子函数 */
24 void tran_init(void)
25 {
26 1 P1=0x29;/* CRA=1001 */
27 1 P1=0x21;
28 1 } /* CRB=0001 */
29 /* 发送操作子函数 */
30 void transmit(UCHAR data *p,UCHAR count)
31 {
32 1 UCHAR i;
33 1 UCHAR data w_buf[7];
34 1
35 1 SP=0x5f;
36 1 /* 预存数码5135535 */
37 1 w_buf[0]=5;
38 1 w_buf[1]=1;
39 1 w_buf[2]=3;
40 1 w_buf[3]=5;
41 1 w_buf[4]=5;
42 1 w_buf[5]=3;
43 1 w_buf[6]=5;
44 1
45 1 for (i=0;i<count;i++,p++)
46 1 {
47 2 P1=*p; /* 发送数码 */
48 2 delay(6000); /* 延时 */
49 2 P1=0x3f;
50 2 }
51 1 }/* 读SR */
52 // 接收程序
53 //程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
54
55
C51 COMPILER V8.08 TM8880 04/28/2008 14:56:24 PAGE 2
56 /* 接收初始化子函数 */
57 void rece_init(void)
58 {
59 1 P1=0x24;/* CRA=0100 */
60 1 IT0=1;/* 边沿触发 */
61 1 IE=0x81;
62 1 }/* 允许中断,开中断 */
63 /* 接收中断服务程序 */
64 void int0(void) interrupt 0 using 1
65 {
66 1 UCHAR i;
67 1 P1=0x3f;/* 读SR */
68 1 P1=0x1f;/* 读RDR */
69 1 r_buf[i++]=P1&0x0f;
70 1 } /* 保存 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 136 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 8
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 + -