POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

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

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑
8 [: y( d; i& [" K) a3 }+ \3 B$ q4 C3 A: e0 c% S; ~
T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。( l" V) d4 Q7 V. i
首先说说我发现T200B软件的一些问题:
8 |7 {7 W! v/ Y6 O  i' v; V  x1.开机不记忆上次关机音量,这是最大的问题。4 _  E0 d( c9 `
2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。
3 t- Y3 A, T, [1 j& q3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。6 e1 d; x) t4 m0 I7 z& ~2 }. c
4。禁音时音箱灯没有禁音警示。: D! |$ o4 h& e* i7 `5 d

9 h. Z" t) j# {7 {. ^由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
6 X" p1 q5 x0 ]# v1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。- c/ A1 ~& H& ]
2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms+ k4 O! @  C+ k2 r* s7 `7 d
3.改进音量控制算法,实现每次都精确控制。' e3 ^2 n8 F7 o
4禁音时指示灯变为红色,提示为禁音状态。
, u9 _0 I4 H, a5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。' e2 K/ ]5 A' t# h1 s

& n- K/ B; ^! a) d8 V- @9 v3 ], H本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:1 Q2 H/ a$ M, N; }6 q
http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442' I9 m  k% c6 M* K; F/ |2 B

* Y& S1 S/ Q  Q4 Y
8 z" Q9 X  y9 b4 ]8 `% l  h- O- r6 H8 ^

" p, U8 m6 e0 s. ]7 m
) t4 A/ n  W  {9 P* z6 m" _
+ I# e- \. h3 U: d% N- d& m下面是汇编程序:    O+ W6 x8 N- q3 |, B; M6 |
SDA BIT P1.6
* f7 t& w  H# d0 p2 p          SCL BIT P1.7) q; A: u5 p# j: {
          ORG 0000H2 E2 A* k: P( ]) H( Q
          JMP START
& t+ p) [% `* e8 H7 \    ORG 000BH* e" @& z* y" i6 D! H) C
        JMP INTT0' t2 R0 ]" S+ b" b6 u
  
  {6 l8 P& r; ^& C; ?0 W3 o            ORG 001BH& U+ }8 Z. m  c9 h0 k' Y2 S
            SETB P1.54 I3 S* B* U  G; ~  i) w$ E  F
    JMP INTR
& g1 H& F( r& ~; Q/ n$ G  YSTART:      CLR P3.7' u' Z2 l6 P" T: o% L- m
            CLR P1.4# n* ?$ F# V' v- @6 r6 s
            CLR P1.3" [- x9 l, I# N
            MOV SP,#60H' P/ a- z3 {6 h
    CLR P1.5- D/ B4 U% K4 I' d0 W5 ?
    MOV R6,#50
/ T. v  H/ h: H) Q$ B    CALL DELLAY: B) z# [8 O; ^: j3 X
            SETB P1.52 o( R5 v3 q- |, s
    CALL READIIC+ V3 P6 a% `8 B8 o, r9 l, @5 s
    MOV 50H,A- t$ ^& x4 V0 X; o5 `( e" M- E
    SUBB A,#189
# a" m7 A' S' c2 g! C8 I7 l    JC NORMAL
6 a2 c1 `( `  _$ b    MOV A,#120
$ o' ?, k% V2 E0 ?% j$ y, Z    MOV 50H,A* O0 `3 ?9 q1 ]% k  C9 j( @$ y
NORMAL:  MOV A,50H
2 `1 `7 D" A$ p7 b3 H-----------------------------------) g; o. g% M! _# a
渐进式启动软件,保密0 @2 b: {* H" E3 Z8 \
-------------CALL SENDCS1 @) n, O# {2 N7 @  J
    MOV TMOD,#61H
7 R/ L2 B+ z/ z, C0 c    MOV TH1,#0FFH. @* u# u- n. {. Q
    MOV TL1,#0FFH
  G$ t: J+ L& D% ]& l+ E2 e. z4 |    SETB ET1
% t* A! @8 N, q/ x    SETB ET0
) u8 s7 {0 b+ X4 i    SETB EA
& r( Z6 G6 V" P1 E$ G6 N    SETB TR1. K5 w4 z. b) P" h
L7:         JB P1.1,$" J( p9 d1 L$ M6 z  W' `
            CALL RC: s+ T$ n' U! ^
    JZ L7
* I6 W( O; }' D! K$ a4 \        MOV 50H,A4 @# V% \* v2 Z) j- l
            CALL SENDCS 0 }& _" D# ]0 \3 N0 b$ W: G
           SETB P3.7( }$ u% ^: k. t4 {7 P. A
           CLR P1.0$ @& a3 x9 e1 x6 Q! G
           MOV R1,#3+ ]+ x/ G# }1 r( O& e: Q
     MOV R2,#3  J( x; @/ D) i/ u* v
           MOV TH0,#00H- Z6 n, q5 J" W7 H1 Y
           MOV TL0,#00H
9 D" C. r  d7 {# u0 ?& w( z) o: J  [           SETB TR00 N. `1 J+ V5 T- K8 t9 I2 a& q
     JMP L7
, m5 {% e  q; r; ^* H' J* T0 k+ U8 A% \) z* j# Q7 x
INTT0:     DJNZ R1,GOON
& h0 G% t3 x7 F$ o+ G; {           CPL P1.0
! G  B8 w, C; |. J- q     MOV R1,#3
& W0 O+ k6 r) c5 g6 _     DJNZ R2,GOON8 Q) z4 ?. T: {( `) M. A( }
     CLR TR0  `* V- x# \1 l/ U6 |% m. f
            JNB P1.5,MU% [. |; e2 \/ T4 ?0 w1 {
    CLR P3.7: t0 t- [$ Y7 n0 ?) k
    SETB P1.0
0 @( A: D+ y& }& A! c' f    PUSH ACC
* u0 t, z' x9 Q+ O# }0 g8 \    MOV A,50H
; U( i" Z. F! v; t1 N            CALL WRITEIIC
9 R, t2 k4 b3 q# P: R    POP ACC
5 ]9 p+ g2 P- M0 P, F    RETI3 P8 v/ S  x0 P" \8 v
MU:         CLR P1.0     ;MUTE红灯亮. q" G, l2 s3 z! F
    SETB P3.7
1 G. P0 R7 L) Q, E" {$ }/ s5 x    PUSH ACC
/ |/ }2 V8 _5 l4 o" {: l- _            MOV A,50H
; |7 N, |* r! I$ B8 N; _. i0 Z            CALL WRITEIIC
# g+ i9 }5 d) D- H& b    POP ACC& L8 u4 o- ]3 i" k$ @
GOON:   RETI
/ C2 g2 T9 I; L2 k% B$ y; }8 }! n      " l( T  _* L+ n6 y5 Z3 U
INTR:   JB P3.4,DEVOL
2 s2 |$ h* l2 p, s/ a* w            MOV A,50H/ w9 X2 y3 N) o; p
    CJNE A,#10111101B,ADDVOL: S: J* Y8 e5 K7 B
            JMP RETIINTR: R4 w5 E8 p; g1 e
ADDVOL:     CJNE A,#00000001B,NO1
5 e) v' @2 }- j3 k4 z            MOV A,#00000011B; U9 u2 s! ]2 k9 N
    MOV 50H,A3 G! ?, |* w( J8 G$ U2 d' i
    CALL SENDCS
* q# e, C& @$ |5 O8 N0 q) Z8 ^    JMP RETIINTR4 g; N2 U" v) f% c: H! |' `6 j
NO1:        INC A
( s2 v9 a2 {. J. {$ g            INC A! C5 Q% q5 C: y/ Z1 A2 D. N
        INC A
. d% n  {9 c" |    MOV 50H,A
/ J$ H7 K/ [/ y    CALL SENDCS0 W, x! h* O3 ^# o
    JMP RETIINTR+ F- P  v7 T* }7 u0 K4 o7 `9 Q
DEVOL:      MOV A,50H
# w  s3 A5 Q$ f6 x/ m% w            CJNE A,#00000001B,DECRVOL
5 S+ m- M( @7 U& ?* }( N    JMP RETIINTR- [4 [" j9 w3 `& C/ P- I( R$ w
DECRVOL:    CJNE A,#00000011B,NO3
2 N- h/ q" W; H2 Q            MOV A,#00000001B
- a6 t7 l4 X& Y* i    MOV 50H,A
) W, s7 L' W: T- i: Z3 m    CALL SENDCS
6 z) ^9 T2 [. w# ^    JMP RETIINTR 6 p! r  e: L2 Y( x# ^5 P
NO3:        DEC A4 M4 B  Z$ |- j/ Q! J8 x% ~
            DEC A2 r& C! k8 `; M" x4 i
            DEC A# D, w: a* @& L9 B4 Q
    MOV 50H,A
  n9 q, B# F( _5 H  Y9 ]' I    CALL SENDCS
6 S* X: _6 m6 k; O( kRETIINTR: SETB P3.7
/ s) |3 ?$ S, N% P/ K5 x' a0 N8 k           CLR P1.0
+ Z1 R, R0 k3 M; ]+ S6 D           MOV R1,#3
; K( f7 k7 g5 ~" R     MOV R2,#3
  d# M& z4 U# d5 b2 T! V" A           MOV TH0,#00H
& J6 g& V3 C# D. D5 o; R) |, k. D" ^           MOV TL0,#00H
0 X% V) M: L, W$ w1 Z6 i           SETB TR0! D+ @" q. I5 I) r' |. k
    RETI, E6 B$ K0 W! N$ Q( |
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM
8 P3 d: @1 v( C5 Q- Z2 k             CALL STARTIIC: e3 M! V1 K( Z) Y( K9 l4 ?
             CALL SENDIIC
" \7 L- n- f$ e$ ]             SETB SCL" T& y& |: s. E5 S/ E$ h
             MOV C,SDA) c; O% W$ m& Z8 {
             JC WRITEIIC5 Y' Q+ D, t. ], u3 M2 i* X
             CLR SCL: ~* K% x% e9 B; Z
             MOV A,#11000000B           ;存在11000000B单元
0 l9 y  \5 L3 F) p) I( G2 J; r             CALL SENDIIC3 R7 y& m( |7 `
             SETB SCL7 M7 a/ F$ G% `
             MOV C,SDA7 B' j. r8 Y9 y' L+ a8 h/ g0 |
             JC WRITEIIC: w' G# V5 j( w8 o
             CLR SCL: E. S; {) G" n* W( D
             MOV A,50H
: S3 w* V$ s, ~% o, L' `, ?             CALL SENDIIC
* g$ E2 T2 d8 Y5 o) X- \             SETB SCL# n6 i2 d; F+ ~% b2 h
             MOV C,SDA3 A5 f7 D" p  @/ ]  O
             JC WRITEIIC0 i& o. n" l, E
     CLR SCL. ?4 ^0 C) k9 _# `2 y
     CALL ENDIIC
4 v1 a' i* J( A# c             RET
6 T9 B8 c$ m* W9 jREADIIC:     MOV A,#10100000B          ;读数据到A
$ |  L/ S& B* J# |# v             CALL STARTIIC( H2 c$ @! f+ k& K
     CALL SENDIIC
  {$ k, r$ K  x/ h     SETB SCL
8 X1 ]! g2 z! d     MOV C,SDA
' `9 @' D8 ^4 X  w7 ]; C     JC READIIC
* b" ?9 l, q: N     CLR SCL
8 B1 E3 K2 k% J: h- Q; [             MOV A,#11000000B           ;读11000000B单元
0 u2 O- W5 D. K             CALL SENDIIC& z7 J) Y0 b- P) @  N# ]
             SETB SCL
8 ~) @9 H% P  a7 [             MOV C,SDA
$ g$ r5 }' ]7 A" C             JC READIIC
# R1 P$ z( G0 H2 F/ i/ F) ^; G# l             CLR SCL: {6 [6 U+ e7 u4 B
     CALL STARTIIC
5 n# F( M, Y1 j; V6 T2 J) m; g             MOV A,#10100001B
) |% \6 f) v% M" {8 M( w             CALL SENDIIC
4 f- C9 C4 U* B: D  k: }( u     SETB SCL
; E$ n( P5 E2 U4 V6 c0 L4 B. |     MOV C,SDA- W- p+ G# ]% I" {) H& I
     JC READIIC$ w" \) v+ J2 N
     MOV R7,#8; V4 J- ^) P7 C3 l- ]
READIICBIT:  CLR SCL' Q) E( f- Z; g
     NOP; h+ N. c; k5 o1 G
             SETB SCL
+ L9 q3 Z8 a# m  D: B! Y     MOV C,SDA6 U4 @3 s; Y5 G4 I  i* s4 j; j
             RLC A            
5 m- R1 d# x- w# c6 h1 g+ W$ e     DJNZ R7,READIICBIT
+ B0 B8 ?. m2 k/ g7 I9 W' i5 k             CLR SCL& v# A' Q' s- u' S+ [* y
     NOP1 H; U2 |5 e" w; f) h: R) U
     SETB SCL
3 ~% _/ ?9 N) M) L3 ?$ a! v# S     NOP: v9 f1 N1 H* j! [' |2 m7 H
     CLR SCL9 N1 m/ A- ?* A# \
     CALL ENDIIC
( K, p% u4 j: P) N0 W     RET
" c1 O% X2 m/ \: z) N( v( N, ESTARTIIC:    SETB SDA
4 ^- y- c% W$ v+ |2 t$ I             SETB SCL
  g( t) x1 f$ x7 y             NOP  w- q6 J/ s; g9 X( m
     CLR SDA1 Z" x- [+ @6 b( q0 l3 p% N
             NOP+ `6 ]8 J" p) g# B9 V
             CLR SCL4 Q# _# V. V' X4 y# [( ~
             RET
: x1 ]$ h5 a3 K& n  zENDIIC:     CLR SDA$ o, Y! M5 `5 u( j. p, d
            NOP; [; k$ @# t7 W  e6 d
            SETB SCL
% ?4 e6 o0 M& h. I$ u3 x            NOP- K5 }! A$ o- _$ k/ I( b# H  z
            SETB SDA
5 u$ G2 B+ v* L  G* U) W            RET
) r9 Q8 U# z, r; s+ H( {SENDIIC:    MOV R7,#8            ;发送A的内容
2 k7 e) [- z0 z, ELOOPIIC:    RLC A  Y- `& S4 i/ K+ r3 T
            MOV SDA,C
' L" L1 [1 X% G            SETB SCL
2 }9 R- L3 n) M) y6 `            NOP' t1 B: h8 L) |
            CLR SCL
8 A9 Z5 O8 n0 w5 U! L" \            DJNZ R7,LOOPIIC
0 j* }; c+ Q6 b! v/ X1 X    SETB SDA' U4 k/ d: S0 x$ h* s/ Q
            RET
5 V4 P+ B9 a/ MRC :        MOV R0,#30H              ;遥控接收子程序1 E2 X. }4 k" p! |3 k6 U
            MOV R5,#9; P; U2 d- J. Y$ D1 B$ x9 h, b
L1:         MOV R6,#166 J( `4 b1 U" P" Y! u5 E
            CALL DELLAY4 w- I( n# g, c0 H4 ~
            JB P1.1,OUT+ k! ~) s" b9 N- M; W
            DJNZ R5,L1 , y  i- T' j7 ^: G7 Q
           JNB P1.1,$
: _! w+ p5 E8 k            MOV R5,#5; W+ t+ C* Y7 u$ H' ~! Q
L2:         MOV R6,#156 v( V+ F1 {( h5 R$ O; H: ^
            CALL DELLAY8 g6 ]9 W1 `6 x/ D) X+ F% Q/ p; q
            JNB P1.1,OUT
. P% F/ @! p; @( [            DJNZ R5,L2 4 @! ]- N" l# h
            MOV R6,#11# R4 q& N& J( `( F. _
            CALL DELLAY            * p, t0 n! z2 i' `$ V& ?
            MOV R3,#8
5 U0 c0 m- O- a+ t, O5 I/ C( B" W4 eREADBYTE:   MOV R4,#8
  \3 s6 X3 R, V- @* @8 g" {* GREADBIT:    JNB P1.1,$
+ a5 \+ Z" q. s4 R# N            MOV R6,#17
2 H; ]7 ~; ^' X5 G            CALL DELLAY
2 w0 l9 |9 o# J, V8 |            MOV C,P1.1( w" F% c7 t# m$ D' _. u6 x" G
            JNC ZERO
$ |; G& L  M( d8 R. @  y) K: Z            MOV R6,#220 Y) c4 j- f( c$ ~1 ?3 e: I/ t$ q
            CALL DELLAY
0 v  _8 R, e& n1 @8 WZERO:       RRC A
6 m( |6 Y* a) x6 ^3 u            DJNZ R4,READBIT* N/ Q5 a8 l9 ]& X3 Q' q# N
            MOV @R0,A
