POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

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

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mgldjp 于 2010-1-19 22:02 编辑
, Y) i' T0 U& J& m, s# ]0 v4 G* d8 I
T200B关电源后开机不记忆音量,开机后总是一个很小的音量,用起来很不方便。我对t200b的音量控制电路软件、硬件进行了研究,修改了控制软件,实现了开机记忆音量功能。, L9 W( \7 X! B7 j9 ]9 p3 Q
首先说说我发现T200B软件的一些问题:
2 q, j6 w/ k! }  \% H1.开机不记忆上次关机音量,这是最大的问题。
! ^% H, |% |8 q/ @( T2.开机没有对音量调整芯片AT89C2051。CS3310规格书明确要求上电开机mute脚要拉低,以实现CS3310内部补偿校正,T200B软件没有做这个工作。8 Y0 I) J# a" u8 c) s) T
3.音量设置有偏差,也就是即使每次设置同样的音量,音量大小会有三四个dB的误差,这是我通过示波器观察单片机设置CS3310的波形时发现的,这是软件算法不准确造成的。不过听觉一般感觉不到。
* T$ M% e6 B0 y- d6 i& n" {' i4 D2 J4。禁音时音箱灯没有禁音警示。
* I1 m3 Y: K/ v/ i$ j. `9 X+ \- h* `" F
由T200B音量控制电路图可见,实现音量记忆其实是很容易实现的,因为电路中有24C02,24C02是个EEPROM,断电记忆数据的。可以把音量信息存在24C02中,开机时再读出来。AT89C2051是个阉割版的51单片机,用来控制CS3310,遥控解码,步进电位器控制等功能,软件也就在这个芯片里面。我修改了AT89C2051的软件,在以下方面进行了优化:
3 u$ _& U8 ]6 n. F& v! e1。记忆音量开机。开机时读取24C02中存储的上次关机音量数据,并按上次关机时的音量设置音箱。
! x$ L! D4 t0 B$ Q$ e: F* h: ]2.开机CS3310内部补偿校正,也就是使MUTE脚拉低2.5ms( c& i  D- B, P
3.改进音量控制算法,实现每次都精确控制。
/ j( G9 g. g. }. y4禁音时指示灯变为红色,提示为禁音状态。
  Z. i- b* b+ S. H7 T# y  V  T+ h5。渐进式启动,保护扬声器。由于记忆音量,可能开机音量会很大,所以开机时单片机控制CS3310音量渐增到记忆的音量,不是一步到位,这个过程为1S.如果记忆音量为63则以40音量启动。
$ B% O: d1 I( _2 T; Y/ N) l2 ?, C! J! S; Z" y( F
本修改不需要该硬件。附图为T200B中的AT89C2051照片,它是有插座的,可以随便拔下来,烧写新软件就可以了。如果要保留以前的软件,直接重新买一块AT89C2051烧写就可以了。要用回老软件就直接换回原来的AT89C2051。由于t200b上没有封条,拆了惠威也不知道,所以不影响质保。本人出售修改好的单片机芯片,qq150352134淘宝连接:7 S5 e" W2 P' y8 u7 W" |- w# [
http://item.taobao.com/auction/item_detail.jhtml?x_id=0db1&item_id=4e3e5a99867fa22202d510e2ead65442- T. v+ g6 w2 |8 y/ V

# D! s3 M5 j4 Z' }. X
+ o' ^5 C3 A. l. l# U6 C* P9 K' X9 J( U
; t3 B3 f% k7 A  I& @; I5 R

) d* r$ D8 p$ E8 L$ ?: `+ Z$ Z$ @; k- [. h& ~9 L
下面是汇编程序:  ) w' G4 t3 A4 h# ?4 }  i; ~0 k
SDA BIT P1.6$ `4 Y  w' c( e
          SCL BIT P1.7
9 I% Q8 [/ C8 O" [7 @          ORG 0000H
4 P4 k1 @$ N* x- K          JMP START
% F& B; S  u% y' ~: m. [    ORG 000BH
$ j; ^" H8 Z  m1 p* t2 N        JMP INTT0
' r7 C( T4 c2 G  X  
( _* |3 h2 Q2 h0 w. A            ORG 001BH" P& m' z8 j8 I! Q1 D( G0 C$ B/ u" J
            SETB P1.5, v5 @" r8 n4 c* Y4 q0 x" w
    JMP INTR, B2 k3 ~6 f/ X
START:      CLR P3.7
: [7 w1 Q' g( L- P8 q            CLR P1.4
& z# M9 P6 g% _+ |  ?" y8 s/ V            CLR P1.3
0 K9 U5 x1 G) }, v6 d+ C            MOV SP,#60H
6 p6 p* G) |0 p: d- z* I    CLR P1.5" f% z2 E% H: r5 r. g1 B& p
    MOV R6,#50
/ F4 m; z2 c2 Y$ B/ d    CALL DELLAY; W0 p+ [) Q! M2 t9 {+ u
            SETB P1.5$ l6 y, [& k+ k" n: ]0 w4 Z6 ]
    CALL READIIC
6 a9 _/ P) S! r2 t4 L    MOV 50H,A" v1 d8 H$ P3 J$ ?
    SUBB A,#189
2 h/ r; u7 Q/ R$ {    JC NORMAL * i9 ^, W; C0 ^* G6 j9 I# A  f  M
    MOV A,#1206 f% C, r+ f5 t$ C" \- B* Y
    MOV 50H,A8 n; c- ^1 l% s6 N7 T4 C$ S
NORMAL:  MOV A,50H' N7 a! K; z0 C5 d( O
-----------------------------------6 n  {, ^7 V' C, m$ c& ~4 V
渐进式启动软件,保密) ?4 M  B, _( w; ^. P& z( G7 \
-------------CALL SENDCS9 ]' G4 z' u8 x0 X& j
    MOV TMOD,#61H
  L- D( w* W% e# c( ?$ Y    MOV TH1,#0FFH
/ b2 G& V" _) v: a3 d    MOV TL1,#0FFH& @2 t! A$ `& S# l! {0 m7 E
    SETB ET1- W; {3 Q/ k/ X, r
    SETB ET0& `/ y" b+ v3 W3 K) c
    SETB EA
' C: T, ?4 o2 w: U, C    SETB TR1
8 a0 H: H+ L& L7 _) W* aL7:         JB P1.1,$/ S3 y, M" O4 P  L% U: y3 I
            CALL RC
# w! X1 l# |; m/ n# c9 u2 X& ^5 V    JZ L7( f6 O- n3 \5 x3 m
        MOV 50H,A
% W& M. n* v; Y1 A, ]4 r, l            CALL SENDCS
4 P# n6 h0 B( c! q           SETB P3.7
  Q& a. U- K" f& `0 T! Z; |. ]           CLR P1.0, x2 q+ X( i( W! M2 u' L2 V) T
           MOV R1,#3
$ P5 M. }  u* ?$ n/ q9 n3 ]     MOV R2,#3
5 {. E+ Y$ F- s# X6 @           MOV TH0,#00H
/ L$ h0 R1 t) D' d8 r! \5 j           MOV TL0,#00H
* v0 u9 Y: k$ ~. ], c           SETB TR0
8 y- _" J1 @* a: L     JMP L7
6 [$ f% E( _* Q8 X' e* ^9 |8 q/ d0 G' \1 s
INTT0:     DJNZ R1,GOON
4 d' c: `. Y) T" S           CPL P1.0; i% L* Y! |2 f4 s0 ]1 k7 ^
     MOV R1,#3
1 O# T- Q  O6 k3 Y1 u# @     DJNZ R2,GOON
# K* `6 e! `; h( y2 j- d     CLR TR01 u, R! T1 y/ t! P; q6 Z* e! S
            JNB P1.5,MU
& q' s- H) O! M+ _    CLR P3.7
; }3 X0 M- ?: k( S( u' Q    SETB P1.04 W' g# C7 s0 T5 t; E
    PUSH ACC
1 X) ~% `2 i" I2 f( Q$ D! X    MOV A,50H
/ z' ?6 _; _0 V6 j. u4 ?4 m            CALL WRITEIIC- J8 Q1 r6 `) y0 ~% R3 p! H+ j
    POP ACC9 O& z( l, J- _" t- I. a3 b7 o
    RETI: d, ]" X$ d+ [, o/ D3 v5 b
MU:         CLR P1.0     ;MUTE红灯亮
$ X# D6 ?3 K$ R+ R1 i    SETB P3.7! x( ~  b, [5 V: W+ w
    PUSH ACC2 I0 z( T1 F0 b; h, c+ j  b) C
            MOV A,50H
0 ~* A, k* b+ s+ M            CALL WRITEIIC
  z- l/ `9 h! n4 Y7 \0 P    POP ACC) n' V' y/ {7 O7 z" p7 ]6 b/ n$ K
GOON:   RETI, t& |  b; S  A1 C
      : @4 l: p. N. C/ l: t- A; ]
INTR:   JB P3.4,DEVOL
$ T7 r2 m' `+ g& O% E) {  v            MOV A,50H
0 Z0 a( h- ]4 F8 B! {  b    CJNE A,#10111101B,ADDVOL( s$ y/ @: I: P. @6 k; v( K
            JMP RETIINTR5 i: J, \! ~* t& V* E
ADDVOL:     CJNE A,#00000001B,NO1
& w# ]! l3 F6 D            MOV A,#00000011B
8 }. X$ x; J/ Y6 N3 U    MOV 50H,A' M1 Y) D( ^) N6 _+ k+ z# `
    CALL SENDCS
1 t0 h- a4 {; Z4 M    JMP RETIINTR
% A4 g* ]+ K) U7 p! B2 TNO1:        INC A# Y& D; ?! a1 T) d! A
            INC A
/ s9 }5 J% P3 T        INC A
; Z! N" @/ s: p; E    MOV 50H,A) e, z% o# s4 J$ {
    CALL SENDCS6 B! T" r( f" h+ t6 F! r. D
    JMP RETIINTR
  I9 x1 U; i5 [5 e# TDEVOL:      MOV A,50H( \9 O" S9 C( e" m# A6 w
            CJNE A,#00000001B,DECRVOL; D1 M( V1 O7 k4 B8 G& H  Z
    JMP RETIINTR3 s* ?" f. l% e, ~' V$ ^; h
DECRVOL:    CJNE A,#00000011B,NO3
7 x  J. {' E/ L1 j4 K$ F            MOV A,#00000001B% G0 l1 a; m: }: Q  u
    MOV 50H,A
5 q" E! `/ i% K7 M    CALL SENDCS7 \' ^' f5 F  e3 ?
    JMP RETIINTR $ P8 ], T  H, a6 q  E1 p) p
NO3:        DEC A& d& L0 c5 L, P2 Q
            DEC A
! J! O+ \% K3 t! a            DEC A" n9 h% M% k1 f8 Y
    MOV 50H,A( o# {! z$ ~# W5 V* q
    CALL SENDCS4 m) s! k' S# ~' q! T8 C
RETIINTR: SETB P3.7- s* i. E; c( G2 _& f- ~- f
           CLR P1.0
, Q! G! M& U% {$ W) P% p' j           MOV R1,#3
. J3 u! f# ^1 A2 X' d     MOV R2,#3
2 Z  {) r0 Y5 h, T           MOV TH0,#00H
& G" a- p' m8 N9 x2 V           MOV TL0,#00H. I' @( n4 v& A7 ?
           SETB TR0
) @! N6 |7 R. ~. E; @    RETI2 N  f) O, i, x8 w7 h
WRITEIIC:    MOV A,#10100000B           ;将50H单元的数据存EEPROM6 {$ O( I4 o! J* K
             CALL STARTIIC
: D$ j. U6 m6 c/ F" d             CALL SENDIIC
9 ]) r& F- u9 |9 {             SETB SCL
; f; G1 x* a  g* I  R" M             MOV C,SDA
$ p7 _0 m, K# T( m7 q+ b4 X6 W             JC WRITEIIC* }/ G+ {; u$ X1 l( ]
             CLR SCL: z* w4 R+ ~- i, {8 ]# g8 X% c
             MOV A,#11000000B           ;存在11000000B单元5 g  L5 Y, H  C% m9 J; ?, y
             CALL SENDIIC
; b0 s- B. `: e( }3 E             SETB SCL; n. B1 z" g) N
             MOV C,SDA
8 o- u0 M( W9 c* b+ S) y             JC WRITEIIC
6 f2 ], O: h( |8 Y+ G. C             CLR SCL3 |: F: x( E  Y7 c8 |& m3 J5 R
             MOV A,50H, x8 D0 S6 F, R
             CALL SENDIIC
+ C2 |/ k+ d( ^0 ~* g             SETB SCL
' x$ ?& T: [- L             MOV C,SDA
" N5 I4 f8 V4 Y# @7 }* O) P             JC WRITEIIC
- I. P& V5 g% B  K2 s     CLR SCL8 f' T. j6 A# \; y! b
     CALL ENDIIC  K) {( x  d6 w7 j3 t" G4 n( ~/ l
             RET
1 z" G& ?) [1 JREADIIC:     MOV A,#10100000B          ;读数据到A  G1 E# g" X4 o- t1 b% X
             CALL STARTIIC
% K# q+ J: }9 k8 ?/ p( g2 U) l     CALL SENDIIC
$ p2 [6 l3 x* M% B/ N& `: L8 B" Q1 m     SETB SCL) w& ~3 Q) M" X: v+ }
     MOV C,SDA
