POPPUR爱换

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

作者: mgldjp    时间: 2010-1-15 21:36
标题: 打磨T200B,解决默认断电开机不记忆音量,不影响音质
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑
; e; s( r3 y8 V  }+ {2 d1 @/ h# S# I" a4 K& n2 G
T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。
# V, D+ J* `3 t/ c首先说说我发现T200B软件的一些问题:
3 t) D! M$ w6 j, C: ]8 I1.开机不记忆上次关机音量,这是最大的问题。" ~$ e0 A8 U* p3 |7 J9 k' t+ k
2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。  ]/ Z( X7 d7 |. x$ ^- ^
3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。# f/ U4 j) m* y
4。禁音时音箱灯没有禁音警示。
% y7 |* a7 i# g0 H$ w* f+ R5 Y9 |. Y7 O& s" Q' h' t6 s8 X8 @" @
由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:: c9 b8 j1 e# \6 N$ Y( }/ E& m+ p
1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。
1 B9 `$ w' }! g  m" j; i# `, _2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms
9 _, d& H9 K( j# k# ]3.改进音量控制算法,实现每次都精确控制。
3 k: v$ O- P2 Y+ D4 f' [4禁音时指示灯变为红色,提示为禁音状态。
2 b" ?  q5 t8 z( E/ X/ b0 q6 i5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。
; u7 m' e* t: n/ \" b$ ]+ \1 O9 S. I
本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:+ q- ~# m0 H+ @, x- s: |7 r! e! z
http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442- ?" L& `. o# [  \

& |; g  Z' p8 c; W2 H[attach]1202604[/attach]
0 u' O& M" x9 w, A* T; I/ K/ H[attach]1202605[/attach]
+ V# i" F' s5 @" J5 T
+ K7 K, \% l  o# x[attach]1202606[/attach]& d' M6 g) ~3 d

/ V/ D4 `! [* d/ k* G* r下面是汇编程序:  . P( D3 F8 p- q1 }: P9 ]* r. Q: A: p5 W
SDA BIT P1.6: o( E1 v' X# m6 D6 D6 ^6 m
          SCL BIT P1.7- u% D2 f# ~9 D8 w" C+ N, F
          ORG 0000H
% D. C5 R0 j/ f$ O4 d! u' Z          JMP START
5 m8 `  U/ N+ L, m( e) v2 C    ORG 000BH2 k$ y% S% K5 g- X
        JMP INTT00 |9 ^. J. V; D/ ^
  
4 M1 n: T. G6 ?, n5 z. b. P& v            ORG 001BH
: L' M! Z! v8 f& r; e. c6 C            SETB P1.5
3 z* \6 Q' r8 V! j3 e4 j    JMP INTR8 D( Q# r7 ^% Q
START:      CLR P3.79 b+ a$ A- k& ~/ F7 }- }0 R! _# R
            CLR P1.4$ L" y1 \6 {9 r' X, h
            CLR P1.3
, y/ j8 m, Q( ^# v2 y5 W            MOV SP,#60H
4 c4 w% m6 i: i3 O( ]! S    CLR P1.5. O% E0 n! Q9 V
    MOV R6,#50- ~6 X' w/ V' Y
    CALL DELLAY, |  r% p: j& f" L; B1 B: z
            SETB P1.5
8 p9 h7 F& i0 R- ?4 P    CALL READIIC- `0 l$ o  }; `6 _* u
    MOV 50H,A
: {! J# Z9 \+ j5 \, N    SUBB A,#189
, w  \7 V8 f4 u6 G) K  C9 C    JC NORMAL ) b0 d: N2 ]7 g7 K
    MOV A,#120
' n0 a$ c# K' q1 F0 H! ]1 X    MOV 50H,A7 @9 z5 r4 @" O1 c
NORMAL:  MOV A,50H2 H3 q; C+ d9 Q& k
-----------------------------------4 o: ]: j! ^# d/ U
渐进式启动软件,保密- Q/ b, {0 s% i8 g% U% }
-------------CALL SENDCS: \9 I3 Y# G0 L& X# L+ a# ?, Q7 u+ r
    MOV TMOD,#61H
6 u7 U$ N% m& S; h    MOV TH1,#0FFH1 E; b: I5 N2 S7 z
    MOV TL1,#0FFH