6 Q' H% ^- m, Y7 Z7 ]0 x* [            INC R0
6 r. |* ?! D# M' C            DJNZ R3,READBYTE2 R: ?6 R! v& |( ]7 [
    MOV R6,50
" d$ M9 I, B. _& I$ z$ ~    CALL DELLAY $ h( W" k+ {; T" T: s* C) w
---------------------------------------------           
0 B+ c6 w; B' E; v; j9 L9 g6 C---保密部分
2 Z% W1 p  H7 I, ^----------------------------------------------& r" T/ ?" Y2 a9 v' e) z  X
     RET
. v+ X2 D8 ], ]9 n        
" z9 |* `) H7 d, s2 {DELLAY:     MOV R7,#25            . ]4 v# y! `0 ?% m% a7 q9 `
            DJNZ R7,$
" w* d4 ~8 l5 ]* y            DJNZ R6,DELLAY; _1 q. s1 i6 s' Q
            RET
, N7 `  v+ n5 g; Q, p2 S) |/ YSENDCS:      CLR P1.2           ;将A的内容发送到CS3310           
  L. I) v/ v2 |' l9 H0 r0 ~( I% x             MOV R5,#16# h; \/ p4 u, _+ q. g8 p- n
LOOPCS:      MOV C,ACC.7) L) M+ U2 M& {
             MOV P1.3,C
2 _# X! d, q4 e             NOP
5 P9 e1 y/ i4 x! e/ d- U. i             SETB P1.43 ?) ?$ j$ S( C% M$ U, E% U
             NOP
& v7 L7 p& N9 T9 v2 h             CLR P1.48 Y0 ?2 Y" ~- W% o
             RL A/ B- V( g% G4 Z6 S2 g
             DJNZ R5,LOOPCS
( w- N4 E# h& [$ J             CLR P1.3
1 G2 T3 v, G" {. T  J* X8 O             SETB P1.2     
" B' T7 r( o7 z5 A; N7 X- b             RET
; Y  w: s# ~; h/ C( m) e             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 | 只看该作者
感谢楼主的好方法) s6 P2 B9 W  A5 |# f  J
空即色 发表于 2010-1-16 07:49

, `- ^+ [: h) J/ z7 }, Z1 @" y/ ^- S/ d" e3 d9 @+ _. J9 z' C

) K* f3 y" Q! ?3 f5 F    你用过了么?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2010-1-22 16:04 | 只看该作者
你用过了么?( \! O) \  ^: g
mgldjp 发表于 2010-1-19 22:01

- H8 \( i# g0 z
. T$ Y# d1 G0 d
# @& i3 c* i0 l1 N    用过得都说好
回复 支持 反对

使用道具 举报

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 | 只看该作者
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。& o/ ]9 m7 p* c
mark821224 发表于 2010-1-26 10:19

. @* |6 n' q& H  F6 Z( g6 E
8 j8 R4 e$ f9 Q! O; h3 k9 l5 x- i: i0 m* N! X
    你的新鲜期可真够久的
回复 支持 反对

使用道具 举报

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

使用道具 举报

15#
发表于 2010-2-7 18:29 | 只看该作者
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了4 Y- n( ]! K) }0 H/ |. ?
6 x5 ~2 z4 T& W
楼主是女的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-15 15:13

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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