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
}
在此说明下,代码是自己写的,并经过了实践,希望给楼主一点帮助
如果需要更全面点的代码和资料,我可以发给你。
“单片机高手团”为您解答
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)