赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>2 s$ n" G( F2 }, ?7 ~1 L
sfr P3M0 = 0xb2;/ C8 j# h3 l6 R) L4 v
sfr P3M1 = 0xb1;, }; Z+ g4 d1 Z5 M# a
sbit keyb = P3^1 ; //10
9 P# e8 l. t! A, ]5 m- h4 @ N4 fsbit keyC = P3^0; //10, O: m) Q1 d' y
///sbit s_cass = P3^5; //10
. c! p! l# w6 [# l9 w8 o5 Q//sbit comm = P3^4; //10' r3 K# d; n; R" M4 i; S4 y
//unsigned char loaded;
, j/ m' x- N% R8 Z8 E+ |0 Ysbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起4 ^! j. V" f. {- l
void Delay50us() //@11.0592MHz# e/ a2 I! W: L: R
{0 f- `4 K( j% Y6 ?( o& j
unsigned char i, j;
8 O# n" d# q- Q y i = 1;
" Z+ }# g& X; W1 ]8 q0 s j = 134;
( J" Y9 N* b9 C G0 F do
% n8 E0 d! ?/ o' E$ u {1 _" y$ H7 ?. A ^, k0 z
while (--j);
) q! e9 ]6 k4 B( r } while (--i);/ ]$ T8 K, l; x7 d4 F( H
}
8 W8 C: a/ { n' ^0 T: Y) r* O- X/ F& v
void main(void)
4 J( |; u; F' z+ Y6 i{
+ j1 X# ?* z/ Q; Y$ H) e0 O4 L5 D" u ctrl = 0;* \% l: Y) K6 w l: F" _/ j9 {2 e
keyb =1;2 R, c8 [/ e) j! W5 @( `
keyC =1;6 O! w0 m* A3 F( G* P, P
// comm = 1;
2 C* }! Z' }$ c) X, ~* O// s_cass = 1 ;
8 N6 T/ u2 }2 v$ M/ ?& ~ while(1)
7 o2 e1 X4 m' d& ]8 K! P {
7 u/ m- s3 K& d // if (comm==0 && s_cass==1)
) W1 Y8 s6 z2 m8 {" r; } // {
. V' a) N( [$ \3 y+ o6 O; o) y/ T // loaded = 0;
. k5 M9 j8 Z8 Q, C4 \, f // } , b" a0 U" E, `. M; N
// if (comm==0 && s_cass==0)
7 C1 d- b o3 G. ]7 I7 y& u // {
# A+ {/ H! }* L8 `5 q% P! s3 _# ^" [ // loaded = 1;
% O {# f: {0 l // }
: B* A, T! ?8 }; |3 \, t
- p# _& Y0 t; u. Z# N* K if (keyb==0 && keyC==0 ) : |& m4 N+ R, I. \% G
{
1 n/ u- W$ g% t" L6 {1 d1 H P3M1 = 0x37 ; //00110111/ k$ ]5 a; z' p: F& L& d1 v; `; h
P3M0 = 0x08 ; //00001000
: ?+ g& t: N1 W% K9 x+ w7 A" @- q' _ Delay50us();
# r0 ^8 [, W* h- ?4 ]' z! v2 v ctrl = 1;8 ^- N; K* x2 F# S$ U1 V) p
}
- X6 {/ b5 r' |4 D, ^! s" x% r) S! `5 g" ?' v( P: I, w
if (keyb==0 && keyC==1 ) 7 O: Q1 N9 r4 k
{1 D" L+ l+ p$ H
ctrl = 0;
' T; M X' [2 `2 ~2 B) V& D P3M1 = 0x3F ; //00111111/ H" r# G: ^7 W0 T r
P3M0 = 0x00 ; //000000008 T. L$ p+ r9 C6 q7 J8 P
}8 ^, l ^ B- Y" H9 a# i
}
8 d0 ]9 \* {0 z}
0 D6 R o: `& y6 b" w$ z' N; F) {( @* p; v/ H7 e+ C: a; S4 _* F
' Q2 N' M! g$ I; n/ D; t, k2 N4 C
7 u+ [7 y6 D; p) N' V. j6 X
/ B1 {9 X* d- l$ B1 v
5 m( @+ \/ j5 ^* ~' Q
+ }$ K9 c& b' q& H& \4 P6 y: g5 g- Y! {% N# f C, d- [
h+ E+ d( B4 S( d
0 R% P! M7 Q: s$ r0 e
! t$ X. [, ~( p# [5 z3 a. A; G8 V r! F, w
4 r" T$ R1 h, K4 {7 I$ s
) q: u3 [% j- K: {' N6 { |