$ r. D. m: W4 E1 a5 \    SETB ET1
* g" x& i; X, T    SETB ET02 V" I6 I  T# q( t9 ?# I
    SETB EA
, ?. Q3 b  K: u- ?! u# ?$ Z    SETB TR1
$ e: K  n7 h% kL7:         JB P1.1,$! W/ u  @2 t9 n; [* j9 ~
            CALL RC) }# A1 ~* ?9 ?- |3 n5 Y7 M/ Z
    JZ L73 k7 W5 {7 |9 Y3 j
        MOV 50H,A
) e2 v  v9 S. t" ?            CALL SENDCS ) P9 J6 `& P( W! X9 l6 t( g9 q
           SETB P3.7* X! ?) _/ C9 J0 M
           CLR P1.0. D( b3 }* @$ l2 n: }1 Y
           MOV R1,#34 d7 {  k' V7 `
     MOV R2,#3
$ o7 ]* |$ T" `1 q2 M7 g& T           MOV TH0,#00H
' n% N7 `; O$ k           MOV TL0,#00H* O7 u7 ^; }+ I7 \' a! |# E; e% d
           SETB TR0
4 d" P: |  Y: S; p% s5 {6 f" U% t7 @     JMP L7! n& Z) O- f! X/ j
8 D9 w+ d( e7 ~
INTT0:     DJNZ R1,GOON6 b, a  i* i# ]- {3 q( V; Y
           CPL P1.0% h3 e/ ]) ^* w0 q2 l
     MOV R1,#3
; L4 b, {$ j7 y3 O/ H6 O# g, q     DJNZ R2,GOON4 n/ L* r; V6 I: U! B3 T) A
     CLR TR0  \+ ^4 j9 u' U; u- Q9 ~
            JNB P1.5,MU+ n) n' X/ r2 p6 r
    CLR P3.79 w2 }" \! j- E4 t' d+ _) e$ e+ u
    SETB P1.0
: Q- a/ S) \. ?. q9 U# b    PUSH ACC+ l) C7 b3 D; D5 [# ?
    MOV A,50H
+ r4 Y# N: Y" K; G0 y            CALL WRITEIIC
% f: j$ c2 D- d/ x; n# L    POP ACC8 g! Y1 [* T1 D2 }3 N8 z
    RETI/ i4 b0 v; R6 Y
MU:         CLR P1.0     ;MUTE红灯亮
1 Q5 u' R: r. v, N# ?, G. [    SETB P3.7/ b$ J& n7 Y9 p1 m
    PUSH ACC
; m& ^- n5 L4 F4 C# v            MOV A,50H, l- p  s; H( Y8 I
            CALL WRITEIIC
9 D- [2 G+ b3 }( H. e' A. T# \    POP ACC8 I) a# ~2 J5 q2 q  d, H; F
GOON:   RETI
/ f5 C  r" v4 I) [( d4 z      
4 _& ?" d8 P4 N+ Z) N/ q9 E/ iINTR:   JB P3.4,DEVOL. U- N5 z5 v3 b  J8 {' I8 o+ e
            MOV A,50H
: a1 U3 D5 t5 c- y# G" l3 o' B& c+ g    CJNE A,#10111101B,ADDVOL
4 f' a& G. c4 C3 a0 G# P            JMP RETIINTR7 |0 `& O; H/ r1 M0 N; p- H+ z
ADDVOL:     CJNE A,#00000001B,NO14 }& ^) I. N. w" b  d. {
            MOV A,#00000011B
* ]8 C6 z3 ?$ F    MOV 50H,A
% I# r% O# B; |/ a4 M, [+ r. S    CALL SENDCS. U0 D$ g: F9 ?2 B4 v9 e$ q+ y7 y
    JMP RETIINTR0 n1 l1 H# J/ B8 V
NO1:        INC A" t- Q1 \. C2 d- C
            INC A
$ Q- E# k( b9 E9 L  m$ F        INC A. C4 m) F" O8 a0 O, m
    MOV 50H,A# T4 W3 \+ u. r
    CALL SENDCS: e0 V7 S# J- S' H" \
    JMP RETIINTR
