求教:在MT8888程序中你定义MT8880_SYNC=1;它对应的是MT8888芯片的哪一个引脚?

求教:在MT8888程序中你定义MT8880_SYNC=1;它对应的是MT8888芯片的哪一个引脚?,第1张

sbit MT8880_RW =P0^4 //MT8880芯片的9脚

sbit MT8880_CS =P0^5 //MT8880芯片的10脚

sbit MT8880_RSI =P0^6 //MT8880芯片的11脚

sbit MT8880_SYNC 码轮=P0^7 //MT8880芯片的12脚

sbit MT8880_IRQ =P3^5 //MT8880芯片的13脚

我姿模唯的定义是这样的迹培,图就是下面这个,你参考下吧

需要设置模式,是通过控制CRA的低4位来设置的,下面就是对它的说明:

控制寄扰数存器和状态寄存器各个位的功能意义简述如下:

(1)控制寄存器CRA。

D0;把该位设置为“1”,则芯片被设置成DTMF模

式,允许收、发双音频信号。

D1:把该位设置为“1",则芯片被设置为信号音检测模式 (呼叫处理模式),

当D2也设为“1”时,引脚IRQ端能输出与各种信号音对应的方波。

D2:把该位设置为“1",则芯片被设置成中断模式,其具体功能见前述的

3种模式介绍。

D3:把该位设置为“1",表明允许选择控制寄存器CRB,因此应在写入控

制寄存器CRA后,接着写控制寄存器 CRB。

-----------------------------------------------------------------------------

(2)控制寄存器CRB。

D0:把该位设置为“0”时芯片工作于普通双音频模式

设置为“1"时芯片工作于突发模式,突发和暂停长度各为(51 土中李肆2)ms。

D2:把该位设置为“0”时允许产生双音频,否则只产生单音频。

D3:行/列音选择,当 D2=1(单音模式)时,D3 用于选择行音或列音(即

音频频率的选择)。

-------------------------------------------------------------------------

下面这些是我之前使用MT8880时写的,实践过,可以卖轿用的

///////////////// 初始化MT8880 /////////////////

void InitMT8880()

{

MT8880_read_state()//从MT8880读状态寄存器

MT8880_write_com(0x00)//CRA=0000

MT8880_write_com(0x00)//CRB=0000

MT8880_write_com(0x08)//CRA=1000

MT8880_write_com(0x00)//CRB=0000

DelayMs(10)

}

///////////////// 写入初始化函数 /////////////////

void MT8880_write_init(void)

{

MT8880_write_com(0x0d)//CRA=1101

MT8880_write_com(0x00)//CRB=0000

}

//////////////// 写控制寄存器 /////////////////

void MT8880_write_com(uchar sdata)

{

MT8880_ABBA=1

Delay10Us(1)

MT8880_CS=0

MT8880_RSI=1

MT8880_RW=0

MT8880_SYNC=1

Delay10Us(1)

MT_data=(MT_data &0xf0)|(sdata &0x0f)

Delay10Us(5)

MT8880_SYNC=0

Delay10Us(5)

MT8880_RW=1

MT8880_CS=1

MT8880_RSI=0

MT8880_SYNC=1

DelayMs(5)

MT8880_ABBA=1

Delay10Us(1)

}

//////////////// 从MT8880读状态寄存器 /////////////////

uchar MT8880_read_state()

{

uchar sdata=0x00

MT8880_ABBA=0

MT8880_SYNC=0

Delay10Us(1)

MT8880_CS=0

MT8880_RSI=1

MT8880_RW=1

Delay10Us(1)

MT8880_SYNC=1

Delay10Us(1)

sdata=MT_data &0x0f

Delay10Us(5)

MT8880_SYNC=0

Delay10Us(5)

MT8880_RW=0

MT8880_CS=1

MT8880_RSI=0

MT8880_SYNC=1

Delay10Us(1)

DelayMs(1)

MT8880_ABBA=1

Delay10Us(1)

return sdata

}

在此说明下,代码是自己写的,并经过了实践,希望给楼主一点帮助

如果需要更全面点的代码和资料,我可以发给你。

“单片机高手团”为您解答


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12427679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存