赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>. T/ s( ^% x2 B7 k$ k. j- f5 Y
sfr P3M0 = 0xb2;1 J9 l9 p$ o9 @
sfr P3M1 = 0xb1;
, F9 j4 `/ P) ]- |sbit keyb = P3^1 ; //10
- D! C" r4 _3 q. C/ Hsbit keyC = P3^0; //10: ^9 m. D/ J7 l5 B) r3 f3 q
///sbit s_cass = P3^5; //101 v9 {# I' F* W
//sbit comm = P3^4; //103 q/ N ]( a* G- s/ `$ ~
//unsigned char loaded; 0 j0 ~9 O. P8 Z; o# R' O( i
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起) O$ f H! W% G3 @% |$ m
void Delay50us() //@11.0592MHz8 y& ~' l6 Y$ r; B U+ I
{/ p& J: l) h0 A+ N: E9 G- N
unsigned char i, j;: L3 g) z1 t8 }1 D/ e3 `2 a7 q
i = 1;
! | m! B3 w# S9 f5 k j = 134;
0 W: u4 j1 y8 V" q4 q& z; N R do
: P7 M4 K. U7 G+ l {' r) _- P/ H. i0 \9 A
while (--j);
" O6 f+ [* ]: R$ r( P' F } while (--i);4 r( y0 l4 e# L5 _- L0 o1 [4 \- @$ ~
}
+ W8 b0 q" U9 b& _) p" G6 S$ W9 R$ Y# N2 o/ q
void main(void)
1 U8 Q* V4 i b$ ~& p{9 F' {% P& {! Q* H
ctrl = 0;
7 ^- S% w+ y! _- `% W# s3 d keyb =1;# l5 q, H, V+ h4 w1 B" S1 n) G
keyC =1;0 O4 Y% V& e4 K' H; W" A
// comm = 1;% I* x% p. r- F! V, G1 H
// s_cass = 1 ;
1 a0 S& H% V5 l1 U while(1)
6 ~/ D3 a& J O8 w' y {5 Y+ J6 f3 e% P8 O( O+ W) V
// if (comm==0 && s_cass==1) 6 u) E( M. h6 _& v! w/ P/ ]4 K
// {2 w$ a; T2 o2 u0 t6 H7 x; t
// loaded = 0;7 W: j2 x$ y( p9 z4 c5 W
// }
* d: V/ V, F/ m // if (comm==0 && s_cass==0)
( k( z* s2 p: D) z6 w5 X) {' p // {+ I( D( C: ] b2 _1 {
// loaded = 1;
' D& B4 b- d. i1 c // } I( [4 N6 [; e8 F+ z/ V) u
9 P( { x2 j( G5 a3 |1 p if (keyb==0 && keyC==0 ) ( j! w9 Z; l0 W9 H
{
- p. |' b! q. `% u5 y P3M1 = 0x37 ; //001101112 {0 i& |0 B0 i1 ?# M* ?" V9 y$ W
P3M0 = 0x08 ; //00001000
0 }& J n# h0 ]' Z+ d0 c y8 K Delay50us();
+ W5 z& D' H x0 ^ ctrl = 1;
( a& t5 m- d, R7 c }9 @4 H( b1 n1 W3 t! k
& i# { i7 d9 o3 b ]: x! {2 x
if (keyb==0 && keyC==1 ) # x( {/ n3 ~. w. f M
{
' k% v) L7 V3 G0 g6 a0 N1 s ctrl = 0;
, l1 E4 K' q' M* |! t/ ~: g P3M1 = 0x3F ; //00111111
; J; m$ f- l1 y. ~ P3M0 = 0x00 ; //00000000
6 o+ \8 Q) a3 z& Q3 L }
% \% Y' C( S9 }" [( ? }
" f# v- L# M; J) C}
( L5 K6 ?3 ~7 |5 e6 |+ T! k T3 M9 Z9 [2 D
) Y7 @( I: e5 a) G9 s5 [
1 t7 S8 d: N: y* C: c
+ |9 K L. `2 q8 m' [' v
% O3 C1 R4 b. O1 p$ h+ T; o1 j
' H& C; _. P4 i5 [$ j G- ^, B
6 `6 t. g1 v4 x* l7 l
4 \# ?1 M- j/ E4 N6 Q
% C, C+ e8 U1 f5 @ I2 D. d; ~* G8 t
" ]- ~2 \/ \: B. @4 _. u% Y' f7 v8 _3 F+ x ~# b
2 {" Q: K& }3 e; o
9 Y3 _, Q' O' d0 O |