程序
发送程序
程序执行后,将以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
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使用技巧与接口电路
- CGD和Qorvo将共同革新电机控制解决方案
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 贸泽开售可精确测量CO2水平的 英飞凌PASCO2V15 XENSIV PAS CO2 5V传感器
- 玩法进阶,浩亭让您的PCB板端连接达到新高度!
- 长城汽车研发新篇章:固态电池技术引领未来
- 纳芯微提供全场景GaN驱动IC解决方案
- 解读华为固态电池新专利,2030 叫板宁德时代?
- 让纯电/插混车抓狂?中企推全球首款-40℃可放电增混电池,不怕冷
- 智驾域控知多少:中低端车型加速上车,行泊一体方案占主体
- Foresight推出六款先进立体传感器套件 彻底改变工业和汽车3D感知