POPPUR爱换

标题: 打磨T200B,解决默认断电开机不记忆音量,不影响音质 [打印本页]

作者: mgldjp    时间: 2010-1-15 21:36
标题: 打磨T200B,解决默认断电开机不记忆音量,不影响音质
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑
+ V7 `4 ~. B# E* J$ W2 H
( E0 ]' O- ]: ?% ]; {T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。
0 R" {/ f& M) O1 O: i: L; H首先说说我发现T200B软件的一些问题:
- d3 G3 z0 M4 ~4 c  T: q# l( m4 l1.开机不记忆上次关机音量,这是最大的问题。) Q0 N, |1 \' ]- H
2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。
: N$ H! i1 B! @# L3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。
6 j: `) H4 f7 L& k1 w4。禁音时音箱灯没有禁音警示。
2 j$ [6 _) O+ u, X6 C! K' ?) J; U' K" X# Z3 P
由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
' u) l/ c0 [! I* I) X" u1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。
& F7 W) L' T# R" C. `8 `" l6 i2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms
) C- m5 x* @1 L8 @! _2 _3.改进音量控制算法,实现每次都精确控制。7 j& o1 m+ s( E
4禁音时指示灯变为红色,提示为禁音状态。  \: I! E" a' Y& H2 t; {
5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。
5 \! @# I% q; j7 X) u2 f
3 L, z. S  z6 v# I! t6 X( n本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:" Q+ I1 {9 G4 s/ l* y1 X
http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442" H7 d: _, S; N$ y

- M; x: ]- F+ D. x" Z- F9 m[attach]1202604[/attach]% i! J. C  ?  x2 _+ X. i* Q: w# L' U
[attach]1202605[/attach]0 g, d$ i: O# H8 c  Q; A4 ]
4 e, X: ?. @) W/ {' Z
[attach]1202606[/attach]
, |5 q* w" Z  B
! [4 V# i& G7 y下面是汇编程序:    l# ?7 a* P0 o+ m* G" i( h
SDA BIT P1.6
% z2 Y; }& t) I          SCL BIT P1.7+ L, ?; e* z# H# J4 J! J- d, E5 m
          ORG 0000H
: y. m4 D& W% W8 \6 b, Q- C. ~* @) Z          JMP START: y0 r, y9 w3 M! ~1 ?( w
    ORG 000BH
3 ^1 |/ K' v: E( l$ g+ I$ O0 @* {) Q        JMP INTT0
. C2 j! V9 u2 c7 w) I  0 n# G0 F) [) d6 m
            ORG 001BH
, D7 b# ]0 X& C            SETB P1.57 X6 a. ^& W" w7 b5 o* P
    JMP INTR! |+ Z% Z4 t8 C2 Z
START:      CLR P3.7
9 h, t6 C0 l7 Q) d+ N0 ?            CLR P1.4
) ^8 t- a4 |' y! p4 V% \            CLR P1.3
8 _) z* ~) f1 G+ Y3 z% Y1 u            MOV SP,#60H: j0 m" v2 x# ~& c0 g# U2 R
    CLR P1.5
