POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

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

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑 ( U; e6 C5 K' I3 P- z7 y! z
8 |0 s, ^: v% }- g+ u9 w
T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。
! b; A* Y. J/ ]首先说说我发现T200B软件的一些问题:5 b4 ], ?5 p% A
1.开机不记忆上次关机音量,这是最大的问题。
( X3 {, }( j. N6 G) Q) j( s( b2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。5 ~3 j2 K. \) {3 {
3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。4 I8 q1 A. F( u2 y  }( Y0 c
4。禁音时音箱灯没有禁音警示。
9 O8 w: I. _: R" O7 B
  E4 K$ l7 r- s* B由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
6 [8 Y  {6 e2 K* n; [) o1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。
6 o/ p: N1 u; A4 [/ |6 o5 Z2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms0 q5 b! T" E  h) b( o9 I
3.改进音量控制算法,实现每次都精确控制。
! N: b7 r. i. k4禁音时指示灯变为红色,提示为禁音状态。7 i, z" Y# W2 m, }' w) c
5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。
0 Z- }, i/ |* m  C* R: w( i- ~" K  e% S8 P) k% K- v& P8 Q
本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:' T+ `2 @5 b; \: \6 k0 f7 w& c; [: t
http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442
: ?0 k, I3 v+ l% p, s0 [* w/ ]) V3 Q8 c) `

! E- ?7 n6 ^% }- R! `6 ?: A5 w; H  r  t/ z( O3 {: l6 j

4 l( L% ^4 W2 }6 J
8 w9 j0 c% H' ?) \4 \8 B  b' ^
" v$ v3 _  P. l' t下面是汇编程序:  
2 a5 k8 T& E9 y4 f4 cSDA BIT P1.6; L$ U* C" a3 ~/ a3 k
          SCL BIT P1.7
8 p$ z# \6 _7 E          ORG 0000H
: H, ~, R$ b3 h# W+ W, Y2 w          JMP START, n' {2 q: ?5 r: z8 J: ?
    ORG 000BH
' a0 @5 n' v  P        JMP INTT0
7 O$ g: e% f/ c6 P  V; U* ]  
, h1 U' L/ }: y$ J4 k            ORG 001BH
# b; ?, r9 C8 M            SETB P1.57 F/ \1 D! u+ D- ]% _- h- g; P* g
    JMP INTR
; z! i- y1 I7 [2 z0 ZSTART:      CLR P3.77 N9 r2 H6 w4 w, z
            CLR P1.4
/ w+ i6 N7 i; y            CLR P1.3
, I6 ]* S: B2 Z& U% m  W% H6 ~, A6 e            MOV SP,#60H
2 J* g5 e$ |0 r7 a' m    CLR P1.5
- s3 Y$ y6 l+ n8 r    MOV R6,#50! _$ \6 B. N" p/ X1 {& `
    CALL DELLAY
6 _4 @" |( A9 V            SETB P1.5
4 R  A- b1 r' E$ l  t0 B9 r: M    CALL READIIC
% l9 v) Q, t! w  d1 T    MOV 50H,A
) X  k+ i+ N4 n    SUBB A,#189) |5 t3 f. k. T/ B; o
    JC NORMAL
& [4 a6 e9 r) w+ q    MOV A,#120% E6 r% e* J9 V0 ]
    MOV 50H,A
0 I! t$ S- Z: Q; d- C% v. s  UNORMAL:  MOV A,50H1 G: u0 m4 w3 ]
-----------------------------------7 B; z0 {* B+ r
渐进式启动软件,保密2 I: j2 L1 A" p5 x3 Q" {8 c
-------------CALL SENDCS
' |5 b7 i; b& p  |4 w    MOV TMOD,#61H
1 b, f  u3 K: J# h3 d  a) ~    MOV TH1,#0FFH
# b% y2 w. d2 D9 [    MOV TL1,#0FFH
' H) n' s, g8 i6 }! a, @    SETB ET1. w, d( s" y) K) y- h7 x
    SETB ET06 M2 f' K% J- D
    SETB EA+ U) A1 y2 F; C! O9 W( W
    SETB TR1+ c% h- O5 t7 F" n- M8 ]  b
L7:         JB P1.1,$, W7 c1 O  }7 C2 L9 p: n
            CALL RC
& [  C" _4 C+ k- ?! I! H0 q    JZ L7: w' S! t  A2 e$ u- S. L6 Q3 V/ i2 K
        MOV 50H,A
3 S! \, _- M9 q            CALL SENDCS 4 _, a: Z6 ^' U3 Y2 \  x  w4 D/ _
           SETB P3.7! v& Q0 ~# k" u. ]2 @+ v# g
           CLR P1.0
2 |6 }5 m! m7 ]5 F           MOV R1,#3
8 x2 Y4 b9 ]8 ~     MOV R2,#3
' n, G# G( e3 B) I5 f4 l           MOV TH0,#00H: F; z& m( y5 t
           MOV TL0,#00H5 e5 ?) H0 c/ D2 O- U- a" c) T- G
           SETB TR09 b! E+ {, {( U5 g4 ]1 e" K. F4 a
     JMP L72 P  ^% l5 w1 k$ w- X

4 Y) l2 [( n' `! [  U( I" ^INTT0:     DJNZ R1,GOON
) v; m1 E; u/ I0 k0 }3 M8 G9 d2 ^           CPL P1.0+ ^9 |8 K9 [- H" T. j; J2 _: {
     MOV R1,#3, |# B/ l3 y: Z6 e
     DJNZ R2,GOON
! ]# O5 U& y7 K4 V6 _" p     CLR TR0: @8 x+ b$ P  l; v) y
            JNB P1.5,MU
1 z( n$ ]$ c( L" h! H5 s; ]. N% Z    CLR P3.7+ l% l" X+ j, F& e% n, ]
    SETB P1.02 ?$ }: x1 d# X! L$ X" L4 P
    PUSH ACC! n; I7 {) {. c' Y  T, C
    MOV A,50H
7 I1 p& z) o4 J. L9 v8 a6 u( Y            CALL WRITEIIC, }( \, Z3 o& p/ i) i
    POP ACC
( C+ j$ @% g) q/ X, _: X  l    RETI
& L% k4 b% K3 |; k0 WMU:         CLR P1.0     ;MUTE红灯亮
7 L5 Q/ [& v2 X( ?0 Q    SETB P3.7
3 W/ o7 X1 W1 [, z8 X. y4 _0 P    PUSH ACC7 v! ]; j2 [0 A) |8 Z& K
            MOV A,50H9 p* u$ ?* u% E2 C8 v; g" Z. s
            CALL WRITEIIC( F* y! C2 M% k
    POP ACC
% h3 a% ^# ~: W" @GOON:   RETI
0 A6 l% D& r2 j3 r+ K6 L      $ k/ G+ N! \. S2 P2 b9 \
INTR:   JB P3.4,DEVOL5 f0 {* i& E7 R1 y/ c
            MOV A,50H% f; ]1 u2 \! f/ D1 d1 O3 |3 o* i; S
    CJNE A,#10111101B,ADDVOL
. {( F0 g& z- M/ E- k+ Z9 L            JMP RETIINTR$ n6 F6 M3 }6 q# t7 @( n
ADDVOL:     CJNE A,#00000001B,NO14 [. X& I# U- z- w' u& a0 K3 i8 t% h4 F
            MOV A,#00000011B/ q5 X1 M& E7 e2 X7 G& [! H  o; S
    MOV 50H,A
1 X; T% t  S; S) x    CALL SENDCS
( ^1 q* y& X3 ^    JMP RETIINTR
* G6 r$ a: i# Y( j; V% KNO1:        INC A: E# @3 P7 S, e2 L, j
            INC A
9 u) p2 I; ^. P        INC A
  j3 Y/ Q5 a* ?- H. i3 g# C5 E    MOV 50H,A
6 ~0 o- _! G. T# D: T    CALL SENDCS1 l  g- u5 B8 _/ P* ]# U+ @" F& r
    JMP RETIINTR7 V1 u8 Q& g$ p# \: U7 l0 ^
DEVOL:      MOV A,50H
+ @8 U/ ?& X- @! ]- a1 k            CJNE A,#00000001B,DECRVOL
7 c$ f1 X  u) o& k! h    JMP RETIINTR
& [: E# v. P. ZDECRVOL:    CJNE A,#00000011B,NO3, v( b$ _8 P% E8 z5 v# B2 _
            MOV A,#00000001B
5 U6 N( X3 w5 R+ j    MOV 50H,A
' M& B6 y6 m- n0 {& M2 U) B    CALL SENDCS/ v; Y1 y% s3 Z
    JMP RETIINTR
9 T4 [# D) @; |- `9 }7 k) h8 bNO3:        DEC A
7 q5 H, j! h0 }3 c7 d& C+ e2 j            DEC A
1 f: q" n) g7 o9 [" w1 x            DEC A
" [- M" H0 V7 j    MOV 50H,A: f+ w+ c, w* M9 W$ f5 Y) Y/ E( j
    CALL SENDCS- f: W% M4 N" E
RETIINTR: SETB P3.7% A' W! S3 m& @& U
           CLR P1.0
4 b) H# y+ o4 Y0 j4 k           MOV R1,#3. d* t  T; r6 P# P/ ^: g1 q9 a3 y
     MOV R2,#3
# q- Q% Z$ }) l) ?7 s6 x           MOV TH0,#00H
+ o6 j) w/ L# p. Z           MOV TL0,#00H
4 w* g& s8 w( O9 A$ M6 J" O7 N; Q           SETB TR0! C# W: p+ R# I: E
    RETI. Y: ?9 {( Y* I" x1 r
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM2 D- A0 l4 o/ ~* F( R3 k' F/ W" f5 ~
             CALL STARTIIC) {  e8 w7 [2 _8 c! D
             CALL SENDIIC# a3 _: Q8 y, i) w7 f& Z
             SETB SCL
1 S7 T# [0 Q) Q  h# q2 A/ `2 r             MOV C,SDA
" j1 M; r% J1 Y- H             JC WRITEIIC
2 p6 n+ [6 t  p( s* |8 o# A; P             CLR SCL
5 b9 ~5 L* t2 A# H8 i% g5 U             MOV A,#11000000B           ;存在11000000B单元
4 p2 X4 `4 h) V             CALL SENDIIC
9 w8 x" H) j6 f6 z- x             SETB SCL
* A! e( S5 d7 w             MOV C,SDA
2 T' \& Z- c# l) L1 k# ^+ Y. p             JC WRITEIIC* `0 Y, |( z4 [
             CLR SCL$ J. Y( X) y5 D% u
             MOV A,50H$ s# L1 n3 j; D( P
             CALL SENDIIC
" p9 N) j7 z% P( g5 p. f$ l             SETB SCL
6 G' O0 L3 n; y4 d, I0 X             MOV C,SDA4 p) N; Y7 c% N  e/ B
             JC WRITEIIC* C# ~; F! x, Z7 @# \# r" b
     CLR SCL
( v4 y* v# y! q     CALL ENDIIC
& y- b7 x% o4 K0 m             RET
" R; u2 D: J" `7 n: I1 B) e# QREADIIC:     MOV A,#10100000B          ;读数据到A
' e7 g) ]% D2 V             CALL STARTIIC+ u; r) h' P* B$ F* G/ ^
     CALL SENDIIC
' v- P  q0 F, k2 f6 q5 U. a     SETB SCL. s8 _1 ]0 H3 o* R3 y& Y0 ]
     MOV C,SDA- S/ i7 @; Z" l; Z- s% g& h
     JC READIIC
) t% ?. X6 P9 L# `+ P- u* Q. @' L/ ^  s     CLR SCL
5 i) }! D" `% W* R3 G4 a# N* ^             MOV A,#11000000B           ;读11000000B单元
2 U+ i) W8 `4 [# o+ R& T- u* i             CALL SENDIIC
  M& E6 L5 g7 o) x  w& r# g             SETB SCL7 W+ c* A* Z) Y! ~. N
             MOV C,SDA9 Q$ C' ^3 J/ L
             JC READIIC1 Q% o# N3 z/ l  t# X0 O) C0 H- C
             CLR SCL
" K5 p  Y- |. \% r. V     CALL STARTIIC
  o7 D& q/ D( J6 V# W             MOV A,#10100001B
$ b$ u! q, c9 E             CALL SENDIIC
; T" Q4 K7 C4 @; {1 C' C) L     SETB SCL
0 ~) f$ ^+ ?/ j     MOV C,SDA
0 y9 l! J4 G' x4 Y/ ]/ X     JC READIIC
" ~# ~& p# y# v5 m# Y5 h     MOV R7,#8. P5 h& r: m% X4 F- D5 S! \
READIICBIT:  CLR SCL
/ ~& I0 V; y/ Y+ x# A     NOP0 W* ^) E5 ], }
             SETB SCL
3 ]$ Q5 p2 I  O% I! j     MOV C,SDA
7 F4 m( B. @7 n/ b& |             RLC A            
! g' S+ }) m. s$ K: B3 R     DJNZ R7,READIICBIT
0 E, E7 _- ~0 H  V             CLR SCL) x) P7 f: }& T5 ]
     NOP, q+ }- G; a1 |: ^6 A6 U. G7 ?8 H( r
     SETB SCL
% b+ d- k+ o3 K7 C     NOP" g# p, c# @. J* n
     CLR SCL* m& b) J. e( b; y5 }) F! A; D
     CALL ENDIIC( L0 X9 a  f* R( _
     RET, h. A: v0 \& _! a0 E5 U" ~2 e
STARTIIC:    SETB SDA
, d3 X) R- ^& `8 z5 I( \5 s             SETB SCL8 j) P. w8 D3 V5 }0 ~9 C8 b
             NOP
7 L3 C0 b# M/ M( v* \" }" U! p     CLR SDA8 }# A- W6 L& G/ e. f6 l- H
             NOP
' f( q0 P6 y5 w" x2 A5 ^             CLR SCL
6 P0 P: j  \9 [! K! y2 D& H             RET: K2 {& v7 A2 W' j4 m( {
ENDIIC:     CLR SDA
! K* G( q! M9 x/ x  O            NOP6 f0 g( N/ ]4 ^5 F( a$ [
            SETB SCL+ n. G- f5 F- G
            NOP
- \& {: U* d& k  J4 D& z4 d8 p            SETB SDA
; t7 d. \0 V; |& S+ _. F            RET
7 I8 C* q+ o7 j4 M* R5 B- m5 V! mSENDIIC:    MOV R7,#8            ;发送A的内容
( x/ x: ^% n' Z5 I0 Q7 Z) m& M; pLOOPIIC:    RLC A: @& Q4 v" H% C1 r& ]
            MOV SDA,C
. R4 _7 c! R$ y, Z+ M            SETB SCL
1 a$ W$ v! C- n5 ?            NOP
# j! n( m$ o& v6 v7 g# ]: o: |1 t            CLR SCL# e8 O+ @% d* l& O2 j
            DJNZ R7,LOOPIIC6 M4 G3 {% @! q6 x
    SETB SDA) w+ L$ O( P% v2 {: k
            RET
; G, O7 \/ x# w3 {2 k5 tRC :        MOV R0,#30H              ;遥控接收子程序
+ X$ \6 N' h6 O' }6 t, `; @: E            MOV R5,#97 J9 q, `5 x8 P$ A
L1:         MOV R6,#16
% F" t3 j7 ^( P            CALL DELLAY# M! @) [; n2 \4 T
            JB P1.1,OUT
" N7 [9 p, u& `6 ^: I# ^            DJNZ R5,L1
! t, I0 ^; |8 s0 d) l1 @2 M) t           JNB P1.1,$2 O3 Z( L* ^6 ?) v: w
            MOV R5,#57 m" y7 S; P( X
L2:         MOV R6,#15" c: B8 j9 m+ `( W; _( Z, y$ r
            CALL DELLAY# M1 G; h& O; n
            JNB P1.1,OUT% O, q1 i& Z" S2 q9 K. f  j' s
            DJNZ R5,L2
: G' k4 u/ I; A1 h+ d            MOV R6,#11
; E, q/ N3 V2 n  k+ r            CALL DELLAY            % Q$ G, K* M# }* j, v
            MOV R3,#8
8 K2 i: `( F( WREADBYTE:   MOV R4,#8
* V0 F" t) Q$ h+ KREADBIT:    JNB P1.1,$8 x# @$ {6 j2 n2 \% \
            MOV R6,#17' r- h8 u6 p9 R/ I
            CALL DELLAY
3 l$ r: t5 K8 m( G, i+ h1 R            MOV C,P1.1: f, u2 T6 v# K, \3 }. s
            JNC ZERO
" q6 T4 {$ Y( C" `            MOV R6,#229 z2 {2 L- @5 L, P1 |7 ?
            CALL DELLAY. [$ Z# s' [. M% X, N
ZERO:       RRC A
+ W- L" A2 e3 s- r7 r, l            DJNZ R4,READBIT
+ N! x! D5 d- s7 Z            MOV @R0,A: u: F& M. V2 P- a0 I: t2 n' v
            INC R0
3 P; k2 U" j0 Y) Z- R9 n            DJNZ R3,READBYTE) O3 t0 `$ L6 U9 L$ N, K1 r1 L
    MOV R6,50, X* z. W; ?$ }# v7 N" s; K
    CALL DELLAY 9 c" e5 s6 p$ I; q3 h! b
---------------------------------------------           8 ^" q3 ?7 h6 y# a: _3 [; @
---保密部分
. U, C9 w. P1 j# g5 J0 Z----------------------------------------------5 `; {4 _/ z( m" E
     RET6 b7 p5 B5 r1 O! y: o7 ~
        3 C3 t! {7 t% L! m+ }
DELLAY:     MOV R7,#25            + k/ I* i7 ?7 o6 G& a
            DJNZ R7,$
4 k& ^! }0 \: |            DJNZ R6,DELLAY5 p' n: k, t; P, a
            RET5 u5 Z$ Y* b  O& o1 F! J& O
SENDCS:      CLR P1.2           ;将A的内容发送到CS3310           
' h+ F0 n3 k8 Y% x4 ?             MOV R5,#16
* `+ k- g3 K  |LOOPCS:      MOV C,ACC.7$ }6 R" X# A- }/ L, x! Y; b% X& L
             MOV P1.3,C; r' |# e+ G- N7 Y
             NOP
/ S( Y* I$ a' {7 C5 k             SETB P1.4. f9 q6 q% S. N
             NOP
8 p; F! |' J! R* S& O5 T( w+ T* ~0 W             CLR P1.49 X  a( m$ s, o: @+ y) J) h
             RL A
, h4 B; J# M2 ?1 O0 N+ e. ^             DJNZ R5,LOOPCS
- Q, C$ h, @" ]8 J* I# W  d             CLR P1.3
8 [/ y3 t6 B4 y& N             SETB P1.2     ( _* `: C3 J8 O" }* O" ~& P& s
             RET
! R3 O4 Q! d9 ~) ?             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 | 只看该作者
感谢楼主的好方法5 R  ^# ?& [& l3 ^3 `
空即色 发表于 2010-1-16 07:49

1 @% ^% d0 N! v8 U0 Y2 p. b7 @5 H* x. i$ Q1 s2 d
& l! G4 W; D# b5 E% N0 `
    你用过了么?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2010-1-22 16:04 | 只看该作者
你用过了么?7 ?1 r1 g# C( M' t  m! N
mgldjp 发表于 2010-1-19 22:01
8 h# a+ s  O& B5 ^
' l5 V  H) p$ O3 h) {) N
# X( Y. M* G" [. }6 f3 g
    用过得都说好
回复 支持 反对

使用道具 举报

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 | 只看该作者
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。
/ ^, P& f$ n1 T7 ]: K9 I$ c1 J6 J9 Wmark821224 发表于 2010-1-26 10:19
! G/ x8 K" N  s" ?: P9 \
) a3 ]6 i* H. I( m- `$ ?5 V
- g5 m  G1 g' n' S. X0 T
    你的新鲜期可真够久的
回复 支持 反对

使用道具 举报

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

使用道具 举报

15#
发表于 2010-2-7 18:29 | 只看该作者
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了
2 F% J/ }5 R+ l6 V5 }6 Z; K) \" g) V5 ^: {- i/ |
楼主是女的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-16 00:17

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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