专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
PIC单片机
那位大侠用过TDA7418?
2020-02-09 09:38
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
11287
3
3
那位大侠用过TDA7418的音频IC,我怎么弄就是没音输出。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
junlonger
1楼-- · 2020-02-09 10:34
精彩回答 2 元偷偷看……
加载中...
xzbx
2楼-- · 2020-02-09 11:41
既然没人用过我就把我用试过的代码贴上,只是选择信号源和声音为什么这样子我自已也不是很清楚,但它是可以用的,希望那位知道的告诉一声音,这样就非常感谢。
//#include <16F628A.h>
#include <16F690.h>
//#FUSES NOWDT, INTRC_IO, PUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD, RESERVED
#FUSES NOWDT, INTRC_IO, NOPROTECT, NOBROWNOUT, NOMCLR, NOCPD, PUT, NOIESO, NOFCMEN, RESERVED
#use delay(clock=4000000)
#use i2c(Master,slow,sda=PIN_B4,scl=PIN_B6) //slow
#byte OPTION_REG=0x81
#bit pull_EN=OPTION_REG.8
#define Chip_address 0x88
#define Testing_Mode 0x80
#define Auto_Zero_Remain 0x40
#define Auto_Increment_Mode 0x20
#define reset_chip 0xfe
#define Source_Selector 0 //ÉùÒôÔ´Ñ¡Ôñ
#define Loudness 1 //¸ßÒô
#define Volume 2 //ÒôÁ¿
#define Treble 3 //ÖØÒô
#define Middle 5 //ÖÐÒô
#define Bass 4 //µÍÒô
#define Speaker_Attenuator_Left_Front 0x07
#define Speaker_Attenuator_Right_Front 0x0a
#define Speaker_Attenuator_Left_Rear 0x08
#define Speaker_Attenuator_Right_Rear 0x09
#define Source1 1
#define Source2 2
#define Source3 3
#define Source_Mute 4
#define max_db 14
void Data_send(char Commd,char Data)
{
i2c_start();
i2c_write(Chip_address);
i2c_write(Commd);
i2c_write(Data);
i2c_stop();
delay_ms(5);
}
void Led1_flash(void)
{
output_high(pin_a5);
delay_ms(1000);
output_low(pin_a5);
delay_ms(1000);
}
void Led2_flash(void)
{
output_high(pin_a4);
delay_ms(1000);
output_low(pin_a4);
delay_ms(1000);
}
void Initializtion_Speaker_Attenuator(void)
{
Data_send(Speaker_Attenuator_Right_Front,max_db);
Data_send(Speaker_Attenuator_Left_Front,max_db);
Data_send(Speaker_Attenuator_Left_Rear,max_db);
Data_send(Speaker_Attenuator_Right_Rear,max_db);
}
void main()
{
char i,x;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
delay_ms(3000);
while(1)
{
/*
//*******ͨµÀ1************************
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source1); //15db,ͨµÀ1
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
}
output_high(pin_a4);
i2c_stop();
*/
//*******ͨµÀ2************************
/*
delay_ms(4000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source2); //15db,ͨµÀ2
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿
i2c_write(i);
i2c_stop();
*/
/* //*******ͨµÀ3************************
delay_ms(2000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source3); //15db,ͨµÀ3
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿5f
{
i2c_write(i); //15db
Led2_flash();
}
i2c_stop();
//****½áÊøͨµÀÑ¡Ôñ***************
*/
//*************ͨµÀ1*********************************************
delay_ms(4000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source2); //15db,Ñ¡Ôñµ½Í¨µÀ2
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
}
i2c_stop();
//**********************Left_Front************************************
delay_ms(5);
Initializtion_Speaker_Attenuator(); //Êä³öË¥¼õÆ÷ÉèΪһÑù´ó
delay_ms(3000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Speaker_Attenuator_Left_Front);
for(i=0x0e;i>0;i--) //¼õÉÙÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x11;i<0x20;i++) //¼õÉÙÒôÁ¿5f
{
i2c_write(i);
delay_ms(400);
}
for(i=0x20;i>0x10;i--) //Ôö¼ÓÒôÁ¿5f
{
i2c_write(i);
delay_ms(400);
}
for(i=0x0;i<0x0f;i++) //Ôö¼ÓÒôÁ¿5f
{
i2c_write(i);
delay_ms(400);
}
i2c_stop();
//********************Right**********************************
delay_ms(1000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Speaker_Attenuator_Right_Front);
for(i=0x0e;i>0;i--) //¼õÉÙÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x11;i<0x20;i++) //¼õÉÙÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x20;i>0x10;i--) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x0;i<0x0f;i++) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
i2c_stop();
//*********************************************************
while(1);
}
}
加载中...
一周热门
更多
>
相关问题
PIC单片机不同的IO口驱动74HC573驱动共阴极的数码管,有的段不亮
1 个回答
一种简单精确的pic延时方法
21 个回答
谁熟悉PIC的产品发布时间的,帮看看PIC18F47K40啥版本IDE能开发
12 个回答
求AN1078对应的源代码下载地址
5 个回答
PIC单片机应用技巧
4 个回答
串口无法连续接收数据
2 个回答
求助:dsPIC33F串口通信,如何发送字符串
4 个回答
PIC45K40 IOC(interrupt-on-change)功能
2 个回答
相关文章
一种用PIC单片机主时钟驱动的老式挂钟
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
PIC单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
//#include <16F628A.h>
#include <16F690.h>
//#FUSES NOWDT, INTRC_IO, PUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD, RESERVED
#FUSES NOWDT, INTRC_IO, NOPROTECT, NOBROWNOUT, NOMCLR, NOCPD, PUT, NOIESO, NOFCMEN, RESERVED
#use delay(clock=4000000)
#use i2c(Master,slow,sda=PIN_B4,scl=PIN_B6) //slow
#byte OPTION_REG=0x81
#bit pull_EN=OPTION_REG.8
#define Chip_address 0x88
#define Testing_Mode 0x80
#define Auto_Zero_Remain 0x40
#define Auto_Increment_Mode 0x20
#define reset_chip 0xfe
#define Source_Selector 0 //ÉùÒôÔ´Ñ¡Ôñ
#define Loudness 1 //¸ßÒô
#define Volume 2 //ÒôÁ¿
#define Treble 3 //ÖØÒô
#define Middle 5 //ÖÐÒô
#define Bass 4 //µÍÒô
#define Speaker_Attenuator_Left_Front 0x07
#define Speaker_Attenuator_Right_Front 0x0a
#define Speaker_Attenuator_Left_Rear 0x08
#define Speaker_Attenuator_Right_Rear 0x09
#define Source1 1
#define Source2 2
#define Source3 3
#define Source_Mute 4
#define max_db 14
void Data_send(char Commd,char Data)
{
i2c_start();
i2c_write(Chip_address);
i2c_write(Commd);
i2c_write(Data);
i2c_stop();
delay_ms(5);
}
void Led1_flash(void)
{
output_high(pin_a5);
delay_ms(1000);
output_low(pin_a5);
delay_ms(1000);
}
void Led2_flash(void)
{
output_high(pin_a4);
delay_ms(1000);
output_low(pin_a4);
delay_ms(1000);
}
void Initializtion_Speaker_Attenuator(void)
{
Data_send(Speaker_Attenuator_Right_Front,max_db);
Data_send(Speaker_Attenuator_Left_Front,max_db);
Data_send(Speaker_Attenuator_Left_Rear,max_db);
Data_send(Speaker_Attenuator_Right_Rear,max_db);
}
void main()
{
char i,x;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
delay_ms(3000);
while(1)
{
/*
//*******ͨµÀ1************************
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source1); //15db,ͨµÀ1
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
}
output_high(pin_a4);
i2c_stop();
*/
//*******ͨµÀ2************************
/*
delay_ms(4000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source2); //15db,ͨµÀ2
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿
i2c_write(i);
i2c_stop();
*/
/* //*******ͨµÀ3************************
delay_ms(2000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source3); //15db,ͨµÀ3
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿5f
{
i2c_write(i); //15db
Led2_flash();
}
i2c_stop();
//****½áÊøͨµÀÑ¡Ôñ***************
*/
//*************ͨµÀ1*********************************************
delay_ms(4000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Auto_Increment_Mode + Source_Selector);
i2c_write(0x78+Source2); //15db,Ñ¡Ôñµ½Í¨µÀ2
i2c_write(Volume); //ÒôÁ¿;
for(i=17;i>6;i--) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
}
i2c_stop();
//**********************Left_Front************************************
delay_ms(5);
Initializtion_Speaker_Attenuator(); //Êä³öË¥¼õÆ÷ÉèΪһÑù´ó
delay_ms(3000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Speaker_Attenuator_Left_Front);
for(i=0x0e;i>0;i--) //¼õÉÙÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x11;i<0x20;i++) //¼õÉÙÒôÁ¿5f
{
i2c_write(i);
delay_ms(400);
}
for(i=0x20;i>0x10;i--) //Ôö¼ÓÒôÁ¿5f
{
i2c_write(i);
delay_ms(400);
}
for(i=0x0;i<0x0f;i++) //Ôö¼ÓÒôÁ¿5f
{
i2c_write(i);
delay_ms(400);
}
i2c_stop();
//********************Right**********************************
delay_ms(1000);
i2c_start();
i2c_write(Chip_address);
i2c_write(Speaker_Attenuator_Right_Front);
for(i=0x0e;i>0;i--) //¼õÉÙÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x11;i<0x20;i++) //¼õÉÙÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x20;i>0x10;i--) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
for(i=0x0;i<0x0f;i++) //Ôö¼ÓÒôÁ¿
{
i2c_write(i);
delay_ms(400);
}
i2c_stop();
//*********************************************************
while(1);
}
}
一周热门 更多>