赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
' f" d+ F2 Y3 M! q& ?8 Fsfr P3M0 = 0xb2;
# i, z9 w( y; [4 Ysfr P3M1 = 0xb1;
8 v. u5 E' K+ [$ T2 hsbit keyb = P3^1 ; //10
, ^1 `$ Z5 A4 i7 jsbit keyC = P3^0; //10* {- z l1 _& D8 ]0 k
///sbit s_cass = P3^5; //10
" U1 t. G, `0 m" W. j7 q//sbit comm = P3^4; //10" P; S: `# e) M8 j! v% _
//unsigned char loaded;
+ ~3 D9 c) V& ?. vsbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起( O7 x/ e: h* r3 Z% ~$ W) N% [
void Delay50us() //@11.0592MHz! h" l- M4 w% \& q3 ?# N* f/ T" M
{+ N& M u: T( ^
unsigned char i, j;
6 o U+ x, `$ w/ j, E i = 1;; I; v/ m' a% H: Z* b
j = 134;
3 H2 ]+ n) q3 D: v& O do# P& W5 X4 H9 i. E
{
9 N, \# d: U( R0 D while (--j);; a5 H1 F9 p# L6 J
} while (--i);, k& L C8 o- u+ z* y* b: ^/ v: G
}
, I1 W% o" }/ X9 h1 g
. B: W$ a+ j+ o5 W. r3 nvoid main(void) B) [. S% P; @3 F! r7 v
{. M7 O9 N; R0 M) ~, ~- a" V
ctrl = 0;
) _) H& z r$ @( p! Q" y1 \ keyb =1;/ e- c3 E2 Z7 j* j% u* f) D! p) R
keyC =1;
6 P$ z' K, O' _+ v$ \// comm = 1;4 a ~7 n- X( u; Y! ~) A
// s_cass = 1 ;
. n+ C5 U s& C* s; T, s$ l while(1)
' W: z p8 B3 T: t' d$ v {
/ W! y. y4 R8 M7 f // if (comm==0 && s_cass==1) * {7 E) G6 \% s6 f
// {
( Y1 \) J% c! Z2 k8 q" @0 B1 Z // loaded = 0;
2 D2 y. e2 `9 v6 E5 r! A$ D // }
$ ?! r( }1 X% B( o$ G // if (comm==0 && s_cass==0)
X- G2 H# F3 G% j1 S& g/ g5 W u) h // {
1 R. H4 ^7 W8 S8 ~6 Y // loaded = 1;4 V5 W, [" l" a+ N% g
// }
" h1 c; N/ C0 U' L* m: F% U. ]) \0 b. P2 `, a8 Y m
if (keyb==0 && keyC==0 )
5 m* y5 I' F, z( F! s {
" `4 U. }- G0 D2 H9 M6 A } P3M1 = 0x37 ; //00110111
; B; m' [7 W) ]+ s) A6 u4 r P3M0 = 0x08 ; //000010005 x# F. {! A! c% l/ E+ C3 M
Delay50us();- b4 y/ d" s- J/ Z. M/ p
ctrl = 1;5 q: I* y7 ?% | Q4 |1 _
}- ?0 f8 E+ o6 l% k" f, i
5 o! }+ e* O- x: H1 T% C& V
if (keyb==0 && keyC==1 ) ) h; P/ b5 {1 y$ F4 ?
{( h; u4 g& Y" I6 ?+ a* M4 J
ctrl = 0;4 {- {$ [3 D1 E8 M3 E3 u
P3M1 = 0x3F ; //00111111( z2 B( m3 i) Y9 i, W
P3M0 = 0x00 ; //00000000
' X. w+ r. B: @' r- p3 S2 O/ _! [3 @ }8 I% j4 K0 X" J
}
7 a! Q$ @4 i/ C3 t2 ?}' ]' L5 |, [# E8 W
6 W- d A; x+ i# g8 i- V
% R7 d8 \- d! B& K
* `) N' G7 f+ _% O- f" R
& F1 b5 X9 K+ w0 i5 s+ y0 h6 \. ^
& w! @( N' B* B, A/ O+ I
% S" @% v/ U0 Y V8 w9 u: @- J
3 h* d6 v1 ?( a/ E! i, n
5 d5 M% s& w6 H9 R
( o% z) }+ c) W ?4 u5 G5 _! F% j, A, @) h
- Q$ B% n, U, s( B- x* V
$ t; C+ \" G; N: x' D* w
6 A% r% L1 o( }9 c, a
|