[DAC] 关于TDA1307的控制软件

[复制链接] 查看: 26418|回复: 41

25

主题

1

好友

357

积分
     

业余侠客 当前离线

Rank: 4

UID
1029
帖子
316
精华
0
经验
357 点
金钱
99 ¥
注册时间
2004-7-15
发表于 2018-11-7 07:54 | 显示全部楼层
为楼上的分享点赞!

4

主题

5

好友

370

积分
     

业余侠客 当前离线

Rank: 4

UID
4136
帖子
277
精华
0
经验
370 点
金钱
244 ¥
注册时间
2005-5-7
发表于 2018-11-7 21:39 | 显示全部楼层
之前的那个也可以用,是要把1307的脚15接去PIC12F675的2脚,1307的18脚要设置为高位,利用1307给单晶片的时钟来启动PIC12F675

0

主题

0

好友

12

积分

注册会员 当前离线

Rank: 2

UID
114792
帖子
20
精华
0
经验
12 点
金钱
12 ¥
注册时间
2009-6-28
发表于 2018-11-30 11:30 | 显示全部楼层
感谢分享

49

主题

3

好友

1444

积分

贵宾 当前离线

Rank: 3Rank: 3

UID
2043
帖子
1242
精华
4
经验
1444 点
金钱
1150 ¥
注册时间
2004-11-5

论坛贵宾 DIY大赛获奖

发表于 2018-12-27 14:18 | 显示全部楼层
要啥1307 ,USB DSD  native 直出给1547

1

主题

4

好友

1638

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
475987
帖子
2109
精华
0
经验
1638 点
金钱
1636 ¥
注册时间
2012-2-29
发表于 2018-12-27 15:16 | 显示全部楼层
cdream 发表于 2018-12-27 14:18
要啥1307 ,USB DSD  native 直出给1547

老吴,你那就不叫DAC7(DF7)了  

3

主题

0

好友

167

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
8837
帖子
138
精华
0
经验
167 点
金钱
113 ¥
注册时间
2006-4-23
发表于 2019-12-3 15:41 | 显示全部楼层
fhwong 发表于 2018-11-7 21:39
之前的那个也可以用,是要把1307的脚15接去PIC12F675的2脚,1307的18脚要设置为高位,利用1307给单晶片的时 ...

谢谢分享!谢谢!

3

主题

0

好友

167

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
8837
帖子
138
精华
0
经验
167 点
金钱
113 ¥
注册时间
2006-4-23
发表于 2019-12-3 15:42 | 显示全部楼层
夜如风 发表于 2018-12-26 23:39
顺手贴个 这个软控的电路。TDA1307+TDA1547.也是顺手捡得,谢谢分享给我的兄弟。

谢谢分享!谢谢!

1

主题

0

好友

149

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
86434
帖子
153
精华
0
经验
149 点
金钱
147 ¥
注册时间
2009-3-8
发表于 2019-12-5 23:01 | 显示全部楼层
zsj 发表于 2019-12-3 15:42
谢谢分享!谢谢!

响了吗?我正想搞1307呢,有资料吗

1

主题

0

好友

149

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
86434
帖子
153
精华
0
经验
149 点
金钱
147 ¥
注册时间
2009-3-8
发表于 2019-12-6 16:35 | 显示全部楼层
fhwong 发表于 2018-11-7 21:39
之前的那个也可以用,是要把1307的脚15接去PIC12F675的2脚,1307的18脚要设置为高位,利用1307给单晶片的时 ...

4980e495133243262bcfe4542f3f5c0.jpg 请问这样子可以吗?

1

主题

0

好友

149

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
86434
帖子
153
精华
0
经验
149 点
金钱
147 ¥
注册时间
2009-3-8
发表于 2019-12-8 13:30 | 显示全部楼层
晨曦细雨s 发表于 2018-12-27 15:16
老吴,你那就不叫DAC7(DF7)了

貌似sa1的sacd数据也是直入1547的

3

主题

0

好友

167

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
8837
帖子
138
精华
0
经验
167 点
金钱
113 ¥
注册时间
2006-4-23
发表于 2020-1-21 11:31 | 显示全部楼层
近墨者 发表于 2019-12-5 23:01
响了吗?我正想搞1307呢,有资料吗

还没时间搞

4

主题

5

好友

370

积分
     

业余侠客 当前离线

Rank: 4

UID
4136
帖子
277
精华
0
经验
370 点
金钱
244 ¥
注册时间
2005-5-7
发表于 2020-1-24 14:18 | 显示全部楼层
再上一个固件,帮忙广州朋友写的,用STC15W204, 接脚 RAB=P1.0 , CLK=P1.1 , DA=P1.2


tda1307.rar

320 Bytes, 下载次数: 302

tda1307.hex 固件

1

主题

0

好友

149

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
86434
帖子
153
精华
0
经验
149 点
金钱
147 ¥
注册时间
2009-3-8
发表于 2020-1-25 16:51 | 显示全部楼层
fhwong 发表于 2020-1-24 14:18
再上一个固件,帮忙广州朋友写的,用STC15W204, 接脚 RAB=P1.0 , CLK=P1.1 , DA=P1.2

求问之前那个开启了内部时钟的pic12程序,是不是2、3脚不用接?

14

主题

0

好友

695

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
20097
帖子
646
精华
0
经验
695 点
金钱
628 ¥
注册时间
2007-3-13
发表于 2020-1-25 18:11 | 显示全部楼层
#include<pic.h>
__CONFIG(INTIO&WDTDIS&PWRTEN&MCLRDIS);       //for Release




#define TDA1307_RAB GPIO0
#define TDA1307_CL GPIO1
#define TDA1307_DA GPIO2
#define TDA1307_RST GPIO4



//unsigned char DSP@0x31;
unsigned char i;

/**************************************************

**************************************************/

union unionBits{
        struct structBits{
                unsigned bit_0:1;
                unsigned bit_1:1;
                unsigned bit_2:1;
                unsigned bit_3:1;
                unsigned bit_4:1;
                unsigned bit_5:1;
                unsigned bit_6:1;
                unsigned bit_7:1;
        }Bits;

        struct xx{
                unsigned none:8;
        }xx;

        char unionByte;
};
union unionBits Byte0@0x20;
union unionBits Byte1@0x21;
union unionBits Byte2@0x22;


#define flag0               Byte0.unionByte
#define Start_Check                        Byte0.Bits.bit_0
#define fg_Mute                    Byte0.Bits.bit_1
#define fg_key                        Byte0.Bits.bit_2
#define fgselector                    Byte0.Bits.bit_3
#define selectorBuffer                   Byte0.Bits.bit_4
#define fg_I2C_set                   Byte0.Bits.bit_5
#define fg_BNC_set                Byte0.Bits.bit_6
#define BNC_playing             Byte0.Bits.bit_7

#define flag1               Byte1.unionByte
#define fg_channel                        Byte1.Bits.bit_0
#define fg_channel_set                        Byte1.Bits.bit_1
#define fg_rate_441K                        Byte1.Bits.bit_2
#define fg_rate_48K                        Byte1.Bits.bit_3
#define fg_rate_96K                        Byte1.Bits.bit_4
#define fg_rate_192K                        Byte1.Bits.bit_5
#define fg_updat                        Byte1.Bits.bit_6
void init_IO(void)
{
        TRISIO=0b0000000;
        GPIO=0xff;
        CMCON=0X07;
       
}

/*****************************************************************
*
*
*
******************************************************************/       
void delay_ms(unsigned int time)
{
        unsigned char j;
        while(time>0)
        {
                time--;
                for(j=0;j<109;j++)
                {
                        NOP();
                        NOP();
                }       
        }       
}
/*****************************************************************
*
*
*
******************************************************************/
void TDA1307_Write(unsigned char DSP)
{       
        TDA1307_RAB=1;
        TDA1307_CL=1;
        TDA1307_DA=0;
        TDA1307_RAB=0;
        for(i=8;i>0;i--)
        {
                TDA1307_CL=0;
                if(DSP&0x80)TDA1307_DA=1;
                else TDA1307_DA=0;
        //        NOP();
                TDA1307_CL=1;
        //        NOP();
                DSP<<=1;
        }       
        TDA1307_RAB=1;
}
/*********************************************************
*   ADDRESS
*                BANK    D3      D2        D1   D0     INITIAL STATE
*  A3 A2 A1 A0  B0 B1
*  0  0  0  0   X  X     BANK B0 BANK B1   ATT  DIM    0 0 1 1
*  0  0  0  1   0  1     FCON    DIT       FSS9 FSS8   0 0 0 0
*               1  0     FSS7    FSS6      FSS5 FSS4   0 0 1 0
*               1  1     FSS3    FSS2      FSS1 FSS0   1 0 0 0
*  0  1  0  0   0  1     DCEN    DCSH      FN9  FN8    0 1 1 1
*               1  0     FN7     FN6       FN5  FN4    0 0 0 0
*               1  1     FN3     FN2       FN1  FN0    1 1 0 1
*  0  1  1  0   0  1     DEMC1   DEMC0     RES0 RES1   0 0 0 0
*               1  0     INS1    INS0      FS1  FS0    0 0 0 0
*               1  1     RES2    NS        RST  STBY   1 0 0 0
*
*   DEMC1 DEMC0      DE-EMPHASIS FUNCTION
*     0     0     de-emphasis disabled
*     0     1     de-emphasis for fs = 32.0 kHz
*     1     0     de-emphasis for fs = 44.1 kHz
*     1     1     de-emphasis for fs = 48.0 kHz
*
*   INS1   INS0      INPUT FORMAT
*    0      0      I2S up to 20 bits
*    0      1      Sony format 16 bits
*    1      0      Sony format 18 bits
*    1      1      Sony format 20 bits
*
*   FS1    FS0     DOBM SAMPLE FREQUENCY INDICATION
*    0      0             fs = 44.1 kHz
*    0      1             fs = 48.0 kHz
*    1      0             no meaning
*    1      1             fs = 32.0 kHz
*
*    ATT         1=-12DB              0=0DB
*    DIM         1=静音
*    FCON        1=淡入淡出功能        
*    DIT         1=使用颤振控制   
*    FSS9~FSS0   淡入淡出速度
*    DCEN        直流滤波器使能   1=使能的减法直流级别从输入信号
*    DCSH        直流滤波器使能   1=使能的减法直流滤波器样品或持有控制位  0=直流输入信号的水平不断评估
*    FN0~FN9     volume音量
*     NS         0=3阶数字滤波        1=4阶数字滤波
*     RST        软件复位             0=立即复位
*     STBY       0=正常工作           1=待机
CLC1 CLC2 CDEC OUTPUT FREQUENCY
0     0        256fs
0     1        384fs
1     0        768fs
1     1        192fs
**********************************************************/
void init_TDA1307(void)
{
        TDA1307_RST=1;
        delay_ms(50);
        TDA1307_RST=0;
        delay_ms(20);
        TDA1307_RST=1;
        delay_ms(20);
        TDA1307_Write(0x04);  //BANK0=0 BANK1=1;
        TDA1307_Write(0x10);  //
        TDA1307_Write(0x08);  //BANK0=1 BANK1=0;
        TDA1307_Write(0x10);  //
        TDA1307_Write(0x0c);  //BANK0=1 BANK1=1;
        TDA1307_Write(0x10);  //
       
        TDA1307_Write(0x04);  //BANK0=0 BANK1=1;
        TDA1307_Write(0x4c);  //
        TDA1307_Write(0x08);  //BANK0=1 BANK1=0;
        TDA1307_Write(0x40);  //
        TDA1307_Write(0x0c);  //BANK0=1 BANK1=1;
        TDA1307_Write(0x40);  //
       
        TDA1307_Write(0x04);  //BANK0=0 BANK1=1;
        TDA1307_Write(0x60);  //
        TDA1307_Write(0x08);  //BANK0=1 BANK1=0;
        TDA1307_Write(0x60);  //
        TDA1307_Write(0x0c);  //BANK0=1 BANK1=1;
//        TDA1307_Write(0x0e);  //BANK0=1 BANK1=1; -12dB
        TDA1307_Write(0x60);  //
}

