0

主题

0

好友

13

积分

注册会员 当前离线

Rank: 2

UID
36245
帖子
10
精华
0
经验
13 点
金钱
13 ¥
注册时间
2008-2-26
发表于 2009-6-22 13:52 | 显示全部楼层
T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。
首先说说我发现T200B软件的一些问题:
1.开机不记忆上次关机音量,这是最大的问题。
2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。
3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。
4。禁音时音箱灯没有禁音警示。

由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。
2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms
3.改进音量控制算法,实现每次都精确控制。
4禁音时指示灯变为红色,提示为禁音状态。
5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。

本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。本人出售修改好的单片机芯片,QQ150352134
000341659.jpg

未命名.jpg
下面是软件:
            SDA BIT P1.6
          SCL BIT P1.7
          ORG 0000H
          JMP START
    ORG 000BH
        JMP INTT0
  
            ORG 001BH
            SETB P1.5
    JMP INTR
START:      CLR P3.7
            CLR P1.4
            CLR P1.3
            MOV SP,#60H
    CLR P1.5
    MOV R6,#50
    CALL DELLAY
            SETB P1.5
    CALL READIIC
    MOV 50H,A
    SUBB A,#189
    JC NORMAL
    MOV A,#120
    MOV 50H,A
NORMAL:  MOV A,50H
-----------------------------------
渐进式启动软件,保密
-------------CALL SENDCS
    MOV TMOD,#61H
    MOV TH1,#0FFH
    MOV TL1,#0FFH
    SETB ET1
    SETB ET0
    SETB EA
    SETB TR1
L7:         JB P1.1,$
            CALL RC
    JZ L7
        MOV 50H,A
            CALL SENDCS
           SETB P3.7
           CLR P1.0
           MOV R1,#3
     MOV R2,#3
           MOV TH0,#00H
           MOV TL0,#00H
           SETB TR0
     JMP L7

INTT0:     DJNZ R1,GOON
           CPL P1.0
     MOV R1,#3
     DJNZ R2,GOON
     CLR TR0
            JNB P1.5,MU
    CLR P3.7
    SETB P1.0
    PUSH ACC
    MOV A,50H
            CALL WRITEIIC
    POP ACC
    RETI
MU:         CLR P1.0     ;MUTE红灯亮
    SETB P3.7
    PUSH ACC
            MOV A,50H
            CALL WRITEIIC
    POP ACC
GOON:   RETI
      
INTR:   JB P3.4,DEVOL
            MOV A,50H
    CJNE A,#10111101B,ADDVOL
            JMP RETIINTR
ADDVOL:     CJNE A,#00000001B,NO1
            MOV A,#00000011B
    MOV 50H,A
    CALL SENDCS
    JMP RETIINTR
NO1:        INC A
            INC A
        INC A
    MOV 50H,A
    CALL SENDCS
    JMP RETIINTR
DEVOL:      MOV A,50H
            CJNE A,#00000001B,DECRVOL
    JMP RETIINTR
DECRVOL:    CJNE A,#00000011B,NO3
            MOV A,#00000001B
    MOV 50H,A
    CALL SENDCS
    JMP RETIINTR
NO3:        DEC A
            DEC A
            DEC A
    MOV 50H,A
    CALL SENDCS
RETIINTR: SETB P3.7
           CLR P1.0
           MOV R1,#3
     MOV R2,#3
           MOV TH0,#00H
           MOV TL0,#00H
           SETB TR0
    RETI
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM
             CALL STARTIIC
             CALL SENDIIC
             SETB SCL
             MOV C,SDA
             JC WRITEIIC
             CLR SCL
             MOV A,#11000000B           ;存在11000000B单元
             CALL SENDIIC
             SETB SCL
             MOV C,SDA
             JC WRITEIIC
             CLR SCL
             MOV A,50H
             CALL SENDIIC
             SETB SCL
             MOV C,SDA
             JC WRITEIIC
     CLR SCL
     CALL ENDIIC
             RET