+ Q9 t% ?+ Y) @) L! Z4 qDEVOL:      MOV A,50H" ?' C  e2 n3 M; a* O7 v0 f
            CJNE A,#00000001B,DECRVOL% Y- Q, d( m: E. F' X
    JMP RETIINTR) ?5 g# C, ]; s0 n
DECRVOL:    CJNE A,#00000011B,NO3
8 M1 T+ }# `# H5 y5 @8 T1 I% T& M9 N) z            MOV A,#00000001B5 k0 j: D  c4 a; J
    MOV 50H,A
! i0 r; I% n0 R+ _! S4 c    CALL SENDCS
7 w' `* U3 i' k( l' [    JMP RETIINTR % J' T% Z7 t! w) `: j
NO3:        DEC A
& U) }" Q8 n7 `0 P            DEC A/ c. [0 I+ v3 S; x4 z! l
            DEC A
4 O" j; s8 l- c' e7 Q2 i: {    MOV 50H,A
5 U& H2 C0 T, {8 x  u8 d& }9 H/ u    CALL SENDCS; s# ]3 E) d& V8 Z4 C; U
RETIINTR: SETB P3.7) k: V2 U& Q, I0 A1 s, _( x8 b$ J
           CLR P1.0
$ M# H; G( ?' j8 C; G           MOV R1,#3
/ o* {9 m# f. c     MOV R2,#3* e  R; ]: o4 }0 `# j2 G' w# z3 I, ^, _
           MOV TH0,#00H1 C1 F) q, e/ m9 a& f6 W
           MOV TL0,#00H
) I4 z; R+ t0 L           SETB TR0; M/ h! i4 A& L' z2 T2 e
    RETI8 _: B2 D8 p1 p! o  x3 J
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM
5 S+ R# Y4 \- V; o8 g0 a3 }, y             CALL STARTIIC
1 O% Y4 \0 F2 @% s' y0 m5 p             CALL SENDIIC: @9 C3 s- b* P- v4 }
             SETB SCL
5 [( t  O' J8 `             MOV C,SDA
& C5 T1 L3 {/ E$ k7 U% O  y             JC WRITEIIC
+ y/ e3 K5 D1 P# ^) D5 ]1 d9 D             CLR SCL, v1 e7 u1 ~1 z; C2 c
             MOV A,#11000000B           ;存在11000000B单元
' ]0 K  V& c7 V7 v3 N' q- ]) [1 T+ S             CALL SENDIIC
& l8 `: Q& ~% O9 b             SETB SCL- w2 a" J$ _; {+ `8 ?
             MOV C,SDA, i* B9 V- j0 c2 @! L4 C8 S) `
             JC WRITEIIC9 {8 A, @/ |7 P  W
             CLR SCL6 C( l) v9 n' }! h
             MOV A,50H% W: E% B9 O$ Y3 E& _
             CALL SENDIIC: d' I: @' @6 ^) l0 N  u- k3 }1 k
             SETB SCL
% W5 o4 L0 G9 k% @5 L/ y6 o             MOV C,SDA
/ [: |" q7 L' U, a             JC WRITEIIC3 b- _  p1 y; |, ~: D4 q
     CLR SCL6 p, |# O% q1 f; Z# l
     CALL ENDIIC
2 I+ n! a. t) t- G2 u. V             RET
' L  V1 @! n* mREADIIC:     MOV A,#10100000B          ;读数据到A( T3 k1 F0 \% o. f/ D+ F. B( h: e, n
             CALL STARTIIC
  m3 t: c$ R% s3 {     CALL SENDIIC# @, V2 L- ~6 |3 F: _2 X
     SETB SCL, [7 i. \) G% u3 d# x
     MOV C,SDA
$ r2 q8 E1 m8 i2 p' f     JC READIIC
$ e% k6 G( L) A! T& k; q     CLR SCL9 t2 f7 A. l% c7 }: y$ \
             MOV A,#11000000B           ;读11000000B单元
- D  w* ~" G$ x  \9 P$ K+ E             CALL SENDIIC' e3 h+ i9 n" f! o1 r
             SETB SCL3 Z6 b3 ^4 R" ~1 r
             MOV C,SDA
* j' U* L8 _8 j% a8 A5 ]. O9 d! C             JC READIIC2 c9 M, `7 v9 R3 H7 P8 n/ v
             CLR SCL, H& _* T9 H5 @! W: I% h, v
     CALL STARTIIC
- f1 ~$ t) Y/ K/ l$ P             MOV A,#10100001B
& s' U+ J  j2 [* s& s: ]  \             CALL SENDIIC' s0 h* `8 r3 E# ^  H, \* H! i
     SETB SCL
# F3 f- Q" k3 C( I; Z     MOV C,SDA) [/ n  |. ]% F$ Q
     JC READIIC+ B$ ?) x; z" a$ l$ P
     MOV R7,#8
: K5 T& V- u* n2 }9 |! C! N6 m/ SREADIICBIT:  CLR SCL2 J6 r! U# Z1 A5 v; W" `
     NOP4 H2 ^; {8 `# ~; u
             SETB SCL8 @& L) M  |2 v. U
     MOV C,SDA6 E  ^* i  v) v7 i1 G% g- {
             RLC A            
& y/ G) H* \: ]7 r" A     DJNZ R7,READIICBIT
9 f% ^; m; A% f) f2 T+ W             CLR SCL
# Y. d& ]  q; {% ~1 z     NOP
" }, u2 q& Y% S! @     SETB SCL
4 }  w( ]  `: _2 Q" C% I5 ~/ L     NOP: x( P! s5 e1 }4 J6 w; Q
     CLR SCL
; Z* ]3 [  c  e( K     CALL ENDIIC
- W' D/ x4 [! }2 L* q6 H* q     RET
8 b% P. o$ R4 K1 {, j$ ESTARTIIC:    SETB SDA
& D- \0 [' f' @& o+ s9 J* ?% \             SETB SCL
; s; z7 u6 {+ B             NOP6 ^- v3 k" i! H( `  N' `! [
     CLR SDA
" Y1 T! o2 c8 [" Q" f             NOP
. c2 A; _$ |7 g, e2 Q             CLR SCL" n& s; G, W3 _
             RET+ Z$ w. R2 P3 f; @! Y( M
ENDIIC:     CLR SDA
0 K- ?# b* W% ?& @2 _( S' d% X4 S2 N            NOP
9 m; t) |/ g  g0 j- j4 _            SETB SCL
* {* h" H) b2 r( l: g% d( `            NOP- J( W5 ]6 X) q
            SETB SDA
# V, Z4 d  v, Q; V) w% `: l" o            RET2 f) S7 g/ Y4 M2 ]5 f5 A
SENDIIC:    MOV R7,#8            ;发送A的内容
% @2 d- |6 W/ e0 ^LOOPIIC:    RLC A
7 w% E8 D8 l; l. D, k8 n            MOV SDA,C1 Z( C+ m- C3 o6 K; H. s. y6 w, E
            SETB SCL
, k# G2 N, s: N+ ^1 T2 |            NOP
( ]5 Z7 I+ Y( F& ^0 S            CLR SCL7 k6 n" P. S9 j9 R5 E
            DJNZ R7,LOOPIIC3 p# e3 K$ {$ ?7 R. s8 y. g
    SETB SDA" v  K! ]" v# B# W5 l
            RET
: t3 k9 a( p1 }- y4 {9 {. fRC :        MOV R0,#30H              ;遥控接收子程序* [$ {2 Y; w6 Q) c( @
            MOV R5,#9& S* d  h4 E! }" S
L1:         MOV R6,#16
- c/ P9 E/ A; Q1 Y$ x0 T7 V            CALL DELLAY
& \, d+ m0 H9 {9 z- P            JB P1.1,OUT
. w9 i1 {& y5 ]' G6 _3 O' h. [            DJNZ R5,L1
! N4 A% N* W: s7 A5 g8 d           JNB P1.1,$
; Y" m0 I3 ~3 S; h4 H' p5 |            MOV R5,#5. r( k- u" E" n' u6 \( Y
L2:         MOV R6,#15
! [3 S" F& U0 r+ n0 T% a5 {            CALL DELLAY
; t, B0 ?5 k8 t( Y, f            JNB P1.1,OUT7 d& L3 _/ ?0 T; _4 k
            DJNZ R5,L2
# y3 [+ V4 x+ d) ?6 }6 E0 B            MOV R6,#11. O& d3 t- G- Z( t4 {1 ?
            CALL DELLAY            
9 \- ?) M: L: Z8 N8 V! f            MOV R3,#8
- K2 ?( {6 ^- i, tREADBYTE:   MOV R4,#8
; C1 O# m$ \1 n1 r1 DREADBIT:    JNB P1.1,$& r+ X1 A* w+ b* ^" e
            MOV R6,#17$ a% r8 `  [& p0 z: I$ ~
            CALL DELLAY
6 i' A- M/ y) W# [            MOV C,P1.1
/ q! Q7 t5 a( W8 X            JNC ZERO! ~; \$ L7 ]$ C- R; I. Z
            MOV R6,#22( c% P$ u" G+ a6 {  f! T
            CALL DELLAY
* D4 O! q/ m' P& w% ?5 r" \ZERO:       RRC A$ `, w8 g0 w  i3 k
            DJNZ R4,READBIT( C8 ]2 H6 y7 s: H
            MOV @R0,A
) J+ z/ ?3 Y. p            INC R09 h7 I$ I- K; C- {
            DJNZ R3,READBYTE' D8 M' {7 q+ @5 J; V% g
    MOV R6,508 @  p3 r( O: V2 h* W+ i
    CALL DELLAY 9 V. H9 C) }1 B- D% h2 ]: ~
---------------------------------------------           
4 x& y3 y  z& P9 n& Z( R. U---保密部分8 }1 h6 [/ Y+ I8 g5 @
----------------------------------------------( {" Q5 ?! N" L& T
     RET
# q/ @) T$ H. [6 m: z" [9 u        + U# x% M+ [9 a) d* I1 p0 w* w
DELLAY:     MOV R7,#25            
2 G6 d: C% u$ d2 f            DJNZ R7,$
# V9 D& d3 q4 R" x+ S6 g/ D0 d            DJNZ R6,DELLAY
2 l4 l, W# q. l! Z% K            RET* u+ S  {; J3 R7 G9 `
SENDCS:      CLR P1.2           ;将A的内容发送到CS3310           / H+ _0 D0 j0 C1 p
             MOV R5,#167 t1 L4 \# L) }+ ]4 L0 a
LOOPCS:      MOV C,ACC.7+ K8 {  O) }" E) ^0 H
             MOV P1.3,C4 _# ?9 W* ~$ |
             NOP
: T+ G5 M! v: m! R. C! r             SETB P1.41 |6 j% J. u  I2 b. P
             NOP
' O3 t( W% c5 d0 ]( [3 v( t             CLR P1.4, X. A. V6 B( ?9 _1 d
             RL A
, U- E6 _: Y, B/ E" t4 t' _             DJNZ R5,LOOPCS
6 J  v. S* y" e+ w. K             CLR P1.3+ R' F# [2 I! h7 n/ ~" _
             SETB P1.2     
+ S4 }) \* s6 g4 v/ g& p0 B. p6 e. x# A             RET
* W$ z) k5 I6 E* O) ?1 P7 E             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
感谢楼主的好方法) h6 H4 C' P/ m4 O. F8 ]
空即色 发表于 2010-1-16 07:49

; _5 {5 v5 ]3 B' s2 F
* z- D# }5 N& d1 S0 z# T+ l  B# z% w- n- v8 j% Z7 j! J: ~' X
    你用过了么?
作者: mgldjp    时间: 2010-1-22 16:04
你用过了么?" p3 P6 ], G* X2 l
mgldjp 发表于 2010-1-19 22:01

# B! \" D3 C( r  G* q- I/ L) [2 U% w$ Z& X

& a- m2 ~8 v: y* G; b& B    用过得都说好
作者: 排骨饭    时间: 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
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。( A5 S$ o" V2 z0 f: [5 S8 A
mark821224 发表于 2010-1-26 10:19

1 K$ E! b0 |; G6 e+ ]
% y9 ~. b) M/ D' B# O0 {5 D( O$ \1 C0 O) R' R* x
    你的新鲜期可真够久的
作者: yz5419    时间: 2010-2-4 15:31
进来拜神的
作者: scast    时间: 2010-2-7 18:29
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了
& b- [" ^  T7 y$ b" B- Z! a/ a8 M: Y% F( ~5 ]7 v) I$ K$ s
楼主是女的




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