2 U. H. Q# h9 v     JC READIIC
. T1 \) R+ ~; @8 [0 r" S     CLR SCL. R) d7 M6 n+ G( `
             MOV A,#11000000B           ;读11000000B单元$ T' {9 Z& A; i+ J: S  D
             CALL SENDIIC
/ G; w# }" W" A3 R" \! `1 s             SETB SCL
% {& m* C7 J7 ^6 r! f+ ^$ a5 c1 f3 O             MOV C,SDA
! A0 ?) n' p7 N* t- j6 e+ a6 Q             JC READIIC
. r5 \9 X$ _# F2 W& C             CLR SCL
) f* F) m; a9 P" r  v$ v& L     CALL STARTIIC8 e# j' {# B! f3 I
             MOV A,#10100001B
4 T) {+ |& C( j0 X! W             CALL SENDIIC) V* c# W) [" n3 F
     SETB SCL
7 @% M0 i( ^( m$ u3 [     MOV C,SDA4 d- h0 p# P1 x9 M4 ~0 t1 C
     JC READIIC
) K6 \- D, U0 J     MOV R7,#89 n* C, {* ^- A4 x* N& t. f
READIICBIT:  CLR SCL" r5 k  }8 r) E% g, J0 ^3 [# W
     NOP
0 @( t$ j; {& R& u% V             SETB SCL
% d4 A3 t, {8 I. Z4 v  I/ q     MOV C,SDA
2 t! w: M4 c- [* Y             RLC A            7 D& U" \  v+ q8 ~" W4 x% H
     DJNZ R7,READIICBIT
2 a, _$ S' I& ]+ ?" C8 k6 V             CLR SCL
% W8 V! l4 C7 S% R( g" G     NOP  P3 d! K. c  i4 A' P7 t) e
     SETB SCL
$ V& b2 t+ p/ [+ `     NOP
3 E7 m* E) R9 t+ x" ~     CLR SCL
4 Q- s* w( v- N% v: ?( m+ G     CALL ENDIIC
# J9 R: V+ P# c' |) v( P6 O$ D     RET5 J1 J9 ?/ x2 b3 N8 h3 e# J+ l
STARTIIC:    SETB SDA- P7 F& Z- e% l6 }; ?
             SETB SCL
; g. e! X2 p% Q" \9 g2 C; x* ^             NOP
& V6 _$ `  x0 w/ z% p; N     CLR SDA
* S/ R( _2 E3 ?% L) |+ i' V, f             NOP
& N( N0 ], L$ R# S8 o             CLR SCL) w& T& F  r1 Z  G9 Y$ _9 ]5 a
             RET/ H& _; _! C: \! R7 V
ENDIIC:     CLR SDA& h, n, _% j+ [0 Q# |; h
            NOP$ ?1 T% o8 E  D. \& W6 p7 |
            SETB SCL
; _# `. k. b4 n; N3 }            NOP+ d1 y4 m0 n4 ^4 P8 o+ W+ s
            SETB SDA
% b' I) Q& n  \1 V            RET
5 e' ~( }0 U  p5 Z( E/ |SENDIIC:    MOV R7,#8            ;发送A的内容8 A" f6 e& {2 I2 L3 b" G5 D+ w" i
LOOPIIC:    RLC A
) `: f. R4 O) `8 o% G. t  C            MOV SDA,C
, p6 f0 p" E9 T) q2 }) J/ g* p            SETB SCL' B& v5 u# ?" a' @
            NOP
! B. ^: F6 z. B+ A2 T( F) V            CLR SCL/ w, A$ h) C6 Q. r6 R
            DJNZ R7,LOOPIIC
& s6 \+ C7 f; F7 w    SETB SDA
) s; x% M# I6 ^2 k            RET
& w+ O6 @/ x( mRC :        MOV R0,#30H              ;遥控接收子程序/ w8 P" S% y6 K8 b  R
            MOV R5,#9/ O  K9 S, T+ o1 v/ `
L1:         MOV R6,#16
/ }$ I) M) k+ \* i            CALL DELLAY; R% h3 w# h* D; J9 a* }
            JB P1.1,OUT0 p; C' S6 e/ T2 x8 ]. N9 v9 x7 R
            DJNZ R5,L1 # x( Y( ^% \, q3 b! G
           JNB P1.1,$# ~" _7 I7 g6 f4 R
            MOV R5,#55 y5 r! t0 u, c1 m' w
L2:         MOV R6,#15
1 o' p: j. C$ T5 O  H  j5 \            CALL DELLAY
; r: z! n* r, k$ J; O            JNB P1.1,OUT
6 ]) G! @. U0 ^" b6 Q            DJNZ R5,L2
# w1 ^( ^! V, y            MOV R6,#11$ y- x5 Z+ k/ H9 F+ Y1 y3 v5 G
            CALL DELLAY            
- J. i' i3 ~. x1 k& C            MOV R3,#8
( }- s/ `3 c9 L# rREADBYTE:   MOV R4,#89 F4 U& b3 w( N& _% }! m
READBIT:    JNB P1.1,$4 }0 a: V7 Q* \) p9 ]$ A
            MOV R6,#17% W# v6 N; K2 n+ h9 I
            CALL DELLAY
* ?8 o+ G6 i; {! ^  ^3 j" B+ e2 X* ?            MOV C,P1.1
% ^$ J3 ~0 a* n% R+ i' ~  w            JNC ZERO2 B; W# F4 L/ Q5 I7 O# _
            MOV R6,#224 k8 o7 ?7 b: q. y! a- j$ Q2 ]
            CALL DELLAY2 s- x5 p4 U+ _) z$ X
ZERO:       RRC A
6 p* `4 s! u* ?9 O/ [            DJNZ R4,READBIT0 m3 X- H" E- P/ z  O1 N/ I
            MOV @R0,A
2 C% q( U  X' ?9 \            INC R0; Q$ p" [* ]" p) s
            DJNZ R3,READBYTE
! H+ m$ g3 ~7 D9 B& k; t    MOV R6,50
0 |5 |. p% W0 i: A3 y4 i) E2 z    CALL DELLAY
" j8 p4 r+ Q$ N: v% H6 I---------------------------------------------           0 g1 Z1 Z9 F: p9 h6 C; d
---保密部分* k+ b- e( q% r0 \7 z
----------------------------------------------
: Y4 |9 P0 p3 a9 u     RET
+ z# W- {- U+ z- B8 W        
5 @7 L  \4 U6 L& f4 aDELLAY:     MOV R7,#25            . W. X  D, L6 v7 ?) p! r) W' y
            DJNZ R7,$0 T7 D9 L8 {6 `2 z5 N) q% N
            DJNZ R6,DELLAY
4 X: f. L; n9 Y# P            RET
5 `2 f% p# m0 I7 R0 QSENDCS:      CLR P1.2           ;将A的内容发送到CS3310           4 I; p# u2 J. d# o; z" f6 }
             MOV R5,#16
# |  P  w3 u* D# L- iLOOPCS:      MOV C,ACC.7
. M- X5 G5 u. z& O% C             MOV P1.3,C
+ U& L* V2 t) P7 e             NOP
5 z9 ]+ u; d5 G6 p: C% {0 t8 L             SETB P1.4
0 L5 H1 F4 x) T) ^5 |. ~             NOP* Q# H/ C: P6 ?$ Z6 K& D# q
             CLR P1.4
- D- F* d: t1 F% X( T             RL A0 L  y9 C/ h. q  d1 n$ C
             DJNZ R5,LOOPCS
' l! a' r! x3 Z3 F& {7 {             CLR P1.3  O5 G: z; N  z; {# q; K  Q0 v. v
             SETB P1.2     
, _( d( `- ^8 e' U& e6 w5 p             RET5 I5 l5 @% q: \; q/ i1 U/ }
             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 | 只看该作者
感谢楼主的好方法% K: s4 A. M5 J
空即色 发表于 2010-1-16 07:49
  b% `# G, w- X" ]+ w0 T
/ J1 [+ Q. }0 j  n$ [9 ^) P

* X& J- I! v6 m8 h    你用过了么?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2010-1-22 16:04 | 只看该作者
你用过了么?
6 {4 G: ]  t) V  |- h7 Emgldjp 发表于 2010-1-19 22:01
4 B4 p. `7 ~3 T! \, B8 U- \
' t7 [& v9 S& q7 ~

: ]7 v% j& {) q1 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 | 只看该作者
哥们太牛逼了,呵呵,我新买的箱子,等过了新鲜期再买一对改改,呵呵。收藏之。
& y9 y. p/ E- w. ?5 C( Kmark821224 发表于 2010-1-26 10:19
: e: t. \$ }4 D8 u* R4 g9 ^. W) T
" e1 X9 s5 O+ @; ~! `, G  r. r: }3 f
2 I/ S1 s5 W6 @' {& i
    你的新鲜期可真够久的
回复 支持 反对

使用道具 举报

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

使用道具 举报

15#
发表于 2010-2-7 18:29 | 只看该作者
呵呵,我入了,没有问题,不用每次都拿出遥控器来遥控了
; N1 u3 X) C5 h0 U8 }
, v) n1 E" a: c; x楼主是女的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 02:51

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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