登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

请问那位有这方面的经验或资料,关于MT8880的接口电路或程序。

作者:兰蓝飘飘 栏目:通信技术
请问那位有这方面的经验或资料,关于MT8880的接口电路或程序。
请问那位有这方面的经验或资料,关于MT8880的接口电路或程序。

2楼: >>参与讨论
chunyang
看老帖。
 
3楼: >>参与讨论
javie
我在侃单片机里贴过源程序的
 
4楼: >>参与讨论
javie
我开始贴(2051接口)



5楼: >>参与讨论
javie
程序
发送程序
    程序执行后,将以DTMF方式发送预存在数组W_BUF中的7位数码(5135535)。
#include <reg51.h>
#define uc unsigned CHAR
#define ui unsigned int
/* 子函数(子程序)说明 */
void initialize(void);
void tran_init(void);
void transmit(uc data *p,uc count);
void delay(ui l);
/* 主函数(主程序) */
void main(void)
{ uc data w_buf[7];
  SP=0x5f;
/* 预存数码5135535 */
  w_buf[0]=5;
  w_buf[1]=1;
  w_buf[2]=3;
  w_buf[3]=5;
  w_buf[4]=5;
  w_buf[5]=3;
  w_buf[6]=5;
  initialize();
  tran_init();
  transmit(w_buf,7);
  initialize();
  for(;;);}
/* MT8880初始化子函数 */
void initialize(void)
{ P1=0x3f;  /* 读SR */
  P1=0x20;  /* CRA=0000 */
  P1=0x20;  /* CRA=0000 */
  P1=0x28;  /* CRA=1000 */
  P1=0x20; }  /* CRB=0000 */
/* 发送初始化子函数 */
void tran_init(void)
{ P1=0x29;  /* CRA=1001 */
  P1=0x21; } /* CRB=0001 */
/* 发送操作子函数 */
void transmit(uc data *p,uc count)
{ uc i;
  for (i=0;i<count;i++,p++)
  { P1=*p;   /* 发送数码 */
    delay(6000); /* 延时 */
    P1=0x3f; }}/* 读SR */
/* 延时子函数 */
void delay(ui l)
{ ui i;
  for (i=0;i<l;i++);}

接收程序
    程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
#include <reg51.h>
#define uc unsigned CHAR
uc data i,r_buf[7];
/* 子函数(子程序)说明 */
void initialize(void);
void rece_init(void);
/* 主函数(主程序) */
void main(void)
{ SP=0x5f;
  i=0;
  initialize();
  rece_init();
  for(;;);}
/* MT8880芯片初始化子函数 */
void initialize(void)
{ P1=0x3f;  /* 读SR */
  P1=0x20;  /* CRA=0000 */
  P1=0x20;  /* CRA=0000 */
  P1=0x28;  /* CRA=1000 */
  P1=0x20; }  /* CRB=0000 */
/* 接收初始化子函数 */
void rece_init(void)
{ P1=0x24;  /* CRA=0100 */
  IT0=1;    /* 边沿触发 */
  IE=0x81; }  /* 允许中断,开中断 */
/* 接收中断服务程序 */
void int0(void) interrupt 0 using 1
{ P1=0x3f;  /* 读SR */
  P1=0x1f;  /* 读RDR */
  r_buf[i++]=P1&0x0f; } /* 保存 */


6楼: >>参与讨论
javie
MT8880对时序要求并不严格
还是比较好用的

7楼: >>参与讨论
adsf

本人偶然购得可以用单片机控制的电话机,经过数天研摩终于实现了单片机进行DMTF拨号拨打电话、DMTF解码、FSK来电显示、LCD12864显示、62256读写的功能。现在把实验的全过程公布出来供大家参考,不足之处请高手多指点,详情登

http://www.hp51.net/product/fsk.htm


一、电话上的主要芯片:

1、主板CPU:W78LE516P (资料下载)   注意:淘宝网上不支持下载和跳转,请登录http://www.hp51.net/product/fsk.htm 下载资料

2、免提通话专用芯片:UTC34018;(资料下载)

3、DMTF拨号编码芯片:HT9200A.html">HT9200A(资料下载)

4、DMTF解码芯片:HT9170D(资料下载)

5、来电识别解码芯片:W91030BS(资料下载)

6、3-8线译码器:HC138A(资料下载)

7、八D锁存器:74CH373(资料下载)

8、八D上升沿触发器:74CH374(资料下载)

9、八线缓冲器/线驱动器: 74CH244(资料下载)

10、外部存储器:AT29LV040A(资料下载)

11、RAM:BS62LV256SC-70

二、电话主要功能:

1、12864显示

2、5*5按键

3、电话编解码

4、汉字输入储存

5、MIDI音乐播放

6、汉字电话本

7、万年历

8、时钟

9、来电显示

10、中英文短信收发(需开通)

11、通话记录

12、呼入呼出设置

13、个性铃声设置

14、数字密码锁等
三、特别提示:W78LE516P是51内核, 本人用AT89C51AT89C52AT89S51AT89S52SST89E516RDSST89E564RD成功验证如下功能(有源程序):

1、通过W91030BS实现来电显示;

2、通过HT9200实现拨打电话;

3、通过HT0170实现DMTF解码;

4、通过74HC244译码共用数据总线实现键盘扩展;

5、在话机主板上运行操作系统UC/OSII;

6、用译码法在总线上驱动LCD12864

7、用P0、P1口驱动LCD12864

8、用P0、P2口驱动LCD12864

9、播放MID音乐;

10、与计算机串口通信;

11、与计算机上的电话控制软件通信(自编软件)

12、可以通过计算机拨打或接听电话;

需要原理图、源程序的朋友请联系索取。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
有没人用过BENQ 的 M32模块啊?
急求20F01的DATESHEET啊~大家帮帮忙,谢了!
请教示波器的知识!!!!!!!!!
tc35i话音输出请教
想问一下一般电视节目用的观众无线表决器的原理
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号