READIIC:     MOV A,#10100000B          ;读数据到A
             CALL STARTIIC
     CALL SENDIIC
     SETB SCL
     MOV C,SDA
     JC READIIC
     CLR SCL
             MOV A,#11000000B           ;读11000000B单元
             CALL SENDIIC
             SETB SCL
             MOV C,SDA
             JC READIIC
             CLR SCL
     CALL STARTIIC
             MOV A,#10100001B
             CALL SENDIIC
     SETB SCL
     MOV C,SDA
     JC READIIC
     MOV R7,#8
READIICBIT:  CLR SCL
     NOP
             SETB SCL
     MOV C,SDA
             RLC A            
     DJNZ R7,READIICBIT
             CLR SCL
     NOP
     SETB SCL
     NOP
     CLR SCL
     CALL ENDIIC
     RET
STARTIIC:    SETB SDA
             SETB SCL
             NOP
     CLR SDA
             NOP
             CLR SCL
             RET
ENDIIC:     CLR SDA
            NOP
            SETB SCL
            NOP
            SETB SDA
            RET
SENDIIC:    MOV R7,#8            ;发送A的内容
LOOPIIC:    RLC A
            MOV SDA,C
            SETB SCL
            NOP
            CLR SCL
            DJNZ R7,LOOPIIC
    SETB SDA
            RET
RC :        MOV R0,#30H              ;遥控接收子程序
            MOV R5,#9
L1:         MOV R6,#16
            CALL DELLAY
            JB P1.1,OUT
            DJNZ R5,L1
           JNB P1.1,$
            MOV R5,#5
L2:         MOV R6,#15
            CALL DELLAY
            JNB P1.1,OUT
            DJNZ R5,L2
            MOV R6,#11
            CALL DELLAY            
            MOV R3,#8
READBYTE:   MOV R4,#8
READBIT:    JNB P1.1,$
            MOV R6,#17
            CALL DELLAY
            MOV C,P1.1
            JNC ZERO
            MOV R6,#22
            CALL DELLAY
ZERO:       RRC A
            DJNZ R4,READBIT
            MOV @R0,A
            INC R0
            DJNZ R3,READBYTE
    MOV R6,50
    CALL DELLAY
---------------------------------------------           
---保密部分
----------------------------------------------
     RET
        
DELLAY:     MOV R7,#25            
            DJNZ R7,$
            DJNZ R6,DELLAY
            RET
SENDCS:      CLR P1.2           ;将A的内容发送到CS3310           
             MOV R5,#16
LOOPCS:      MOV C,ACC.7
             MOV P1.3,C
             NOP
             SETB P1.4
             NOP
             CLR P1.4
             RL A
             DJNZ R5,LOOPCS
             CLR P1.3
             SETB P1.2     
             RET
             END
未命名.jpg

5

主题

3

好友

3867

积分

贵宾 当前离线

Rank: 3Rank: 3

UID
32026
帖子
4996
精华
0
经验
3867 点
金钱
3775 ¥
注册时间
2007-12-11
发表于 2009-6-22 14:17 | 显示全部楼层
不错,高手

8

主题

0

好友

1546

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
23118
帖子
1601
精华
0
经验
1546 点
金钱
1507 ¥
注册时间
2007-5-28
发表于 2009-6-22 16:48 | 显示全部楼层
强哦

2

主题

0

好友

60

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
113521
帖子
90
精华
0
经验
60 点
金钱
58 ¥
注册时间
2009-6-22
发表于 2009-6-22 17:09 | 显示全部楼层
高,高,实在是高

1

主题

0

好友

412

积分
     

业余侠客 当前离线

Rank: 4

UID
38410
帖子
455
精华
0
经验
412 点
金钱
375 ¥
注册时间
2008-3-25
发表于 2009-6-22 19:03 | 显示全部楼层
论坛的高手,玩程序!是不是it科班?

0

主题

0

好友

13

积分

注册会员 当前离线

Rank: 2

UID
36245
帖子
10
精华
0
经验
13 点
金钱
13 ¥
注册时间
2008-2-26
 楼主| 发表于 2009-6-22 20:17 | 显示全部楼层
呵呵,当然是了

0

主题

0

好友

521

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
52233
帖子
591
精华
0
经验
521 点
金钱
521 ¥
注册时间
2008-8-27
发表于 2009-6-22 21:06 | 显示全部楼层
高手,果然够牛B

0

主题

0

好友

166

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
19560
帖子
117
精华
0
经验
166 点
金钱
115 ¥
注册时间
2007-3-3
发表于 2009-6-22 21:59 | 显示全部楼层
高人

0

主题

0

好友

13

积分

注册会员 当前离线

Rank: 2

UID
36245
帖子
10
精华
0
经验
13 点
金钱
13 ¥
注册时间
2008-2-26
 楼主| 发表于 2009-6-23 15:03 | 显示全部楼层
原帖由 Doyle 于 2009-6-22 21:59 发表
高人

懂单片机而已

2

主题

0

好友

107

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
67790
帖子
123
精华
0
经验
107 点
金钱
105 ¥
注册时间
2008-12-9
发表于 2009-6-23 17:16 | 显示全部楼层
对,我姨姨家的T200B就是这个鸟样,还问我怎么解决呢,我的M200就没这个问题,呵呵

0

主题

0

好友

13

积分

注册会员 当前离线

Rank: 2

UID
36245
帖子
10
精华
0
经验
13 点
金钱
13 ¥
注册时间
2008-2-26
 楼主| 发表于 2009-6-23 22:21 | 显示全部楼层
原帖由 genius719 于 2009-6-23 17:16 发表
对,我姨姨家的T200B就是这个鸟样,还问我怎么解决呢,我的M200就没这个问题,呵呵

叫她买我的单片机装上就行了,30元两片,QQ150352134

2

主题

1

好友

241

积分

业余侠客 当前离线

Rank: 4

UID
60727
帖子
180
精华
1
经验
241 点
金钱
185 ¥
注册时间
2008-10-28
发表于 2009-6-24 08:20 | 显示全部楼层
必须承认,楼主是高!

2

主题

0

好友

1139

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
21882
帖子
1333
精华
1
经验
1139 点
金钱
1220 ¥
注册时间
2007-4-22
发表于 2009-6-24 08:28 | 显示全部楼层
原帖由 mgldjp 于 2009-6-23 22:21 发表

叫她买我的单片机装上就行了,30元两片,QQ150352134

违规了,

0

主题

0

好友

13

积分

注册会员 当前离线

Rank: 2

UID
36245
帖子
10
精华
0
经验
13 点
金钱
13 ¥
注册时间
2008-2-26
 楼主| 发表于 2009-6-24 16:26 | 显示全部楼层
原帖由 发如雪 于 2009-6-24 08:28 发表

违规了,

为什么规了?

31

主题

0

好友

186

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
145148
帖子
1761
精华
0
经验
186 点
金钱
246 ¥
注册时间
2009-11-4
发表于 2013-10-10 07:45 | 显示全部楼层
我有台海乐诗的前级,用的CS3310,控制是AT80F51 20PC,现在开机显示LL,求助

85

主题

5

好友

4596

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
88039
帖子
4948
精华
0
经验
4596 点
金钱
4505 ¥
注册时间
2009-3-14
发表于 2013-10-10 08:18 来自手机端 | 显示全部楼层
楼主是超人啊

31

主题

0

好友

186

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
145148
帖子
1761
精华
0
经验
186 点
金钱
246 ¥
注册时间
2009-11-4
发表于 2013-10-11 23:24 | 显示全部楼层
dyh8283221 发表于 2013-10-10 08:18
楼主是超人啊

军  23:22:58
几年前了?通货膨胀了。。。。


一片变80了,唉
求助楼主变成这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部