📄 新建 文本文档.txt
字号:
#include <reg52.h>
#include"type.h"
#include"MT8880.h"
/* 延时子函数 */
void delay(UINT l)
{
UINT i;
for (i=0;i<l;i++);
}
/* 主函数(主程序) */
/* MT8880初始化子函数 */
void MT8880_INIT(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(UCHAR data *p,UCHAR count)
{
UCHAR i;
for (i=0;i<count;i++,p++)
{
P1=*p; /* 发送数码 */
delay(6000); /* 延时 */
P1=0x3f;
}
}/* 读SR */
// 接收程序
//程序利用单片机的INT0以中断方式接收DTMF信号,接收的7位数码存入数组R_BUF中。
/* 接收初始化子函数 */
void rece_init(void)
{
P1=0x24;/* CRA=0100 */
IT0=1;/* 边沿触发 */
IE=0x81;
}/* 允许中断,开中断 */
/* 接收中断服务程序 */
void int0(void) interrupt 0 using 1
{
UCHAR i;
UCHAR data r_buf[7];
SP=0X5F;
P1=0x3f;/* 读SR */
P1=0x1f;/* 读RDR */
r_buf[i++]=P1&0x0f;
} /* 保存 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -