赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
2 |6 t2 x7 b. T: Isfr P3M0 = 0xb2;
4 r: W1 R2 O9 M! |sfr P3M1 = 0xb1;! [1 L f3 ~+ d% ]# \! }
sbit keyb = P3^1 ; //10
; R6 T$ x+ t6 D) Msbit keyC = P3^0; //10
C& C; ?2 A) Z* y$ E///sbit s_cass = P3^5; //10$ s3 C/ c( \* r2 T' t2 m& I
//sbit comm = P3^4; //10
( B4 L {) D9 h+ e% M3 ]5 C% f* l//unsigned char loaded;
: G, i# J& d7 K( [sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起- y- T- x; p- `! `2 [0 N, S8 H. [
void Delay50us() //@11.0592MHz
5 U6 l( y# |3 X7 @{
9 Y' f! e: s1 v+ D unsigned char i, j;
3 ~, P4 x4 F5 z3 b i = 1;8 \8 f y' A6 B) k5 P, h
j = 134;8 i0 E2 ~4 W9 G1 T+ w
do4 _: D* [$ R' R$ {
{: e+ Y* _* w S
while (--j);
$ }$ q% a8 ~* T/ y4 p5 l4 B$ v, }2 Q } while (--i);8 z5 `" ` S7 b% H, i
}
* I+ C: ]- K- O. O% y$ C1 e" a
5 J# c- L6 O1 }7 ^) C5 `void main(void)
6 T: i3 u X @' z# E, D; F' [{
8 }: e' K; c& d ~8 g6 z/ u, Y9 I ctrl = 0;
' B4 c1 l2 p! E' ~8 W keyb =1;) D1 p. K% `* v
keyC =1;4 ]6 ]5 i. k& Z/ Y
// comm = 1;
: q V$ y, Q! A y. D8 k1 H. ?// s_cass = 1 ;
6 I% w3 Q/ p8 { while(1)
' L$ O8 n0 p* n3 g {
- d" P9 n' M( l1 U% a // if (comm==0 && s_cass==1)
; P6 z4 n1 P0 E, n7 ?: B8 ? // {
. Q6 j4 T0 ]0 O" R( } // loaded = 0;/ v! h# ^* y; I# f7 s4 I8 N
// }
% h3 g4 X! k! A% B+ @ // if (comm==0 && s_cass==0) . [# J+ {- H3 k6 h; ?+ q) f
// {( S8 J9 m8 M; h8 {- v5 a" a Q0 Y8 Z
// loaded = 1;; a6 ]2 r2 Z, ?1 |! t% p' r
// } , r5 V" `$ A G. \! S: W
- p2 B8 S; |4 ~
if (keyb==0 && keyC==0 ) - ]/ B- `9 Y( U( n! F# H8 x) M. T
{4 Y3 M9 p8 z4 T% ~
P3M1 = 0x37 ; //00110111
, t0 y; |0 J: E ?1 r* w0 L P3M0 = 0x08 ; //00001000/ v* k! h# k5 H1 \
Delay50us();
- H1 k- _4 s }8 m1 R/ | ctrl = 1;
, A) Z+ J# W, w+ ~6 C8 Q }! \7 f) ]2 J# F5 E$ q
1 z D m0 `0 Y+ w
if (keyb==0 && keyC==1 ) 9 n( c/ u. e( ]+ j# I5 q: j) K
{9 a; p4 y# b: Y; a) u
ctrl = 0;; ^' Z" V3 u2 i0 [
P3M1 = 0x3F ; //00111111
# F7 a) | V5 M" C. D) l& M P3M0 = 0x00 ; //00000000: o! j$ h }; D7 C
}
8 L p( f+ K+ E- ]9 f! A' D( m. `0 G }
% K" m5 Y! c3 i) W9 J}
; G* O# }! M1 r# F* N; L; P+ K& _: j: X! \; z2 I
9 v/ R. Y, X* B( ~. w% X
7 r/ r e2 r$ M6 c
$ n- @/ o# S5 }! y
5 U/ B# S ] f& b4 l
2 e+ ^5 z; n/ x K! d
u5 b$ l: W! t# l* A/ Q' ~/ C$ Q
l4 d- _' L- C/ y7 H4 `
: e% R. K- n2 {: z) g
8 E* F4 Z- I" J) V" J2 N
2 e" Y9 X* F% r- S' h, V9 m e" ?0 x2 G4 K. z
0 d& E8 F7 c* @3 k* B |