MT8880的中文资料 接口电路和发送程序 交收程序

最新更新时间:2011-04-22来源: 互联网 手机看文章 扫描二维码
随时随地手机看文章

程序
发送程序
    程序执行后,将以DTMF方式发送预存在数组W_BUF中的7位数码(5135535)。
#include
#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  { P1=*p;   /* 发送数码 */
    delay(6000); /* 延时 */
    P1=0x3f; }}/* 读SR */
/* 延时子函数 */
void delay(ui l)
{ ui i;
  for (i=0;i
接收程序
    程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
#include
#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; } /* 保存 */

编辑:神话 引用地址:MT8880的中文资料 接口电路和发送程序 交收程序

上一篇:卫星电视下变频器(高频头)的工作原理
下一篇:mt8880使用技巧与接口电路

小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved