POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 4343|回复: 14
打印 上一主题 下一主题

打磨T200B,解决默认断电开机不记忆音量,不影响音质

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑
$ J& m3 G  C4 Z$ I: T
* n- `" L( p( J) d! LT200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。
7 Q3 Y3 N7 W5 Y; F1 b/ {" R3 B# \$ q首先说说我发现T200B软件的一些问题:3 n0 y- ~  v* [5 G
1.开机不记忆上次关机音量,这是最大的问题。
' z: h8 e( b  o( I& i0 ^' L2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。$ ~. D4 q% k/ J
3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。5 P* B  n, S: S% o1 H' f
4。禁音时音箱灯没有禁音警示。1 ?1 c8 u/ x) v! J! F5 N# }

( C8 ?4 H6 r0 y: e) S" ]0 }- ]由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
3 P+ V" a, ^) L# V) y1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。
; l3 X! I; D9 P0 @# N9 u6 `/ b- M2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms
2 m7 \9 z7 b8 k+ M" T8 J2 O# u$ f& t3.改进音量控制算法,实现每次都精确控制。7 e2 o1 m4 q5 m. O
4禁音时指示灯变为红色,提示为禁音状态。) A* e8 m8 m  K$ N' l
5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。
  f/ D: g, l5 d( a. c
& h. q( O" G; a- G本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:/ X. \/ i0 W# F9 ?6 {
http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442
2 X8 q) @8 r) m; }) r* v: w3 E: Z7 K5 {6 f( T+ Y) a

4 {5 {) R# O3 J7 K7 F- X! Y$ V6 E6 l% E4 }5 Z9 n5 p4 O

1 z2 t" O! P# b+ Y' t) j% n$ ?( V* k! Q2 ?
! Z& C& g2 L6 @. k% u* w
下面是汇编程序:  
/ p4 X: h" Z  I3 FSDA BIT P1.6
: p7 a( A8 ~! q" K  r) I( y* J8 S          SCL BIT P1.7
1 ^: F: }) g0 q          ORG 0000H0 G4 H% A& T3 U" S) x  W- O7 J2 w3 u6 b
          JMP START
" D5 e7 `: o) ~1 _6 Z    ORG 000BH
& M. H$ Q1 p, o        JMP INTT0
+ R3 J6 i. k9 t; d$ {2 W' y  R  / D7 w( J/ i, s/ X5 z; Z
            ORG 001BH
7 y7 _8 d+ L( `& v            SETB P1.5" U; s9 P9 K1 Z3 ^/ J
    JMP INTR
6 [/ M- n  z& ?3 ?8 LSTART:      CLR P3.7
+ z6 R, _! f/ J4 {- c            CLR P1.4
* v/ X* Y1 h) d" f1 c            CLR P1.3. M! [# k: D" M+ i& K5 r+ K
            MOV SP,#60H& i- v7 l: a) Y
    CLR P1.57 U; Q7 w, O- M: ~! |
    MOV R6,#50: j7 r) E% b+ {2 f  Q3 w) k+ H3 U3 B3 K7 Z
    CALL DELLAY
; Y+ d# T0 _( O# d& ?- b3 A8 K            SETB P1.5
$ q7 c# V% b$ p# a4 N    CALL READIIC, w2 J. I+ S5 l, [9 s$ B3 Q
    MOV 50H,A7 J1 ^3 I2 G+ S9 A% R
    SUBB A,#189
' V1 S, H. w" }) K6 y    JC NORMAL
7 L2 W; [1 }. j% W    MOV A,#120
4 a9 B' w: D5 n6 N+ l9 m    MOV 50H,A! v; j1 Z7 G5 u3 ^; ?0 }# f
NORMAL:  MOV A,50H: Z/ V$ X$ ]) l$ G
-----------------------------------
1 d* t- E& g1 s  a渐进式启动软件,保密4 F8 I, ~) x; ~4 S% L5 R' T7 u4 ^
-------------CALL SENDCS
# H) g2 h- ~2 ]. X/ Q" R% a    MOV TMOD,#61H
. x, y0 Q* l) ^8 b5 X    MOV TH1,#0FFH
+ `  s% n) p% q( B+ R    MOV TL1,#0FFH1 v' p9 A$ `3 b. ?, w0 q& O7 b
    SETB ET1% r& e5 }  @+ u, b6 M1 t* j+ c: o; \
    SETB ET0% ?9 G4 A6 s8 [7 e
    SETB EA
( @, t' `$ C! \+ J    SETB TR1: s5 [  l" G( w0 |, d4 H( ?1 B
L7:         JB P1.1,$* H' L% O; d* T0 @7 w
            CALL RC
6 Y6 Q( z7 S9 [    JZ L7
2 x5 f# y9 U  g  V        MOV 50H,A: k" D0 I$ B0 C% q
            CALL SENDCS
- e% x& e8 k# H           SETB P3.7
: X. d- [- c/ U           CLR P1.0
- g/ @2 _* W; p8 ^/ ?: N* Q           MOV R1,#33 K8 G% ^2 {. f0 R# R: ]
     MOV R2,#31 k% ~, j# z# Z
           MOV TH0,#00H% w& c3 k0 l# `+ \4 F
           MOV TL0,#00H/ m7 g; S1 F0 ?& I% N, Y( j( u! w
           SETB TR08 p# Z2 X6 `: k
     JMP L7
( h& A; S' r0 R/ O" T$ Q
3 y' O( @! G" A4 J0 Z7 j, Y/ L5 eINTT0:     DJNZ R1,GOON& |3 [# |( x* ^) [' T3 h; g
           CPL P1.0
* w) S5 c/ }) O2 u( H     MOV R1,#3- f; w/ }2 o$ x, w# w0 K) U- o
     DJNZ R2,GOON" R3 c  ^& O$ W1 l7 u
     CLR TR0
5 b# J' g  p" b            JNB P1.5,MU
8 w" l8 y; {7 P$ c  e7 O    CLR P3.72 ^: E/ p9 {8 k( G" G5 {/ w2 }& H
    SETB P1.0
0 v$ G& p2 b- O" ^    PUSH ACC/ T8 t5 P, ]5 f. R5 X& Y. q
    MOV A,50H
3 M$ B; a* W8 T) E5 A            CALL WRITEIIC7 M4 u: s4 s0 ~' J: L9 |! k+ N" r
    POP ACC: Q8 ~& r( r( t3 B4 M
    RETI& r$ m; j6 ~6 A6 g1 ~
MU:         CLR P1.0     ;MUTE红灯亮: a4 y) d+ Z% N# r( u" v
    SETB P3.7
7 O9 P) S3 F6 p2 z: D2 Q; J$ o3 |    PUSH ACC
4 U- R  h! ?- ^! K( G, ?0 b" r  i8 v6 r            MOV A,50H( z6 ~' f+ j) y3 b; d
            CALL WRITEIIC% h- e' q( k: |1 j% v- i; ?
    POP ACC
9 B+ F- U( D+ u! z7 Z. @GOON:   RETI! U( @4 t/ z9 J" A* T
      
- t4 k" Q! N' X: ?7 wINTR:   JB P3.4,DEVOL! m$ I, \8 Y8 Z2 C% I9 H8 \
            MOV A,50H
  s5 U( l' {6 m5 G; @# v6 u$ g! e    CJNE A,#10111101B,ADDVOL& u7 p5 P2 X7 y7 j  ?  `7 e; P
            JMP RETIINTR
8 O% b$ s( c% C$ G; u  }ADDVOL:     CJNE A,#00000001B,NO1$ A2 |! Y8 Q/ w' m9 x
            MOV A,#00000011B
8 p" I1 o3 ]9 ~5 ^  R( k* S    MOV 50H,A+ \9 [' X6 {1 c, }
    CALL SENDCS
/ B/ U" ^; P8 d; s& }6 E- x    JMP RETIINTR
- z, z! |# D# p5 z/ c, ENO1:        INC A! g  l# I; n* t  i
            INC A& [9 p9 d9 y$ H& J
        INC A
# ]1 c2 G; I% u5 m" @    MOV 50H,A
4 E3 [5 S/ B9 ~% `    CALL SENDCS& X; x$ @* c- v/ P& i
    JMP RETIINTR5 C: Y4 M- g4 y
DEVOL:      MOV A,50H9 t' E. }5 _! `6 V! d* @* q
            CJNE A,#00000001B,DECRVOL; S' E  F" o0 k5 m
    JMP RETIINTR
6 s" g- V& K. t& k! ]7 n5 ]DECRVOL:    CJNE A,#00000011B,NO3
: r4 z. [7 f2 U( x4 j9 D# [            MOV A,#00000001B
  O, T. ]% T, q' T, t  C2 N    MOV 50H,A6 _! Y( A; P7 m$ ~5 `
    CALL SENDCS
# u9 _" y) n: `0 q5 @1 w/ d* ]2 M    JMP RETIINTR
! W$ S( r/ v1 q, v' O% lNO3:        DEC A
5 a1 j: s, ^, C4 G$ f$ w            DEC A0 l0 Y4 q# u% T9 E9 k
            DEC A% K: ~. e1 k) a) a( j
    MOV 50H,A8 U! I$ p# v3 w. O* K8 @/ D! x
    CALL SENDCS
# z  z8 `8 ]# G3 C6 U) A# ERETIINTR: SETB P3.7
) n# t3 t/ ^3 x# N* B" ~8 X9 b% U- g8 j' L           CLR P1.0
# b: N/ ~$ `( Y) a, ^3 t           MOV R1,#3
1 ~' i' |+ [5 r+ d7 `" y6 l     MOV R2,#3" ^6 r2 [6 [7 Z' E8 |
           MOV TH0,#00H! q( e* W( r" v' O$ S, U" l
           MOV TL0,#00H
- q$ p) ~1 ?7 f           SETB TR0( ^/ i! P0 X& U3 R) H) \+ d' g2 [& s7 l
    RETI
6 I9 S: `+ `3 r  JWRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM" ~" g% z: l& ^0 S$ w1 d: u; s
             CALL STARTIIC2 K8 d( F% Q& Z3 b
             CALL SENDIIC! ?0 r# P5 `; b8 S" h3 w5 K4 ?
             SETB SCL
7 {% i& }( H2 M1 w5 u  w$ U1 K             MOV C,SDA* R; |+ z8 a* K. R2 e
             JC WRITEIIC+ T7 l# H4 ?+ B- E6 {& @
             CLR SCL  D- J# r  @4 G3 K6 N5 u
             MOV A,#11000000B           ;存在11000000B单元
2 J& i0 e# a, o) j9 ~             CALL SENDIIC6 p4 U, k0 l; @% K
             SETB SCL
7 x. U2 X0 `7 R2 T5 I" `1 i             MOV C,SDA
9 O4 |5 Q# I; {             JC WRITEIIC; G3 c  L: i6 \( t# a* C
             CLR SCL
8 K/ V' e5 W! w% T             MOV A,50H- a5 q1 E9 V% G
             CALL SENDIIC% @/ i- G( r  O7 i  f7 g
             SETB SCL
# _: N" p; j* Y% P$ Y" Z             MOV C,SDA
! r0 H+ K) G% o; ^: q$ X             JC WRITEIIC
/ s2 d1 V* n9 _* Y2 Q     CLR SCL
8 O5 [" U& v7 P; C$ @     CALL ENDIIC
: r! m- d* V8 L0 Z, M4 `             RET
# {: [5 F4 {  U3 H: X  \READIIC:     MOV A,#10100000B          ;读数据到A
% G1 B  X/ w; R             CALL STARTIIC
( y3 n4 D  V8 j' ?6 b+ s     CALL SENDIIC
8 a" F$ a( S5 R     SETB SCL
) O5 b* f: d/ Z6 f     MOV C,SDA: O1 \+ u) q' V, a, R) @1 i3 B
     JC READIIC3 i: \- D& P5 h5 E5 {! _# B/ m
     CLR SCL( D$ S5 H' F; Z( A6 z' y
             MOV A,#11000000B           ;读11000000B单元
6 ^+ x9 P- @6 M6 K) C             CALL SENDIIC/ \0 A- ]: x# Z* W* b, D3 p. l
             SETB SCL
3 s# w% l9 V! v: k* ~! N7 H/ K             MOV C,SDA
6 m( i! W# ^* s1 F+ ]             JC READIIC& _' h/ g7 o0 H4 f7 j
             CLR SCL
& ^' H. n! w" A6 I# q  E     CALL STARTIIC
7 w' _9 v: V) O( t. S( J$ F7 n" j6 F             MOV A,#10100001B& ]8 L8 W2 o' J
             CALL SENDIIC% x7 X6 O5 j% q6 x
     SETB SCL
9 D; O+ H  ^/ K4 l, M, S  a     MOV C,SDA
( ~( K/ _) l3 Q; k& s& |- t) _     JC READIIC7 g; j7 I* k  e: E) w& M4 F! G
     MOV R7,#8
1 C. ]( F  v7 tREADIICBIT:  CLR SCL
% n8 V2 O- k! |. W     NOP9 K/ U& }! j; Z" u9 c' J; @
             SETB SCL3 c6 d" f7 a. e# p
     MOV C,SDA$ v" n6 d# m* \
             RLC A            " ?2 A/ A7 d, `5 Q1 j$ n
     DJNZ R7,READIICBIT
7 g% o; w3 y" h3 \             CLR SCL  y7 J+ g1 W8 ^- z( q& f3 A
     NOP. U% Z, F+ K- `
     SETB SCL% ]( @1 R, B2 A+ p
     NOP9 @) L8 E: ^* @- T! a' W, t
     CLR SCL
/ Q2 A4 n9 L/ g% Z     CALL ENDIIC- Q6 S3 g7 T0 B% V
     RET% W, Z3 G1 f+ r3 E: d
STARTIIC:    SETB SDA- Z) ~* \- s( V
             SETB SCL
( d  C$ y' z0 X2 j             NOP# N  D4 A/ N6 M( I- r
     CLR SDA, D* \1 z9 X% U+ |, n% M! Y
             NOP  I/ b& H9 o6 ^, s) n
             CLR SCL2 {; _5 O7 I) s. z; S! t  ?% F
             RET) ~6 C6 p. c1 Q
ENDIIC:     CLR SDA
  n( C4 L" H& n+ K; S) w2 S2 d            NOP
# M/ C- Z$ d+ K% J, a+ N, ]2 g            SETB SCL2 b- U' q: c7 i, }
            NOP- m2 @; e/ ^% W8 g, N$ r8 S4 c8 ^4 w
            SETB SDA
3 ~8 z1 I: a% t0 ^2 p- c5 |% d            RET$ n# s! s; z; f6 |' n2 D
SENDIIC:    MOV R7,#8            ;发送A的内容
% l6 b1 ?: y  u  Q0 y6 kLOOPIIC:    RLC A6 z$ m. N5 I& B
            MOV SDA,C
, x. s; w! g4 G+ b+ g, ~6 u4 C  j# Y            SETB SCL
9 X  H/ {: R1 e' n9 C& A+ Q+ h7 L            NOP
3 Q  L3 x- f; j8 G& Z            CLR SCL
8 f, s3 O' j9 T6 G7 D            DJNZ R7,LOOPIIC5 M  p" J/ H; I. k
    SETB SDA7 }+ p  J. B+ J/ c& |0 E% B- [
            RET: {! [' c3 p: L) K
RC :        MOV R0,#30H              ;遥控接收子程序
% \) K$ M- b" K' e6 U            MOV R5,#9
( J7 F+ u2 s. ^5 t9 t6 B7 uL1:         MOV R6,#16
) C7 g7 e% c7 w$ a" b            CALL DELLAY
8 U: D& `0 S# x; M& _            JB P1.1,OUT
3 d! I, i' r$ O: V* W& b0 P            DJNZ R5,L1 $ A  k3 l/ W* }, q( S+ b8 d
           JNB P1.1,$
6 T2 M- ^$ Y8 G. v# v$ U            MOV R5,#5
2 w4 X. T  e2 ^  l  xL2:         MOV R6,#15
3 }- z2 y9 y' D            CALL DELLAY, u- r. R8 z& i4 H7 ^+ L' \
            JNB P1.1,OUT
) I- T6 T3 B0 d' ?9 V            DJNZ R5,L2 8 j& J; y( P; S1 j! h
            MOV R6,#114 C, H& C; T& s9 _7 K8 R& e
            CALL DELLAY            : Q4 M6 W% ]' z1 C, H
            MOV R3,#86 T* f: {* _2 c% a7 {
READBYTE:   MOV R4,#8
5 p3 a& K2 I% M; qREADBIT:    JNB P1.1,$; ]% J/ C% w2 |7 E5 \& [
            MOV R6,#17& y. h1 t0 l8 n0 |  ~* j3 j$ I
            CALL DELLAY
- K6 u3 o  V) u6 [4 X            MOV C,P1.1- z: F1 K7 j9 h  K3 o& I/ L
            JNC ZERO3 h6 @; s8 R$ `
            MOV R6,#22& }1 s, x. Z9 l: V. U9 I5 d* }' q2 m
            CALL DELLAY
2 q2 `# `" y& r  S$ z) ^# p: QZERO:       RRC A
0 o( r: V1 S% k. P7 Z1 n$ g            DJNZ R4,READBIT2 B' Z  I! D* V$ Z5 K
            MOV @R0,A# q. o+ c4 N7 F( N
            INC R0+ u( r' a) a6 X2 g& T1 @% p
            DJNZ R3,READBYTE' \/ O" f1 Y3 }, y. n7 a8 F
    MOV R6,50
) h% U( Q7 n0 k* q# R    CALL DELLAY $ @; e. _  p8 _; D' {3 |. I
---------------------------------------------           
7 _2 g$ }/ P# `6 K8 V! w" k4 }---保密部分
9 [9 V0 w& X! }: n8 H' X: P$ |----------------------------------------------3 B/ i$ I  {6 ]/ Y- G9 F6 Z5 r
     RET
2 Y# Q. R! B* z& a& x3 z        
  R; Q. B& ^7 W/ `DELLAY:     MOV R7,#25            $ m3 L% @, d- H3 v/ N
            DJNZ R7,$
$ p+ B& p; S( L: w# Q5 }( [5 v0 X            DJNZ R6,DELLAY, H5 ~  d& [$ S0 n
            RET
: Q; y6 B' A7 }3 t, i& K+ |SENDCS:      CLR P1.2           ;将A的内容发送到CS3310           % z) E3 O+ }5 J; |8 U
             MOV R5,#16
3 {; u1 g1 r2 }- @- u" H, bLOOPCS:      MOV C,ACC.7% w4 E$ \, q) d% c' N7 I% w; J5 q
             MOV P1.3,C0 U/ W+ V. X! B5 I2 p
             NOP
3 G5 f: W1 R; b; W7 K             SETB P1.40 w7 j0 k# N  X. W# v
             NOP: G& G& U. L: {
             CLR P1.4
# R4 R8 P! P* v; ?7 f0 k4 {0 G! n             RL A
5 y+ v9 q. R7 {0 ]% y% q1 ?             DJNZ R5,LOOPCS
/ p# B: q) Q  @* W             CLR P1.3
7 ~7 J2 H4 q7 R; U% H* P* w4 j             SETB P1.2     2 M2 f; z  p( \- Q6 G
             RET7 [# F( Y; o( O! v) p  b
             END---------------------
2#
发表于 2010-1-16 07:27 | 只看该作者
有优惠价不?考虑买一对
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-16 07:49 | 只看该作者
感谢楼主的好方法
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-17 09:50 | 只看该作者
谢谢楼主,,
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-17 10:26 | 只看该作者
顶啊 好东西 可惜我海美誉哦T200B
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-18 00:26 | 只看该作者
记得上次有人发过类似的帖子
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-18 10:14 | 只看该作者
进来学习下了
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2010-1-19 22:01 | 只看该作者
感谢楼主的好方法  V2 D: A4 r3 d1 O( E4 A% V: ^
空即色 发表于 2010-1-16 07:49
* I2 X6 P" s6 M! _8 R$ V

- L1 C2 E8 P( h) _' C0 S/ h/ m3 n
    你用过了么?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2010-1-22 16:04 | 只看该作者
你用过了么?
3 B! E( }$ j% r; p; B8 [# kmgldjp 发表于 2010-1-19 22:01
3 @9 Z4 d" c( b+ x" N/ G- R( O

% H8 G& Q" \) ^: u! _! `( `
6 j1 H$ ~: b! r1 S    用过得都说好
回复 支持 反对

使用道具 举报

10#
发表于 2010-1-22 16:20 | 只看该作者
T200B有无源版么?自从XP改无源彻底对有源丧失兴趣……
回复 支持 反对

使用道具 举报

11#
发表于 2010-1-22 17:21 | 只看该作者
进来拜神的
回复 支持 反对

使用道具 举报

12#
发表于 2010-1-26 10:19 | 只看该作者
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2010-2-1 18:36 | 只看该作者
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。% ?1 U; [9 j6 I  J8 M8 C
mark821224 发表于 2010-1-26 10:19

5 N+ h3 M5 m  i! p  J( r# d# o$ _
/ K$ @; w) ^* O/ |, e  l/ C+ _$ ~' z% |( V) b
    你的新鲜期可真够久的
回复 支持 反对

使用道具 举报

14#
发表于 2010-2-4 15:31 | 只看该作者
进来拜神的
回复 支持 反对

使用道具 举报

15#
发表于 2010-2-7 18:29 | 只看该作者
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了  c2 v( ~3 w- s4 z
- j2 G9 b* J, s
楼主是女的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-25 11:28

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表