赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>/ X. ?9 Y9 w, p+ a6 U
sfr P3M0 = 0xb2;
1 t6 ?! ?6 d' Q) a' Bsfr P3M1 = 0xb1;7 d$ E; o0 w1 d3 O% u4 d
sbit keyb = P3^1 ; //10
. ` O* t- a( ?- B8 m& Ksbit keyC = P3^0; //10+ |. H) C6 S* g- K3 P0 W# M
///sbit s_cass = P3^5; //10
5 M" G3 o* _0 M V1 y9 [0 b3 Y3 _//sbit comm = P3^4; //10* u" _( c- a0 g! G* T, J
//unsigned char loaded; + ~$ _ c5 C4 N. H9 A5 D. _
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起+ H( U5 }9 Q1 l9 j
void Delay50us() //@11.0592MHz1 s+ |& u" F+ U+ h
{
6 Y: g" M: }* D; E9 M unsigned char i, j;
$ T5 C' C; P! B5 N) D2 v: R2 k i = 1;
q: I2 c5 a. W j = 134;7 ~9 Y0 O3 b9 {( a
do
% f% |$ R- {; U! { {8 L( J7 j3 ]) h* u, k8 T w6 L+ T
while (--j);
/ Q" W6 T: W6 b! C3 I7 b- i- X% U& A } while (--i);$ G; I! m) Y( J( v9 p( B0 V( q4 T
}
7 g; h7 ~3 |/ u% H) n+ u3 g7 ~0 o, j2 a* d6 v P4 N( h7 ]
void main(void). c K8 Z" ^* m3 F H9 D* _
{
7 B( X+ e6 {( U% J) P) p" | ctrl = 0;+ h" W1 s, O' S* L
keyb =1;
8 m2 v" [. }: a7 i0 i6 g keyC =1;
5 l" X/ F& z( a! b# z* M0 t// comm = 1;
4 M- O2 [! @, [+ M+ g, g// s_cass = 1 ; / k7 X# z* C8 j
while(1): ?3 F- y" a% A' P
{+ i2 V& n0 o, K- n
// if (comm==0 && s_cass==1)
0 v4 e7 P' p% D' v$ C // {
, z0 w! q" A9 o9 ^) b0 \/ V' O // loaded = 0;
! O4 [5 \2 @6 O# C. r0 p // }
: T4 _& B" \2 E$ S+ P1 i1 j // if (comm==0 && s_cass==0) . }' S2 B5 v4 a3 t* m
// {
. x% b& e; q, G, c // loaded = 1;
; x1 Y& z# q ?5 q; F' Y // }
! {! T: y7 t" B9 x; R$ N+ P% w2 Z! Q8 h' X3 U% H) @: ~ m+ S
if (keyb==0 && keyC==0 ) & k- P; T3 p e) s2 Y9 s
{
3 P( y4 J1 s' {+ [ P3M1 = 0x37 ; //00110111
" d" \+ G6 Y- h P3M0 = 0x08 ; //00001000! W. U, E* u4 j
Delay50us();2 B$ H2 P5 E- i$ R& d
ctrl = 1;
J z) }/ r/ }& m7 O }$ U X; x* n/ x) p9 z K* I4 q
% J; ~/ T) r7 m. T; S2 q- o if (keyb==0 && keyC==1 )
3 r+ M$ i6 n) U$ `: h1 Q/ K& e1 G" O {) j* j4 \; B2 G9 z, x( q; O
ctrl = 0;% F( l/ w' _# P; S
P3M1 = 0x3F ; //00111111
2 v5 c& J0 a- D1 x) U' g P3M0 = 0x00 ; //00000000
. J7 u+ A' ]+ q+ U }5 Q1 L8 ^; \, `) f
}0 ^5 J$ S3 Y6 i, P2 Z* A
}
, B1 \5 A, Y) W* f
, n p9 E4 h# o
& e* ?, F* q( H$ V+ X
9 ~+ j8 y8 s' A. q0 k9 t
. j8 h7 M. h' x
( h! ^4 B; S, e' ]& S) Q
) W; K4 g: S5 l' \5 S- L) ~4 T
; I! F- ^5 d4 p. `9 ?$ W0 p6 J
- P( A& ?% x2 k$ g+ N4 f$ ]9 d& H- H
. T+ l9 {% U( ^# V7 I# W
0 Q! _, r9 l- h8 F! ?* _0 o" r
$ x( M& |. k. ], X
) f) N3 y& r/ P4 J9 {* E |