/* 功能: i2c开始工作 CLOCK在高电平,DATA从高变低 */
void start_2313()
{
bc_sda_2313=1;
bc_clk_2313=1;
_nop_(); _nop_(); _nop_();
bc_sda_2313=0;
_nop_(); _nop_(); _nop_();
bc_clk_2313=0;
_nop_();
}
/* 功能: i2c 的结束工作 CLOCK在高电平,DATA从低变高 */
void stop_2313()
{
_nop_();
bc_sda_2313=0;
_nop_(); _nop_();
bc_clk_2313=1;
_nop_(); _nop_(); _nop_();
bc_sda_2313=1;
_nop_();_nop_();_nop_();
bc_clk_2313=0;
}
/* 读应答位 bc_sda_2313被拉低有应答, ack_2313=1有应答,ack_2313=0 没应答 */
uchar get_2313_ack()
{ uchar ack_2313;
ack_2313=0;
bc_clk_2313=1;
bc_sda_2313=1; // get ack bit from pt2313,ack bit is save in 000h
_nop_(); _nop_();
if(bc_sda_2313==0) ack_2313=20; /* 有应答 */
if(bc_sda_2313==1) ack_2313=10; /* 没应答 */
_nop_();
bc_clk_2313=0;
_nop_();
return ack_2313;
}
/* 功能: 写一字节到i2c 先送最高位, CLOCK低电平时,DATA允许变化; CLOCK高电平时,DATA需稳定
参数: par_2313=一字节的发送数据 */
void send_a_byte_2313(uchar par_2313)
{
uchar i;
for(i=0;i<8;i++ )
{ bc_clk_2313=0;
_nop_(); _nop_();
if((par_2313&0x80)==0x80)
{ bc_sda_2313=1; }
else
{ bc_sda_2313=0; }
par_2313=par_2313<<1;
_nop_();
bc_clk_2313=1;
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
}
bc_clk_2313=0;
}
/* 发2313的数据 */
void send_pt2313(uchar par_2313 )
{ uchar i,ask_2313;
uchar temp;
// error_2313=0;
for(i=0;i<10;i++) /* 发10次,无效才返回 */
{ start_2313();
send_a_byte_2313(0x88); //0x88=PT2313 address
ask_2313=get_2313_ack();
send_a_byte_2313(par_2313);
ask_2313=get_2313_ack();
// error_2313=ask_2313;
stop_2313();
_nop_();
if(ask_2313==20) break;
}
}
/* PT2313 音量处理 实际是先置音量为最大,然后一通道是MIC_VOL 另一通道是 MIC_ECHO */
void volume_2313()
{ uchar par_2313;
send_pt2313(2);
par_2313=31-par_vol[MIC_VOL];
par_2313=0xc0+par_2313;
send_pt2313(par_2313);
par_2313=31-par_vol[MIC_ECHO];
par_2313=0xe0+par_2313;
send_pt2313(par_2313);
}
/* PT2313 低音处理 */
void bass_2313(uchar par_2313)
{ par_2313=par_2313/2;
par_2313=bass_treble_code[par_2313];
par_2313=par_2313+0x60;
send_pt2313(par_2313);
}
/* PT2313 高音处理 */
void treble_2313(uchar par_2313)
{ par_2313=par_2313/2;
par_2313=bass_treble_code[par_2313];
par_2313=par_2313+0x70;
send_pt2313(par_2313);
}
APei
- 粉丝: 83
- 资源: 1万+
最新资源
- 游泳溺水识别数据集,对25729张图片进行YOLO v5格式的标注,溺水平均识别率在89.9%
- 基于java的动漫商城管理的设计与实现.docx
- 基于java的电子产品销售系统设计与实现.docx
- 基于java的电影订票系统设计与实现.docx
- 基于java的健美操评分系统设计与实现.docx
- 基于java的多媒体素材管理系统设计与实现.docx
- 基于QP的路径规划和ST图速度规划 各场景避障
- 基于java的健身俱乐部网站设计与实现.docx
- 基于java的来访管理系统的设计与实现.docx
- html新年快乐3d烟花代码
- 基于小程序的自助购药小程序源码(小程序毕业设计完整源码+LW).zip
- 基于java的科研管理系统设计与实现.docx
- 基于java的流浪猫狗救助救援网站设计与实现.docx
- 基于java的汽车服务管理系统设计与实现.docx
- 基于java的旅游出行指南设计与实现.docx
- 基于java的企业车辆管理系统设计与实现.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0