赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
0 n$ J: _, B& v6 @6 U3 e7 _' msfr P3M0 = 0xb2;5 S9 D: W& g w
sfr P3M1 = 0xb1;
. ~3 k7 X2 z! `/ |: ssbit keyb = P3^1 ; //10# t1 T2 S- H: B9 _- Z! _
sbit keyC = P3^0; //10
2 e4 x7 I' H' Z3 n, I///sbit s_cass = P3^5; //10
( p9 ]8 i h' D- b//sbit comm = P3^4; //10. a7 v1 Y% h) `/ a
//unsigned char loaded; 7 E7 d# n3 i) G& N1 I* o
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
u1 E3 v! F. e7 ~void Delay50us() //@11.0592MHz# X# Z3 C* \ u
{
# J, s9 |" m. M5 y( \ unsigned char i, j;
. k2 l2 ?) M$ }; U/ E i = 1;5 D4 |6 G0 J. ?3 m! A% b: |( x
j = 134;4 p6 L6 N1 @" H' X( u
do' z" Z$ k/ M% G
{
1 d# D0 m7 y+ ~7 A0 k1 V while (--j);1 I' K3 D0 p" U, }) E: ?
} while (--i); \, R6 m' S5 @6 `3 [
}
1 }: `: a# M# }+ w( j/ j5 n0 V* C! ~
void main(void)& b" y1 X( k9 o0 U8 t5 O- G- A
{" Z' G# r1 l1 v U) S# t
ctrl = 0;- F+ A Q( A' B2 o+ l) J6 c
keyb =1;- m5 h* [+ I' }5 {5 X( J2 V- @
keyC =1;& o+ o" I9 f2 N% l$ `3 \: V
// comm = 1;
( {: [$ S: o" B5 d/ R// s_cass = 1 ; Q% y8 r$ \ {3 q6 t4 m* Q
while(1)# y2 P) U: o* Y1 T
{
* J% Y# I* M: S6 N // if (comm==0 && s_cass==1) 5 u) x" k1 L, J# V9 A
// {
8 [$ f' [, N% I* E: P // loaded = 0;
( }- |; _( @9 B3 X* V // }
( P5 V/ A& [ J! \/ v // if (comm==0 && s_cass==0)
. G6 R( W5 _1 {% q" p4 [ // {
3 P, l. b' V( y+ D9 h, P // loaded = 1;
- |* g. g3 u* A4 o9 C5 v1 l // } 6 `% A# K% ?4 \7 F9 J
2 N0 N0 x% P( [) Z. S, r5 x1 ` if (keyb==0 && keyC==0 )
+ U& h9 c4 s, O5 b {
5 y$ w; i& \' r- _; l0 Z P3M1 = 0x37 ; //00110111) u2 u: X3 d$ J3 G& W. D( S
P3M0 = 0x08 ; //00001000
/ G6 d% s7 C7 f- y2 O, C Delay50us();& X7 O+ q& @* M7 _' t) `# z
ctrl = 1;2 R9 S. z2 V, F/ B# }& r
}! [/ D% A; z& R9 ~5 ]
# R9 t; A/ Y: Q* ^+ b: O3 ^ if (keyb==0 && keyC==1 ) : K$ Q. l5 Q* S1 {* v% Y' Q" f
{3 o0 M0 ~7 s, Q8 v3 S
ctrl = 0;$ c) N1 i7 X H1 V
P3M1 = 0x3F ; //00111111" ^" W* k) }& b7 B7 x+ E D
P3M0 = 0x00 ; //00000000
( l a5 \% Q5 R; u. I }
' o# J, C: ], D+ B/ S }, s4 Z& u: e6 \
}0 O/ C: }) t( n5 ^% _
2 u3 m. ]' P* |$ m. U
+ j" o. O' U6 r2 D) d" P+ U: N$ U% E8 `
1 V9 E( d9 u; [4 i- Z* k* O
0 f6 C* q$ }' v3 S; z- `0 L
" p8 {& n. e9 y8 D: X1 E2 I
6 {7 c" \, W4 p0 I2 L
3 e3 s& `$ t a/ `% T- O/ J0 x
6 r# Q/ v, M( D* ~3 p& t
' _. B: D* @1 m! ?* S% l! g
% `9 A- n! q) c, X0 k
P0 B! q' V: q+ t E$ f4 t* X6 J" x: J3 f
7 _2 l$ k; P- s" J; d# }! _# @ |