赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
9 t5 U) q$ [% u% c/ o3 psfr P3M0 = 0xb2;
- S% T% \6 v/ rsfr P3M1 = 0xb1;' X! J( K7 U+ S4 D' r
sbit keyb = P3^1 ; //10
- d9 a4 R0 P, k) _6 Rsbit keyC = P3^0; //10
3 q+ }9 }3 }% w0 \) f///sbit s_cass = P3^5; //103 [1 {. E3 [$ a" K$ Y
//sbit comm = P3^4; //106 Q2 \. U$ O8 L; I2 D
//unsigned char loaded; : f/ A! \. j& }5 f) h0 ]% ?8 \8 E
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起 D) y7 ?" n+ e
void Delay50us() //@11.0592MHz
, T$ o0 r) l2 n% C{
! l% ^% t4 `. x2 j' O unsigned char i, j;
! n V1 ]. k. m% O: \ i = 1;" m9 v. \% _: T6 n
j = 134;
% s9 K1 S1 @, U; |5 G; o, l do H% ]0 ?6 U* |' F+ M! G+ ^- b* m
{
! D+ n, {" i3 g9 N9 {) z: G8 l while (--j);9 |2 i! N% }+ L+ [
} while (--i);
5 b1 T2 {9 e3 w% _! N) Z}8 Q, V+ b% Q' A2 X1 N* d
, \9 A7 s }* v \. p5 ]void main(void)- j7 H) C) M: L4 u
{, J7 N$ L) b* M/ k' l
ctrl = 0;
& c: `* @& {0 T) K9 q; b( L" u2 T9 l keyb =1;
$ G9 a+ f& p, C: R1 h) x& Q keyC =1;; L# O' C+ Z) P% X
// comm = 1;; m. b# N% P: u
// s_cass = 1 ; X9 k* U, Q9 g
while(1)$ M! ` w }+ ~' }" b
{9 u7 H& Q& u* \8 s+ ^6 w s
// if (comm==0 && s_cass==1) F* [, S( F6 `7 n/ ]5 |
// {; v$ E, p; J! {3 V' |
// loaded = 0;
4 b0 @. T$ ~1 ]% n/ }# ?/ P // }
! B( l6 w" T* w! @ // if (comm==0 && s_cass==0)
4 C$ @" X7 _! s // {
$ D% V5 O4 j) F! h0 b: a' c5 N // loaded = 1;
' p1 P) F# B( A6 @+ ~+ o: G; ? // } , |: k, D# E/ x n* p
" {) M0 D6 z7 ~7 E+ \* R: p" U if (keyb==0 && keyC==0 )
N3 m$ c$ U- e3 R5 j* ~3 v: a/ f {* u' W- h; o9 o7 U2 R! n b
P3M1 = 0x37 ; //00110111
& h3 u' B+ l% t: @: I! e P3M0 = 0x08 ; //00001000
+ L" g6 l: x- p1 H Delay50us();
/ c, U0 T, D8 ^( N# W8 _/ x ctrl = 1; O0 b( F6 {$ v9 H3 x8 h# n
}% J! P( M1 o* W. Q7 ~: |
z3 h$ x9 J) M if (keyb==0 && keyC==1 ) 8 X6 p& ]( J, F! Y. f3 R
{
8 X8 `* i6 ^% i7 O \8 e* R3 D ctrl = 0;3 e& c0 Y: D! Z+ L) Q
P3M1 = 0x3F ; //00111111
% O% {9 F# x% U _" m6 W' N1 D, m; M( X P3M0 = 0x00 ; //00000000
5 } J* ]+ p! k# [4 ?6 T( t) I1 ~ }- G+ q: Q4 e; f* \0 f1 y
}
8 n' r' D: g( Q}
3 @+ M2 a% q W/ D1 E6 X* @
b6 }. j) d6 F4 x) @& ?8 R
0 r" j8 B1 J) [& b( B. O* l. k
/ _2 n% @( S. y1 Z4 q
# @4 m, `" ?0 s! B- N& L; Q' J
* t3 d& s' i% E% }8 Z% ]- c
7 X( o6 \! {9 o# P4 `. m
V9 Z. }% Q# u! [
3 m0 I( y+ ~& Y3 ?! x; o; ?
& s5 x; I/ _9 J R
% c$ c A+ ^3 P0 [( d/ R1 D: ^ }1 u' g0 a" a8 v- C
6 v7 ~! F$ A5 R4 g
5 R. V3 G8 m# i( u1 ^5 x r- u9 @5 P5 ^ |