void main(void)
{
        init_IO();
        delay_ms(2000);
        init_TDA1307();
        while(1);
}       

点评

热心帮助坛友!  发表于 2022-6-21 22:04

4

主题

5

好友

370

积分
     

业余侠客 当前离线

Rank: 4

UID
4136
帖子
277
精华
0
经验
370 点
金钱
244 ¥
注册时间
2005-5-7
发表于 2020-5-13 15:06 | 显示全部楼层
再上载新的1307程序,适合所有STC15xxx的单晶片,接脚 RAB=P3.0 , CLK=P3.1 , DA=P3.2,需要的自行下载,

链接:https://pan.baidu.com/s/1MhLKE5St9_faPPlufKtZwA
提取码:zlix

点评

助人为乐!  发表于 2022-6-21 22:05

209

主题

1

好友

2699

积分
     

罗宾汉 当前离线

越减越繁

Rank: 7Rank: 7Rank: 7

UID
1005
帖子
3344
精华
3
经验
2699 点
金钱
952 ¥
注册时间
2004-7-11
发表于 2020-5-14 06:41 | 显示全部楼层
感谢楼上分享技术

9

主题

3

好友

772

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
58065
帖子
1361
精华
0
经验
772 点
金钱
819 ¥
注册时间
2008-10-11
发表于 2020-5-16 19:44 | 显示全部楼层
fhwong 发表于 2020-5-13 15:06
再上载新的1307程序,适合所有STC15xxx的单晶片,接脚 RAB=P3.0 , CLK=P3.1 , DA=P3.2,需要的自行下载,
...

谢谢

34

主题

0

好友

1205

积分

认证会员 当前离线

淘宝小店:http://hiend.taobao.com

Rank: 4

UID
104985
帖子
1982
精华
0
经验
1205 点
金钱
1175 ¥
注册时间
2009-5-17

认证会员

发表于 2020-6-8 17:41 来自手机端 | 显示全部楼层
谢谢分享!

36

主题

7

好友

603

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
84032
帖子
661
精华
0
经验
603 点
金钱
521 ¥
注册时间
2009-2-27
发表于 2021-2-20 13:22 | 显示全部楼层
xmlhifi 发表于 2018-5-18 09:39
方案选型时候应做好功课,芯片的功能与使用方法搞清楚再购买,避免盲目。
TDA1307控制不复杂,普通8位单片 ...

逻辑芯片也可以

1

主题

0

好友

11

积分
     

注册会员 当前离线

Rank: 2

UID
865850
帖子
13
精华
0
经验
11 点
金钱
9 ¥
注册时间
2019-9-1
发表于 2021-8-4 23:16 | 显示全部楼层
近墨者 发表于 2019-12-6 16:35
请问这样子可以吗?

不是只要 rab cl da 三个引脚接 1307吗? 为何你图上的pic12f675 的2脚 接1307的15脚?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部