POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

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

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑
( |5 L! ?+ Q$ V( `8 L% X3 G5 K
T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。: K' b/ d0 {% v9 k& ?# F, w0 `
首先说说我发现T200B软件的一些问题:
: s) }5 r( K6 F7 t1.开机不记忆上次关机音量,这是最大的问题。7 P# n" o/ }$ [5 j" c$ {
2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。
9 f1 O( S" ~# \0 `3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。4 C( m1 _' p8 M1 T* [2 _# X, R
4。禁音时音箱灯没有禁音警示。6 N& A; h+ }4 z# G5 n

4 H" }, `6 F. J4 K' \5 ^' ~0 P; T, M* H由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
8 r% W- k, Z6 t: H1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。( k/ T; N5 S- k' ~5 c+ F1 U
2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms
% A6 G* x$ ]( P6 F3.改进音量控制算法,实现每次都精确控制。
6 e$ p% X6 K7 u0 X" U4禁音时指示灯变为红色,提示为禁音状态。
: k/ a: q# Q& X5 z1 e/ p0 [# V5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。6 Z5 s+ j: L, m; l) x
' q- G8 q/ d) ^! M, t' u/ [
本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:
4 A' X0 b# u4 \. }9 _6 n1 ]http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442
* Y& K( {, M2 }1 t0 Y- w6 Y  z
) _( z7 Y/ w( z: d: ^4 Y
- S9 M" S; C3 k' A) a& r2 }1 Y2 h3 k0 S1 t# ^( ?+ z
$ y: O1 R+ u2 I! `2 g3 h

/ E" `0 H0 C8 X7 m; m# X+ p& j5 S. m
+ }" m1 b  p. A8 Z: w9 E% q7 O下面是汇编程序:  ' f7 X3 K5 V  u
SDA BIT P1.6
1 c+ [. T+ Z9 D          SCL BIT P1.7+ B/ j- s/ O) A6 K3 P0 S
          ORG 0000H: K1 {1 _# n, c1 V7 a' M& i( Z
          JMP START- T/ u! n4 q, k, v6 ^
    ORG 000BH3 [- H3 P! P- m+ c
        JMP INTT0
& Y. i/ h% r  ]* Z2 A  , ]& V& z' z  F8 N
            ORG 001BH2 h/ {' G6 V5 ^4 f
            SETB P1.5+ j' ]) v- C* M. y, U
    JMP INTR- i: R/ [% z: J  S
START:      CLR P3.7
' f- n: a% _3 n* s# L* M+ u            CLR P1.42 _5 Q% {0 c5 c7 q) V5 E
            CLR P1.3: c/ q( R# x# N9 I6 [/ M) O0 D5 M5 k" q
            MOV SP,#60H
2 @0 N! Z& Q' ?& S    CLR P1.58 n- O7 K5 W$ U; V) G/ `
    MOV R6,#50$ Q% r: R/ o) P& |4 b3 {8 s
    CALL DELLAY
( S0 U$ ^; u$ M; O. ~' F            SETB P1.5- z0 v, r& [8 w( Q& H- K
    CALL READIIC  ]9 ^2 K- T% P! n- d9 I& N2 H
    MOV 50H,A
0 `# `  P; i" s" W1 B4 U0 X    SUBB A,#189
* W/ r7 w( s) T2 i& r    JC NORMAL 5 u$ x6 A" _3 C, r8 A
    MOV A,#120
" V. P. y+ {7 r/ o    MOV 50H,A+ K+ Q1 _) m" H7 E
NORMAL:  MOV A,50H7 b; X, c! x  @5 Y- i  F; m2 I* H
-----------------------------------
. `2 \* P. o# U* R$ f渐进式启动软件,保密, Z) B8 [9 k; t9 p: Y( _9 y
-------------CALL SENDCS$ z" E) |; X3 m$ k0 q& A
    MOV TMOD,#61H
; U1 l; L* ?+ a, h    MOV TH1,#0FFH" x9 E$ o2 B1 l* j6 E( P
    MOV TL1,#0FFH+ V: j+ C. D# h9 e
    SETB ET1
; l' V0 Q$ h+ E$ x    SETB ET0
8 D' j- p9 q9 [4 R" v5 E    SETB EA
1 T% k8 A  d" Z    SETB TR1
) L6 _4 Q; `. w+ r: S9 LL7:         JB P1.1,$* L( k* f  |( k2 F
            CALL RC
2 Q9 b. l0 f- i4 u: f3 M" o  l6 J    JZ L7
* G4 `* ]* y9 O4 P* x. K5 q3 k        MOV 50H,A
2 f( T) o7 K; w3 L1 K# T2 \            CALL SENDCS
/ {3 V+ c3 H2 Z! d- n8 C           SETB P3.7; N: @, L- p- ?/ D
           CLR P1.0
# ?* S4 s; h5 d7 @( {3 w           MOV R1,#3( u, A' u: R2 ]9 c* K
     MOV R2,#3
5 {1 k: a. K8 m$ K           MOV TH0,#00H
/ B$ U6 A& k0 _% W: Y           MOV TL0,#00H8 S9 L4 t" c2 _6 c
           SETB TR0% Q; `6 W* f; J) z9 ^! W0 P
     JMP L7
& Q  a4 k  U5 n, A% V4 J. c; p7 \  e3 @8 F
INTT0:     DJNZ R1,GOON
. x4 }7 ^7 ?! B9 ?/ k( L& k8 b           CPL P1.0
3 c4 ?& p- D6 A& _+ I     MOV R1,#3
& s9 W& L& v+ z; X     DJNZ R2,GOON
! O% m* s5 J& |& ?: S     CLR TR0
; U3 d3 X$ b0 F& _, `            JNB P1.5,MU
( K8 b6 e2 R6 Q" |7 q+ G    CLR P3.7, v+ T: Q4 ^- H6 `1 f
    SETB P1.0
4 v' Y8 l/ Z4 G8 i    PUSH ACC  Z. D% k0 |  P. Y1 w7 ]
    MOV A,50H7 H: `5 M, a/ p+ b2 e7 o
            CALL WRITEIIC* L7 b) m2 O* M7 E) w" W
    POP ACC
- j9 q3 X$ i- Q# a$ y6 o. ?" {    RETI
) }  l$ X. C1 a4 ^" A  TMU:         CLR P1.0     ;MUTE红灯亮
2 T* |( c' t: h+ D/ q! @8 M6 w    SETB P3.7
9 N% [8 {: L1 U9 \, E" |    PUSH ACC
: [) h6 \0 q0 @( X2 d& q            MOV A,50H, r% d2 [9 r2 U) L, Z% H+ D
            CALL WRITEIIC3 I+ {" y; O8 e2 h0 H1 N
    POP ACC
9 k: Q8 t& X# vGOON:   RETI3 d3 W) L+ x  I2 y( d6 |) X2 S) m  R
      % C7 T5 M: |  y) d; t6 F3 R
INTR:   JB P3.4,DEVOL
$ B3 L2 r- P- I$ Q            MOV A,50H
/ ?% T* G4 g$ g% q  T/ }1 p    CJNE A,#10111101B,ADDVOL* {) P- z+ M1 r$ E7 o/ b
            JMP RETIINTR
5 O$ v8 ~+ U- d7 c5 n* sADDVOL:     CJNE A,#00000001B,NO1
# s, m5 s6 n( k+ `- Q" E            MOV A,#00000011B
' ~7 f& Y* `2 @    MOV 50H,A
* V: y7 R. V( e5 B    CALL SENDCS
& _+ o7 Z8 I( e" e2 X+ {0 e4 A    JMP RETIINTR& j) x  l. p% p2 R% R2 Y2 B
NO1:        INC A2 f* F6 \1 c$ R* L& U
            INC A
5 T% o4 g* L/ M. c4 I6 d7 `* a        INC A. P! Z0 W) m9 d
    MOV 50H,A
- V4 [' D8 u- r1 ~6 w7 x0 W    CALL SENDCS+ Q  c. y$ @  x/ u0 b1 R
    JMP RETIINTR/ q& {4 x' g' J
DEVOL:      MOV A,50H
3 l: R8 P3 z9 i            CJNE A,#00000001B,DECRVOL* [5 t- z* ^4 V* u! F
    JMP RETIINTR  E6 l; G# H5 S/ _% h2 O
DECRVOL:    CJNE A,#00000011B,NO3
, K/ _4 R: i9 y% ~& n  H: C            MOV A,#00000001B, D  Z) X8 Y* }+ e
    MOV 50H,A- G3 v1 V  g8 o8 U4 C1 F
    CALL SENDCS, U3 C) X9 _* [( g7 Z5 y3 ?& g
    JMP RETIINTR   D. D  q3 s; K6 p4 j& b
NO3:        DEC A
& i9 B: }% \& `8 u9 j" k7 Z9 D7 y            DEC A
' e5 e7 X, F4 c7 N8 N; {, B  c            DEC A* }: m( k! i! A: e1 p
    MOV 50H,A; n9 |+ Z3 L7 V0 s9 }
    CALL SENDCS
* U# A3 n; m2 J. Z* I: FRETIINTR: SETB P3.7
2 ?" E/ ?% N- I; k% I           CLR P1.0
" j9 E/ |+ h( X8 m7 s' _4 |/ K9 @           MOV R1,#3
4 Q, i+ X$ O7 x6 m, y: K5 y# y     MOV R2,#3
1 b1 v* M; M9 g           MOV TH0,#00H% N0 W& u: E& M% j8 ]- y
           MOV TL0,#00H
7 R1 O8 K4 p  w) p8 S           SETB TR0
) C9 c2 r) M) u6 T    RETI) D. I: _+ d- P) b
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM
( v, v7 R# k* Q/ x) Z8 N  u; n             CALL STARTIIC7 Z- U0 h2 B; d9 c, s
             CALL SENDIIC
* R+ R3 u. b9 \) D0 A9 l             SETB SCL% K! C  b) ^/ N/ U, X$ {9 D! p/ a1 P
             MOV C,SDA
- `9 q9 }5 }5 p$ X! r+ T             JC WRITEIIC7 ]/ s0 v9 J1 |' i% i
             CLR SCL
. k" P6 l  n, Q. X; _             MOV A,#11000000B           ;存在11000000B单元
1 D) p2 w# x+ A' y& f" Y             CALL SENDIIC
% q) Q! o7 J3 U! S8 |             SETB SCL
; n; o$ C& `, B/ s# O' B             MOV C,SDA: c- ^3 y; Y& X6 r0 ~% D
             JC WRITEIIC
+ y3 K3 R1 u9 k* C6 W! b' z             CLR SCL
0 w4 j: s( C8 Z4 Y* ?7 Q             MOV A,50H
1 A7 h" j8 l3 |/ @: u* y             CALL SENDIIC
3 G$ V* [/ q) m. F. m0 ~             SETB SCL
5 w0 s" B( E! ~# {# p$ n             MOV C,SDA- X* v$ A) ~1 k* D
             JC WRITEIIC5 h- K: i; I0 Y) J5 Z4 F" m
     CLR SCL) U5 }4 d" Z/ `7 ]* |3 H
     CALL ENDIIC
7 V& [/ y. i! J9 i% @# }7 h# h             RET
4 n% z/ W# F( j9 b* v4 T$ N, NREADIIC:     MOV A,#10100000B          ;读数据到A
- L) |7 G& {" Q             CALL STARTIIC
) T# X5 g2 v5 n- f     CALL SENDIIC3 _, c+ h7 [1 ~- }1 D/ M
     SETB SCL
6 M( S4 B2 b; z6 i0 b; _3 E) Q     MOV C,SDA0 Q' K, e  T* V3 }; ~
     JC READIIC
! a' m6 F& J  }/ |     CLR SCL4 e  H3 @# y! w* G8 @1 T
             MOV A,#11000000B           ;读11000000B单元* Z$ v" r7 B: |, E6 p. n$ a9 n7 K
             CALL SENDIIC
0 e4 i' d' E' e. r             SETB SCL
2 Y; a& O! ?' f; x* n# E/ ~             MOV C,SDA
9 K  v5 i, D$ ]( O             JC READIIC& A6 T9 w+ _' s! z6 K* b
             CLR SCL
. e* w* g9 p% c, n# O! i% y$ ?     CALL STARTIIC
3 H8 T; A7 J% {  I4 v6 @: p9 l6 H             MOV A,#10100001B
3 d$ ^% x+ W6 t+ ]             CALL SENDIIC1 G3 A* `6 r( l8 X
     SETB SCL7 d  P$ g3 I0 T* |9 d
     MOV C,SDA
0 u0 ]" w8 a8 F5 u0 P     JC READIIC1 b) P- W/ e- ^6 v
     MOV R7,#8, {& D! |: ~" h' w: l! ?% k
READIICBIT:  CLR SCL
( i" }8 I1 I$ @7 B. E& e9 f- H( m9 _     NOP( G" {% n/ k1 T& f' M+ y
             SETB SCL
8 b8 Q1 R7 {8 h6 q2 O: j0 F     MOV C,SDA0 H* z; l  m: e8 p2 r- w+ p
             RLC A            
8 V) B  l; {+ Q+ H& `0 c     DJNZ R7,READIICBIT
$ L$ p! N( u# S$ ]$ y. J: @& n             CLR SCL9 i7 d7 u, @; R
     NOP/ b0 w' }6 a  R4 v
     SETB SCL
1 r( q" n6 Y1 u/ B     NOP3 F+ V, g9 f/ ?9 s" q. ^# ?
     CLR SCL
/ ^# j* n7 p7 D: W     CALL ENDIIC: ]$ c1 A' G! k. z  b1 ^* y
     RET
, O9 @$ W* l9 C7 z  C1 `( ?% j/ aSTARTIIC:    SETB SDA2 {7 ]5 v: D; O( K* |6 e
             SETB SCL8 s# r2 R6 n* `; O$ x3 g# ^
             NOP
5 f# Z4 G1 `: }7 l     CLR SDA
% |5 U  o% k; b& f, m0 P+ y             NOP
/ x$ b# Z8 r+ U             CLR SCL' V  K+ w: j8 E: h) n, w
             RET
3 ?( z6 U+ P9 \; o* ^ENDIIC:     CLR SDA
8 @  f& Z. ~9 m. `            NOP/ N9 _  g0 ~- F: c6 H. s
            SETB SCL) i- W; X8 {- b7 Z; C* V$ }
            NOP
, c- M& Z; w& W8 d7 r+ r            SETB SDA
5 [8 |' P2 e9 k" H' }" l            RET
9 o; L3 e9 J3 n; o9 p2 J% P4 YSENDIIC:    MOV R7,#8            ;发送A的内容% n+ i5 Q2 K& g% n" q  Z2 k
LOOPIIC:    RLC A
2 o8 I+ C+ f# W' M            MOV SDA,C
0 \' i" K0 N( `* k& W4 `            SETB SCL& Y% h. l2 N. V5 j
            NOP
: P% u) d, e3 _! ^* o            CLR SCL
: w5 H' K3 M/ X$ A4 K            DJNZ R7,LOOPIIC/ C. \! `' s2 M
    SETB SDA
( U. I$ U- h* u$ N, w            RET8 b  c( H, z2 S6 W
RC :        MOV R0,#30H              ;遥控接收子程序
; e% n9 r0 D  k            MOV R5,#9
1 c9 y' q% `' B  @) V" v1 Y# q8 |/ yL1:         MOV R6,#164 P4 m8 d- o8 ?$ W
            CALL DELLAY+ b) K5 Q6 g+ B) G
            JB P1.1,OUT' G: k$ M! h4 S8 i0 y& J
            DJNZ R5,L1
1 G; S4 Y, N4 I% X& ], l3 }# v+ l           JNB P1.1,$
$ [; e7 |. a9 v( @) B            MOV R5,#50 h! c' B8 p+ E% Z; g
L2:         MOV R6,#154 R' [( t' p* j" S% U- e; D
            CALL DELLAY
0 d$ V5 u9 w7 X* Z            JNB P1.1,OUT
+ X1 [% \: Q! e! A" ?$ \7 O- B            DJNZ R5,L2 7 z7 D3 m) a5 J3 b/ s- \
            MOV R6,#11
: |0 V$ O. X! A( u            CALL DELLAY            
/ N+ ?: i- D1 p            MOV R3,#88 Z2 o+ _4 d) h. D! i
READBYTE:   MOV R4,#8
* X# h9 v1 Z/ E! {, e( L- }4 @7 pREADBIT:    JNB P1.1,$( R- |5 U; c& F, h6 r/ _! D- i8 G
            MOV R6,#17
) R6 e1 a$ S+ l! z' I' `6 v            CALL DELLAY5 Z$ J' W0 M  s  j4 H0 ^
            MOV C,P1.1
3 M  ~$ [3 U+ a. v% N$ I' |            JNC ZERO9 J; S' O, q2 N
            MOV R6,#22" y8 J# x& g0 H. n" Q6 q
            CALL DELLAY' U% l$ O8 O; x! g) h6 N
ZERO:       RRC A
3 C; }9 N5 V' `6 F4 u7 ^) A) X            DJNZ R4,READBIT
$ A# T' t0 k; y$ o7 A            MOV @R0,A: }3 J  r9 y2 g
            INC R03 s4 L* t2 ~2 h8 Q( d/ J1 s* K
            DJNZ R3,READBYTE, o7 p/ T" ?" l( b
    MOV R6,50
- {$ c0 _% J$ x6 i: y: x    CALL DELLAY
: l. x* j& d3 f0 e) f4 g( B( j---------------------------------------------           
1 {5 @" n/ }6 C; c6 r---保密部分1 O! c2 x5 B/ \! u6 e) @5 P
----------------------------------------------
8 ]9 z# R5 a: W! n( n8 K     RET
9 ~: X* l, `+ ~0 e5 [! M$ [        
: v0 y. ]' [6 {/ }DELLAY:     MOV R7,#25            
: L/ I( g9 D$ Y1 @, x: r            DJNZ R7,$3 M0 W8 b! X" ^0 [
            DJNZ R6,DELLAY
; Q% W5 o0 q, U" W7 C            RET' F3 q% B& C. N9 v* N' O' n% B: B5 `
SENDCS:      CLR P1.2           ;将A的内容发送到CS3310           
% l8 J6 @2 c) _- t/ d6 P# x             MOV R5,#16
- M1 V7 ?5 k: X, zLOOPCS:      MOV C,ACC.7
  K- o" p% R- b( [. \0 b% I             MOV P1.3,C6 K( e* Q, y6 X3 N' ?' ]# r2 `3 a
             NOP. u3 V3 ^7 k9 G$ h2 W" r
             SETB P1.45 y3 F2 B; C& s( n+ i& m, F, t
             NOP
7 H* W% u  h0 ^" ^- {! p4 b             CLR P1.4
1 V! t& w$ J2 N             RL A
* T7 F" d1 }/ r             DJNZ R5,LOOPCS
. Z$ g3 k" m8 o& |$ Z* m             CLR P1.3; [1 k) S0 V6 Q6 M) c! W4 ]
             SETB P1.2     ) h& T0 l. Y0 ^8 k
             RET+ E; s# K; n( W7 |- m' f, I- D' `
             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 | 只看该作者
感谢楼主的好方法
$ S; v9 ?" f* ], M/ N空即色 发表于 2010-1-16 07:49
: P( q2 z% T$ L8 I! Y

* u' O, j3 O/ h, c# p2 d9 e
% u" }: f/ r4 a! x1 @    你用过了么?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2010-1-22 16:04 | 只看该作者
你用过了么?' \7 b3 d! o( b1 S
mgldjp 发表于 2010-1-19 22:01

0 u2 z. ^6 t* ~7 g2 {" j9 U3 x! L3 ~* c$ e9 P3 B% ^9 C& _
5 q: X9 s$ S' q/ r( @8 T
    用过得都说好
回复 支持 反对

使用道具 举报

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 | 只看该作者
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。
0 d' E' R2 s4 A7 @$ ~6 {, tmark821224 发表于 2010-1-26 10:19

6 @6 D" \2 M# f
% \# Z+ Q: _4 @& N7 p: c! ~$ ~7 s; f9 b- ^$ \6 A
    你的新鲜期可真够久的
回复 支持 反对

使用道具 举报

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

使用道具 举报

15#
发表于 2010-2-7 18:29 | 只看该作者
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了( o% o1 Z- z: ]: b" q0 Z, f
) N4 U6 N' U! y& C
楼主是女的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 15:46

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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