新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AT89C2051單片機(jī)與MT8880接口設(shè)計(jì)

AT89C2051單片機(jī)與MT8880接口設(shè)計(jì)

作者: 時(shí)間:2012-03-22 來(lái)源:網(wǎng)絡(luò) 收藏

3.2 接收程序

程序利用的INT0以中斷方式接收DTMF信號(hào),接收的7位數(shù)碼存入數(shù)組R_BUF中。
#include reg51.h>
#define uc unsigned char
uc data i,r_buf[7];
/* 子函數(shù)(子程序)說(shuō)明 */
void initialize(void);
void rece_init(void);
/* 主函數(shù)(主程序) */
void main(void)
{ SP=0x5f;
i=0;
initialize();
rece_init();
for(;;);}
/* 芯片初始化子函數(shù) */
void initialize(void)
{ P1=0x3f; /* 讀SR */
P1=0x20; /* CRA=0000 */
P1=0x20; /* CRA=0000 */
P1=0x28; /* CRA=1000 */
P1=0x20; } /* CRB=0000 */
/* 接收初始化子函數(shù) */
void rece_init(void)
{ P1=0x24; /* CRA=0100 */
IT0=1; /* 邊沿觸發(fā) */
IE=0x81; } /* 允許中斷,開(kāi)中斷 */
/* 接收中斷服務(wù)程序 */
void int0(void) interrupt 0 using 1
{ P1=0x3f; /* 讀SR */
P1=0x1f; /* 讀RDR */
r_buf[i++]=P10x0f; } /* 保存 */

4 結(jié)束語(yǔ)

筆者在某基金項(xiàng)目的研制中,成功地利用上述電路實(shí)現(xiàn)了遠(yuǎn)距離的數(shù)傳通信,實(shí)際使用情況證明,簡(jiǎn)單、可靠,取得了令人滿意的效果。

參考文獻(xiàn):
[1] MICROELECTRONICS ANALOG COMMUNICATIONS HANDBOOK. MITEL,1991
[2]馬忠梅.的C語(yǔ)言應(yīng)用程序.北京:航空航天大學(xué)出版社,1997


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