赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
- }. i/ I3 V$ D' G0 Jsfr P3M0 = 0xb2;# B+ V5 t& b7 |$ ` R
sfr P3M1 = 0xb1;
2 J2 |2 a) i/ q1 X$ p, nsbit keyb = P3^1 ; //10
8 t* w8 ~; M* D- Usbit keyC = P3^0; //109 P1 Y* x9 v1 P% K D! o* ~5 y
///sbit s_cass = P3^5; //104 m' c1 |% T0 l, e
//sbit comm = P3^4; //10& c$ ~0 x8 h e3 W
//unsigned char loaded; 3 ~! R; g4 l( t! }
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
9 B* x$ B1 F) H( F6 n- {void Delay50us() //@11.0592MHz
: F, w6 m {& Y$ J{
l9 }- P" Q4 W# J& F unsigned char i, j;
% r6 u1 R' S* E i = 1;
]8 D d" q# P3 _) m% n j = 134;
7 v$ C% |# V9 v) O7 ^0 y: k5 y do
- U. Z) R, W5 b0 n2 l: t+ ` {% @7 d7 z# U& _) a& l7 S
while (--j);
: R3 V1 o5 p4 t( W- I } while (--i);6 ?! ~# p5 {7 Z+ |$ {
}" I8 b2 q5 F/ f' j
; n) c. r+ K% U4 Vvoid main(void)4 V( x, r% C& `& h1 J8 @
{; _* Z6 h% r+ K" c) h
ctrl = 0;8 C& P) i/ t. p ~. i* m" {
keyb =1;) T* o1 d8 O3 u$ H# a/ A
keyC =1;
0 H# n* t/ ^' _ @ h// comm = 1;. ?3 a8 P% @3 z. Z$ H& P
// s_cass = 1 ;
2 b* w: D; N {0 Y while(1)% `- y" c9 l/ n& @1 h
{. t+ V8 f- j K! N+ a" q+ L ?
// if (comm==0 && s_cass==1) 5 K% B( q* K, x# K
// {2 z9 W7 b4 ^% ]0 |( q' m1 x& N) G6 W
// loaded = 0;4 n- n/ a+ W, m H* Q I* ^: q
// }
! T. r/ ^$ h, D7 y! y+ e6 D // if (comm==0 && s_cass==0)
! q6 r' e/ T8 e+ N6 [! i // {
& |7 `" \3 H I }+ p( R // loaded = 1;6 Y3 @2 ?0 J& P# |+ S! }
// }
9 \5 I( J9 O, Z% c5 ^# Z% q
$ D) b$ R/ \3 X. S if (keyb==0 && keyC==0 ) b0 [& a( ^9 F7 v! ]
{
: ]1 y4 {8 a- @ P3M1 = 0x37 ; //00110111% ~; P& D0 h" H# i: R* t
P3M0 = 0x08 ; //00001000
2 Q4 Q9 t+ q0 W% } Delay50us();
3 y; ~. X1 V3 m ctrl = 1;1 O; i5 W" w! ~ V) G
}
1 Q. {0 F2 T O, K V8 f' i
' j; n* M: V8 L$ l if (keyb==0 && keyC==1 ) 9 ]' [6 n) @& \1 Z
{
7 S5 F5 m: H% m# L, M2 H9 P% k ctrl = 0;
( b/ r' }* c* S% G P3M1 = 0x3F ; //00111111$ F# _+ b$ M# ?- G. b
P3M0 = 0x00 ; //00000000
( ]7 b' w" {" G2 q9 C( B4 s8 y }; q5 R2 L7 X6 h
}8 K U& Z9 p' ^1 [( X( Q
}3 y* O2 ~/ r) T- F$ O1 C8 B
* e$ Y& W6 j$ j( V" J
: ^( I% E) B+ |2 o' e
0 c7 A+ [8 e" V0 h! x) f1 m
9 }$ C& o" O! L1 _ L; H5 k8 Y2 q) v
1 N. c' U `7 j# i1 j) b; X3 j
- {# _- `3 B# `9 A
7 ~* i+ `" b- b3 w) Z/ z+ U
9 c( F; _% N) E/ B, K+ f
0 C$ M8 [* k) Z. ^* w* x5 Z4 m" ? J
4 N, c9 c# L- N* y' \% Q3 v
# \" t m( i: `1 l% Y; k
1 q G: R* u) c |