MT8880.LST
资源名称:TELEPHONE.rar [点击查看]
上传用户:woden7206
上传日期:2015-11-28
资源大小:14486k
文件大小:4k
源码类别:
单片机开发
开发平台:
MultiPlatform
- C51 COMPILER V8.08 MT8880 06/13/2008 14:48:05 PAGE 1
- C51 COMPILER V8.08, COMPILATION OF MODULE MT8880
- OBJECT MODULE PLACED IN MT8880.OBJ
- COMPILER INVOKED BY: C:KeilC51BINC51.EXE MT8880.C BROWSE DEBUG OBJECTEXTEND
- line level source
- 1 #include <reg52.h>
- 2 #include"type.h"
- 3 #include"MT8880.h"
- 4
- 5
- 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 MT8880_INIT(void)
- 16 {
- 17 1 MT8880_RSO=1;
- 18 1 MT8880_RW=1;
- 19 1 delay(2);
- 20 1 MT8880_RSO=1;
- 21 1 MT8880_RW=0;
- 22 1 MT8880_D0=0;
- 23 1 MT8880_D1=0;
- 24 1 MT8880_D2=0;
- 25 1 MT8880_D3=0;
- 26 1 delay(2);
- 27 1 MT8880_RSO=1;
- 28 1 MT8880_RW=0;
- 29 1 MT8880_D0=0;
- 30 1 MT8880_D1=0;
- 31 1 MT8880_D2=0;
- 32 1 MT8880_D3=1;
- 33 1 delay(2);
- 34 1 MT8880_RSO=1;
- 35 1 MT8880_RW=0;
- 36 1 MT8880_D0=0;
- 37 1 MT8880_D1=0;
- 38 1 MT8880_D2=0;
- 39 1 MT8880_D3=0;
- 40 1 delay(2);
- 41 1 // MT8880_RSO=1;
- 42 1 // MT8880_RW=1;
- 43 1 // P1=0x3f;/* 读SR */
- 44 1 // P1=0x20;/* CRA=0000 */
- 45 1 // P1=0x20;/* CRA=0000 */
- 46 1 // P1=0x28;/* CRA=1000 */
- 47 1 // P1=0x20;
- 48 1 }/* CRB=0000 */
- 49 /* 发送初始化子函数 */
- 50 void tran_init(void)
- 51 {
- 52 1 MT8880_RSO=1;
- 53 1 MT8880_RW=0;
- 54 1 MT8880_D0=1;
- 55 1 MT8880_D1=0;
- C51 COMPILER V8.08 MT8880 06/13/2008 14:48:05 PAGE 2
- 56 1 MT8880_D2=0;
- 57 1 MT8880_D3=1;
- 58 1 delay(2);
- 59 1 MT8880_RSO=1;
- 60 1 MT8880_RW=0;
- 61 1 MT8880_D0=1;
- 62 1 MT8880_D1=0;
- 63 1 MT8880_D2=0;
- 64 1 MT8880_D3=0;
- 65 1 delay(2);
- 66 1 // P1=0x29;/* CRA=1001 */
- 67 1 // P1=0x21;
- 68 1 } /* CRB=0001 */
- 69 /* 发送操作子函数 */
- 70 void transmit(UCHAR data *p,UCHAR count)
- 71 {
- 72 1 UCHAR i;
- 73 1
- 74 1
- 75 1 for (i=0;i<count;i++,p++)
- 76 1 {
- 77 2 P2=*p>>8; /* 发送数码 */
- 78 2 delay(6000); /* 延时 */
- 79 2 // P1=0x3f;
- 80 2 MT8880_RSO=1;
- 81 2 MT8880_RW=1;
- 82 2 }
- 83 1 }/* 读SR */
- 84 // 接收程序
- 85 //程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
- 86
- 87
- 88 /* 接收初始化子函数 */
- 89 void rece_init(void)
- 90 {
- 91 1 P1=0x24;/* CRA=0100 */
- 92 1 IT0=1;/* 边沿触发 */
- 93 1 IE=0x81;
- 94 1 }/* 允许中断,开中断 */
- 95 /* 接收中断服务程序 */
- 96 void int0(void) interrupt 0 using 1
- 97 {
- 98 1 UCHAR i;
- 99 1 UCHAR data r_buf[7];
- 100 1 SP=0X5F;
- 101 1 P1=0x3f;/* 读SR */
- 102 1 P1=0x1f;/* 读RDR */
- 103 1 r_buf[i++]=P1&0x0f;
- 104 1 } /* 保存 */
- MODULE INFORMATION: STATIC OVERLAYABLE
- CODE SIZE = 183 ----
- CONSTANT SIZE = ---- ----
- XDATA SIZE = ---- ----
- PDATA SIZE = ---- ----
- DATA SIZE = ---- 8
- IDATA SIZE = ---- ----
- BIT SIZE = ---- ----
- END OF MODULE INFORMATION.
- C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)