赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>9 |2 J7 D5 ^' d1 i# \
sfr P3M0 = 0xb2;
- P' m9 R9 X+ n0 O1 o9 @" Ysfr P3M1 = 0xb1;! |+ C/ P* n7 D" C
sbit keyb = P3^1 ; //104 T( M& z) c+ o; U' h8 X: B
sbit keyC = P3^0; //10
: n) b/ o7 @+ S///sbit s_cass = P3^5; //10/ w. S, e3 P4 M+ I
//sbit comm = P3^4; //107 k3 j3 ^8 U) Q( `
//unsigned char loaded; / W4 n5 y+ I1 E: a
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
; G% G8 y# f$ h5 f+ ~! nvoid Delay50us() //@11.0592MHz( t" L/ P' X' a& q% @( X
{$ ?7 L' a% o9 U/ w! W+ s! X0 t
unsigned char i, j;
, \: k' H7 L$ ]: [ i = 1;2 B2 Y; [4 d' w! Q$ X( u" N
j = 134;
2 e) z2 [3 j6 n3 T. d" ~ do
% q& Z ^0 J c. ~ Y4 e {5 }. I c: W2 _2 u
while (--j);
- {1 u: ~# t; h* c6 M5 \; U } while (--i);
! M7 ?, B: o/ l4 u4 k}
" R% n+ ^8 G8 Q
( o3 U+ e7 H4 h& X. i( u* m5 r1 Pvoid main(void)- b# t6 Q0 q5 Z8 D' Q" [" e# c
{
6 C4 _8 _4 \% x, \' Y: V ctrl = 0;$ Y; q5 ]+ @* ~0 Z/ ~/ S1 h6 P
keyb =1;' P# \6 ^* U( `+ ~3 K
keyC =1;. h `4 S% U9 n( R
// comm = 1;
: w5 T) R8 j0 G4 Y$ s2 K" |// s_cass = 1 ;
1 ]8 K" o2 K) @ Q- n$ w3 O while(1)
j: N0 Q7 i) y( f/ L: U {
7 w$ C/ D, H5 T. }) L // if (comm==0 && s_cass==1)
& ]4 T2 W* Q7 S; @ // {
: H6 y) C- h) G% s5 f1 F- u% m // loaded = 0;+ k& Z# P5 T6 N5 o0 O! ?1 b/ W- A
// }
8 ?" r) \, V2 c // if (comm==0 && s_cass==0) d& G4 q: u, e
// {
2 [/ V+ P! a& I // loaded = 1;
# V, A- U8 u& F: W // } 9 W X. r1 F: ]+ V7 Z% ?
7 D$ Z" `. W. E7 a if (keyb==0 && keyC==0 ) 7 H+ ~( L' p5 T+ S; V1 z/ x
{
; E. O' k* m% n+ T( s4 [" ?. Q! o P3M1 = 0x37 ; //001101110 e3 v) r- d" n' I( ]. M
P3M0 = 0x08 ; //000010002 x; f1 a" f/ Y: f# Z! F, k; w* l
Delay50us();' I+ R1 J) g' F! E
ctrl = 1;
4 N& A4 k3 D/ C. Y }
: y k* i2 j% I9 s" x' k
# N% H: g+ y0 \' _/ u if (keyb==0 && keyC==1 ) 5 s/ T& u# M5 v1 |% D/ F* r) i
{7 u! e+ a- R% R" k+ B
ctrl = 0;
0 {/ w" x$ \# E( U4 S P3M1 = 0x3F ; //00111111
5 u5 r/ C9 q( z4 R+ Z0 g P3M0 = 0x00 ; //00000000" l+ h. e; z2 ^( _
}8 @) n- ]: t. U- Y6 {
}
, j3 n9 }- b; O$ ^8 T7 F8 {4 R}; K4 w p" T8 d# B
3 ]- M2 @) v/ z Z$ o2 C
2 f! b0 c7 _ f- ?) R. Z4 [5 r
3 q$ D( W' b; j1 |# }8 @- o
9 T5 o; b* n7 Q9 o+ c2 J7 d
) P8 y" @) p; F! a; g, g
' f& U* Q0 k8 b$ s
+ ]# h) A* I4 \' |, S/ z1 I
7 t; i7 _1 E, ?8 I; i
% h( M. {# v. b. R0 R' ~2 }* j
4 I) ]5 A: T U: r# W! A
* E6 `* ^ m" H) ~- s B( F8 e2 v
/ j5 R5 {& v7 Y$ N+ B% s" c% W+ ]$ D/ ]. D
|