3 s, d9 s: m: o    MOV R6,#500 Q; m4 G  a! z/ |1 A
    CALL DELLAY5 y; c& e8 `# E- Y; y3 A4 A: I
            SETB P1.5$ U7 j. C3 ]4 r# G; R8 f+ B
    CALL READIIC- w+ |: ~6 y0 Z! @
    MOV 50H,A$ S9 b) A, g0 h7 y1 M& Y
    SUBB A,#189% F; q1 _% X9 [' W- h6 I
    JC NORMAL ! Z+ h% g( B  O/ i5 ^6 M5 W% ]$ ^
    MOV A,#120
8 z' n) P/ J! x0 P( n! [& S    MOV 50H,A
& S  s- \  k/ D* O) \+ {0 m& x: C" INORMAL:  MOV A,50H
* `+ p6 r- R, y-----------------------------------0 F( {) i1 R( W
渐进式启动软件,保密
* g2 B  l3 ~3 Y- [5 ^, N/ V-------------CALL SENDCS8 J* b9 }2 d) f9 Y
    MOV TMOD,#61H: O: I* V% q& d  `& t
    MOV TH1,#0FFH
! B7 {. `4 v0 _9 z# {8 ]1 S/ E    MOV TL1,#0FFH
% }. j) ~1 N. e2 i    SETB ET17 L0 K$ T' o+ A( h9 Z' G
    SETB ET0' ?. U( ~7 {: d8 x
    SETB EA0 U+ V. C, E- ^3 k/ K5 I" F5 }
    SETB TR1  w9 l. Z/ o; r9 O  [6 b
L7:         JB P1.1,$. Z) H- l4 G7 q
            CALL RC+ r; @4 B/ b! o0 a2 O1 f
    JZ L7
7 M7 ^! u( Q4 i        MOV 50H,A
; U( T0 \7 O: }( R1 {            CALL SENDCS 3 {  R. h( U- _8 x1 W- z( E
           SETB P3.75 S. K* Y6 m; U$ N$ R# v; C
           CLR P1.0
; w' s( b4 {9 b; L7 `           MOV R1,#3
* |" s3 F/ G0 D& f7 d/ D  t     MOV R2,#36 _* f; a  D+ ~( n# c. M
           MOV TH0,#00H# \& m( }+ M5 i: `
           MOV TL0,#00H" v0 I  a1 U, d# N. }/ ~
           SETB TR0. V9 N$ F/ }' X* g
     JMP L7' Z' k. \8 A" h- ?1 n

' w) t+ n; u1 q- D( ~  i0 L3 c$ XINTT0:     DJNZ R1,GOON
# d4 L% L- i; E; R1 Y$ g           CPL P1.0: F1 u( g+ e  {" H5 a3 |9 s$ g
     MOV R1,#3* n9 `$ |, Q3 @; e1 h
     DJNZ R2,GOON: E: Y. r1 [6 V$ b% a  [# l
     CLR TR0) R# {. P$ F! L
            JNB P1.5,MU
+ t8 t5 }# G$ |) L5 f) Y    CLR P3.7
8 ?# U$ y. E4 ^( k$ Z4 o    SETB P1.0' m9 }1 m* E2 l7 a3 A$ K
    PUSH ACC& H- n: ?1 d% J( J
    MOV A,50H
' A0 D. ]  t: P7 V            CALL WRITEIIC/ M1 L8 B# i. o* v# p  M
    POP ACC
/ z: w  o* H9 _1 N    RETI! g8 G3 f: j- q$ Q$ s! N  |
MU:         CLR P1.0     ;MUTE红灯亮% |4 o2 R; J- D9 Z; c: z. N
    SETB P3.7
1 r- f6 q9 E6 k) M$ N" j/ L    PUSH ACC, Q' Y, A7 E5 o- i3 Z2 M9 K
            MOV A,50H6 i7 p  }8 t3 u! S% ^4 A' v
            CALL WRITEIIC: v. e/ E/ q0 {; O
    POP ACC
3 L: e6 g, e! P7 n+ u8 U8 IGOON:   RETI& W( G7 g$ u3 g3 f
      
& u& m0 x: I+ Q) oINTR:   JB P3.4,DEVOL, [+ l$ W6 x# N, s+ A9 N
            MOV A,50H
! ~( w) F5 `& _0 l8 k( N* h/ l1 T" t    CJNE A,#10111101B,ADDVOL
& p+ h& n. ~4 f8 u7 |1 @4 J            JMP RETIINTR
) }7 x3 C/ Q! `1 pADDVOL:     CJNE A,#00000001B,NO1
/ @' N- y* d6 `# |  X8 ^& w            MOV A,#00000011B
4 ?! S% ]( ]6 }1 I/ G    MOV 50H,A
* Z1 a- A9 I5 e* J2 Q    CALL SENDCS0 a* b& h( |0 [# x1 P1 l. {
    JMP RETIINTR
. o9 ^* u6 c, P( ANO1:        INC A- y/ a0 i. f, R+ q% o( s
            INC A
9 F( q8 M; z4 T6 o% k$ h        INC A
: b2 E- p5 W" N/ F    MOV 50H,A, ^  G+ P& a% L$ B" ], c
    CALL SENDCS$ ~/ q0 }7 c! @! h5 J3 d# R+ \6 I" X4 w
    JMP RETIINTR
/ j( m- S( W- a0 ?8 `DEVOL:      MOV A,50H
: a9 a( o5 h* l1 `            CJNE A,#00000001B,DECRVOL
1 N5 ]0 k  N; t/ }! M    JMP RETIINTR' B9 S8 R5 E9 J; k
DECRVOL:    CJNE A,#00000011B,NO3* E" f* l. C6 @9 H0 i) Z
            MOV A,#00000001B# n+ _. v, j  E: g1 t
    MOV 50H,A8 T9 E) U! }+ w9 V! J; I  z4 V3 v& H
    CALL SENDCS0 K" c' P' y' `8 i# L1 h
    JMP RETIINTR & o+ }5 w5 a2 \2 _( {( E. [7 F
NO3:        DEC A
# U6 I; Q! d( O2 O& H6 r/ l            DEC A
# _7 s4 A. i, s" Q            DEC A: V5 p/ }7 T: ?( T
    MOV 50H,A
5 |5 T6 ]% |# a: ]" C$ n4 }    CALL SENDCS  T2 W/ w0 e. D% U# L% }/ Q& k
RETIINTR: SETB P3.7
* t5 n+ T0 N3 k           CLR P1.02 G2 i  E* S. I3 j: b' k
           MOV R1,#3
# {. ~! M# v0 l* }4 @4 `' @     MOV R2,#3
  z" U0 V7 ?( d6 w( e           MOV TH0,#00H
# U- V: S$ H( G5 ^           MOV TL0,#00H
1 U% U1 B  L% @" v4 O, x$ Y9 S           SETB TR0! n8 r' i) ]7 h+ ]$ X, X8 ~( l! u
    RETI5 U/ g1 h$ B$ Z
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM3 ^- `) b$ e% B2 _
             CALL STARTIIC- l9 s1 P. ~! m9 ~$ p' `
             CALL SENDIIC
( y& h7 a' |/ E2 y) ?5 a             SETB SCL
( N& a1 @) X3 x% p! N             MOV C,SDA' C4 l% W$ v: F; a5 g: _0 D
             JC WRITEIIC5 a4 L- T$ p4 }4 u3 U% I6 B
             CLR SCL# H: K2 \9 W+ T1 A- a2 T2 f5 @
             MOV A,#11000000B           ;存在11000000B单元
* N" }' ~/ m- r2 x; I0 T; u1 f             CALL SENDIIC6 X& G. G0 X7 j3 [
             SETB SCL1 n4 \  B& v# u" m0 S1 \& N
             MOV C,SDA* z# L- Z- r! [: t, O- x9 ]4 u
             JC WRITEIIC
' Q4 E" x( q) O. i             CLR SCL6 ~8 w1 r" X0 P" \( {
             MOV A,50H0 H# r3 S1 f5 @+ }( R8 Y
             CALL SENDIIC
* I  w" X/ t* r' H) J' G3 E             SETB SCL
' f) ?' p+ a+ U( M3 O+ ~             MOV C,SDA$ l) Z7 h+ g$ _7 H
             JC WRITEIIC
: C& m: X6 e+ [: f3 n$ W2 {6 T     CLR SCL
, T4 B" q/ r3 c0 S     CALL ENDIIC
+ V4 @& Z# t% W/ z! E, X6 [% U             RET; I5 B; _' S1 N/ F" ]; _' u
READIIC:     MOV A,#10100000B          ;读数据到A
8 a' F! S8 O4 r2 ]# ^             CALL STARTIIC
$ L2 Z1 t) r) X# X6 U' x' q     CALL SENDIIC1 L+ @7 y. ^3 v' N0 v9 u3 p& c  a
     SETB SCL
$ }: c3 k5 @7 t7 e& d     MOV C,SDA$ n* J) ?& f# X8 e% E+ H( u) [
     JC READIIC% `, Z, G9 e, z1 N+ }- l% |% F
     CLR SCL
& n+ u( R/ A5 _2 g- d$ a             MOV A,#11000000B           ;读11000000B单元
* O+ `. k% _( D: L! j2 H2 N' N             CALL SENDIIC, i2 R) @) p6 k/ E. v% v) H# R
             SETB SCL/ t' K( Z8 i% E0 l7 m: a" s
             MOV C,SDA! c! ?, I0 S5 s9 E, e2 e; `5 @
             JC READIIC/ o; A& J" J1 s9 Q7 A6 I( _
             CLR SCL
, j; g) U, T, |+ j3 O     CALL STARTIIC
+ O, D1 M5 Q8 [( L- H! o. c             MOV A,#10100001B7 F/ |2 d0 [3 ~1 E) B
             CALL SENDIIC5 t1 {% E+ s( W. j0 v2 Y7 U
     SETB SCL! k& \1 ]" ]- w
     MOV C,SDA: a* S5 K' H6 Q! i# ^5 D# N
     JC READIIC/ x; ]: Y; E2 Y4 v
     MOV R7,#88 t, P0 E- x* u% l
READIICBIT:  CLR SCL1 w, a: p3 A5 s4 G" B5 R# U
     NOP2 D/ f% ]9 q( O3 I; W
             SETB SCL4 F- j; m' T* D2 I2 P9 [/ O
     MOV C,SDA4 q6 c1 l+ Q% f
             RLC A            * B- X' Y: n/ {7 X' A
     DJNZ R7,READIICBIT
% N8 _" ^7 o/ L2 S' J, \1 T             CLR SCL
* ~4 H, h! n8 b" o5 j9 D) l     NOP
) q# m1 M% x4 X! {     SETB SCL8 t/ c  q* W. }* p5 X, {
     NOP' _" p: d. d: T' j
     CLR SCL
$ C0 y" r" g( Y  J; s" b7 |     CALL ENDIIC$ j1 P# \) J( r. h7 r( \4 x% ~, @
     RET1 y$ {! R7 K9 m6 V+ Z
STARTIIC:    SETB SDA6 ~* r* R; G% j/ {; @6 T$ }
             SETB SCL# z( \5 o/ F2 t% d7 U
             NOP
  k: a  Z- S! P4 [1 P0 ]1 x+ v     CLR SDA
$ d. j, `8 F0 D; j0 ^0 h& s             NOP
3 r( V5 M6 A' I" e* C             CLR SCL3 ~, B$ d7 Q, R2 e
             RET. a/ q% n. W* g8 w: a8 ^9 V
ENDIIC:     CLR SDA* O  H, A% x$ F0 l
            NOP
9 D0 W5 ]) q1 }( r            SETB SCL4 E  u, P! I3 l& n9 j8 P
            NOP1 y8 ?4 _& T2 l/ s
            SETB SDA
( G* ~# |, c7 m, J            RET* x! o1 g7 Q5 e- r5 m- D
SENDIIC:    MOV R7,#8            ;发送A的内容
; ?* L+ i: O  ]# f. A- v: J  XLOOPIIC:    RLC A, i) G) M) N3 P( R7 J
            MOV SDA,C
6 D$ g" A! \; W& F" X0 S4 j3 v  A$ g            SETB SCL
5 r7 l7 [* G. n5 T7 x0 [! ^            NOP
0 \8 Z* c' ?. h+ v& y8 _            CLR SCL
# z( M) {! d2 i5 |; S9 G2 r5 V            DJNZ R7,LOOPIIC
" S4 M1 O+ f4 j- D2 d2 y    SETB SDA! p5 y- i7 \/ [3 o
            RET9 l: g9 D+ }) ^5 ?
RC :        MOV R0,#30H              ;遥控接收子程序8 }: \3 O0 L3 |3 n4 Z
            MOV R5,#9# V/ W- E. I, K8 T
L1:         MOV R6,#16
/ L5 ?  N/ l; \5 I3 g            CALL DELLAY0 x! [& V4 w* a/ I/ v7 W
            JB P1.1,OUT
* Y1 C6 F# `- u2 B            DJNZ R5,L1
' R* {( y& u/ U& Y( J# K2 c; [           JNB P1.1,$
, {; r( P9 N' Z7 V' B, F            MOV R5,#5
+ X# G. l. g& R% qL2:         MOV R6,#15
  ^# k  S! t  ]2 A" l1 I, \# v' J            CALL DELLAY
0 `# P7 G- ?7 h% ^  B1 H, w" J0 R            JNB P1.1,OUT0 P# u' w1 s* h+ d
            DJNZ R5,L2
1 Y, _5 U1 i% Y# R            MOV R6,#11- m" v: e- @% C
            CALL DELLAY            : f8 E2 I0 h7 X  B+ V; [6 Z
            MOV R3,#8( f0 B$ ^& f4 e7 Y) _) a
READBYTE:   MOV R4,#84 h' p( u, L8 ~% {/ V* C) a; `
READBIT:    JNB P1.1,$: L' U* n7 C. w# W6 }
            MOV R6,#170 T, S/ T0 m& `: Z8 M
            CALL DELLAY$ T9 u! r' g4 p
            MOV C,P1.14 o3 R5 c& L/ Q
            JNC ZERO
8 H) D9 O+ r  u" m1 y9 a9 l" i1 U0 b            MOV R6,#22* H6 C9 b) K  ^/ S( ?; b6 I, W
            CALL DELLAY  W- J* C# V6 Z: M/ K9 X, p3 P
ZERO:       RRC A
) W: L+ O. K2 x8 n7 L: j, \  K            DJNZ R4,READBIT
+ [3 d  ^  ^: q8 s: f! M            MOV @R0,A
+ H4 M9 `' D2 x% y- T' V- Z            INC R0  i5 d7 {- V. J' {2 s& y
            DJNZ R3,READBYTE3 m0 X6 G0 z4 ]+ C- Y8 H
    MOV R6,50$ s/ t3 t# i8 `$ g
    CALL DELLAY
8 t/ y8 r4 F" Z) z---------------------------------------------           
* }: @, v' e& G& X! D+ X---保密部分! G4 S: t4 b) k  r9 T
----------------------------------------------
; K5 ?: a5 s$ e" \8 \: d     RET
6 Z  p5 U1 |4 A% B% b* y( I        
/ D+ {+ K" }' E! y! c3 j" vDELLAY:     MOV R7,#25            
( ]. s& o: M) G            DJNZ R7,$" \/ H" K8 l, u& C$ ]
            DJNZ R6,DELLAY
1 p- f/ n: k1 p8 ^2 f            RET
5 Q: q4 S  P/ A; w' O1 ySENDCS:      CLR P1.2           ;将A的内容发送到CS3310           7 _% T5 l8 d( u2 Q
             MOV R5,#167 f  x6 x0 g1 b7 ?
LOOPCS:      MOV C,ACC.78 ?$ \/ E" T9 D7 X1 e* g+ K
             MOV P1.3,C
" C; B$ K3 u2 ?! I' L9 n             NOP2 k" _5 n  r* m( m" X# T2 q: G
             SETB P1.4- b% H* }8 A6 S/ V
             NOP
: S1 S$ v" m7 M: B8 c  U- M* y3 n             CLR P1.4
1 W1 x" h: Y3 `$ [- e             RL A
9 {4 y5 W: x- T. |& v3 O# z             DJNZ R5,LOOPCS
) K8 m5 n( a, t- i* q2 i% x             CLR P1.3
+ u! ~5 x7 Z9 a             SETB P1.2     1 G4 O# I% v' @2 T2 O
             RET3 l1 R9 r, p0 k2 k, |' X
             END---------------------
作者: 蓝海轻风    时间: 2010-1-16 07:27
有优惠价不?考虑买一对
作者: 空即色    时间: 2010-1-16 07:49
感谢楼主的好方法
作者: WMX    时间: 2010-1-17 09:50
谢谢楼主,,
作者: 小时候    时间: 2010-1-17 10:26
顶啊 好东西 可惜我海美誉哦T200B
作者: 酷风    时间: 2010-1-18 00:26
记得上次有人发过类似的帖子
作者: yxhsqp    时间: 2010-1-18 10:14
进来学习下了
作者: mgldjp    时间: 2010-1-19 22:01
感谢楼主的好方法
; g1 k( q' Z9 B8 r1 X空即色 发表于 2010-1-16 07:49

' ^& V3 G2 W( n, K' ]+ ^: B! i, p" O( d9 T7 n' ]: Q" e
& L/ w# h; g+ P" n. T
    你用过了么?
作者: mgldjp    时间: 2010-1-22 16:04
你用过了么?
0 n1 O# R) a) c* D( q8 P+ omgldjp 发表于 2010-1-19 22:01
' L0 D: p+ w, X) a$ C

3 K, q% ^4 {$ T' X% P- S4 I+ l' b5 }8 }) L- t
    用过得都说好
作者: 排骨饭    时间: 2010-1-22 16:20
T200B有无源版么?自从XP改无源彻底对有源丧失兴趣……
作者: jay860101    时间: 2010-1-22 17:21
进来拜神的
作者: mark821224    时间: 2010-1-26 10:19
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。
作者: mgldjp    时间: 2010-2-1 18:36
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。, T7 Y& Z# \. I
mark821224 发表于 2010-1-26 10:19
8 D4 z; {# C7 x$ H+ Z! B9 K
& z8 Z- h) @5 R- h0 G

3 v5 N5 w# T& b! j; S    你的新鲜期可真够久的
作者: yz5419    时间: 2010-2-4 15:31
进来拜神的
作者: scast    时间: 2010-2-7 18:29
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了
+ T. c- d( b7 {% _. o7 t$ Z& N* s7 O* L4 W6 g- K
楼主是女的




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4