新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AT89C2051单片机与MT8880接口设计

AT89C2051单片机与MT8880接口设计

作者: 时间:2012-03-22 来源:网络 收藏

3.2 接收程序

程序利用的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(;;);}
/* 芯片初始化子函数 */
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++]=P10x0f; } /* 保存 */

4 结束语

笔者在某基金项目的研制中,成功地利用上述电路实现了远距离的数传通信,实际使用情况证明,简单、可靠,取得了令人满意的效果。

参考文献:
[1] MICROELECTRONICS ANALOG COMMUNICATIONS HANDBOOK. MITEL,1991
[2]马忠梅.的C语言应用程序.北京:航空航天大学出版社,1997


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