赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
G% y. c# I5 n6 ]sfr P3M0 = 0xb2;
9 v0 \9 u# E4 K; ^2 ^- E8 Tsfr P3M1 = 0xb1;
( I- Y2 @8 w0 R# j' z2 Y) S6 {9 n5 Msbit keyb = P3^1 ; //10! c9 l2 D5 A" g7 c% i/ H, b
sbit keyC = P3^0; //10# I |) I5 [0 }
///sbit s_cass = P3^5; //10
6 F% O; m. T! M//sbit comm = P3^4; //10
1 U0 b. j# C8 a7 j, Y1 N9 \//unsigned char loaded;
@1 l8 @% u$ ^$ I; _2 v/ b2 vsbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
8 {- @" H& {, F( P7 y. R2 s2 Uvoid Delay50us() //@11.0592MHz6 W2 T$ _0 t+ Y5 a+ C& k1 v) @
{7 R, N9 g! Y. F/ i0 X* l
unsigned char i, j;
$ N* d$ x% N) B- ], m, v% | i = 1;
& D9 O4 x' Y0 C$ ^ l j = 134;0 J' q: W0 G& v. x' I
do. o/ V5 R+ o5 k$ E2 d: _
{; [) x* Z: I2 G& C( s
while (--j);! K8 Q5 W3 n' _+ h2 j
} while (--i);+ @$ h& O4 P8 w K" _
}
$ y! I' t# } B8 N, H( p& v: W
# e% U+ [1 v& {* U' K; d0 B! kvoid main(void)
7 {9 B; t0 y" M9 `7 n: o{
) v$ z" T1 u, }7 U5 r6 p ctrl = 0;
, H1 o0 H$ U' X; ^5 F' O* n keyb =1;
" F K; l' O1 \* ^; Q# |0 ]: D keyC =1;; I) U* k+ S; J5 [1 {, _
// comm = 1;
' d# u0 v$ z4 s1 h0 ~// s_cass = 1 ;
9 \$ W4 T1 T& C1 B+ B while(1)
; S; w! p2 @4 |5 q {% s& ~4 M' w- d" o" |& ]7 r
// if (comm==0 && s_cass==1)
3 D* W1 D! j" w/ T // {2 w3 Y2 e7 s6 {# L
// loaded = 0;2 O9 a' `3 y0 a/ Z% S+ r+ w
// } 6 ?+ s5 v$ B6 `6 V6 |* c# k1 U$ ]" }* D
// if (comm==0 && s_cass==0)
7 a. Y: D! k/ {( d7 ~ // {
" c& p" @6 m- B // loaded = 1;2 U- [- O* B' a- \/ N! O
// } & C5 H, G0 _- J j: O# y6 o+ g
, D8 b( Z+ ]! S* J2 k& R
if (keyb==0 && keyC==0 ) 3 v' ^! `2 c5 z, H8 J! g3 e
{
% H) o) ^+ A9 ? P3M1 = 0x37 ; //00110111) b/ A1 ?. K4 q1 n6 R8 {, O: t5 h1 G
P3M0 = 0x08 ; //00001000
+ @1 X+ [+ s5 W8 I Delay50us();! _. V$ A, C5 ~# t' T7 C
ctrl = 1;
5 I" p/ M/ Q4 v! G z* F }
: ^9 ~% ~& t% q
7 E, w! f# M5 R! C5 E1 s2 S if (keyb==0 && keyC==1 )
& I- H' S8 c9 [% G" J8 Y {0 v8 h- l3 _5 P* W E5 q6 Z
ctrl = 0;
% g# @5 e" w R8 T P3M1 = 0x3F ; //00111111
! [ P) w' T( Q! v$ Q; _ P3M0 = 0x00 ; //00000000" j. |6 {% [" O7 V
}, e$ E2 j4 i. Z% l
}
9 Z+ {/ N$ S2 v$ }* S: k8 @) H2 D}9 Z& v2 u9 G% S9 y. y2 U. r: {
& ~1 I7 K! G* b" {" q6 [* m7 Y
6 d+ z9 }& S# N+ n) o8 ]* o- b3 C; \) {/ w. P9 G1 N
- J7 a9 k! R' U4 s& @: {" x+ C3 h' A# z. d7 f/ C7 A
$ S+ c3 G% O! O- ?2 x. g8 {
# w u' E5 D+ B1 S% n+ j
% f6 K/ O% Q* S2 u# n
- k3 F- ]3 E5 I5 y$ I, J$ A( W+ {6 n! b0 J% ?6 i
; R; y7 j2 l: @/ Z
# H' v7 B* i6 ? a: H$ z h, V
% C' v+ U' Y* K |