赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
; q, a1 |/ p$ f5 ^7 |# E$ fsfr P3M0 = 0xb2;4 J. A4 x- j# ?9 d4 P% u( L! c/ w, a5 G& C
sfr P3M1 = 0xb1;/ L: H7 |- P E: x' @7 W
sbit keyb = P3^1 ; //10" K) h8 N& F/ l2 B( I2 q! x1 L# W) `
sbit keyC = P3^0; //10
. p# \; W7 T4 ^4 l///sbit s_cass = P3^5; //10; {+ ~7 t6 d# q9 n2 @& P! {
//sbit comm = P3^4; //10" a5 f# [6 v/ N' Z: y; Q) |/ N
//unsigned char loaded; 1 q- x o j+ ?( N$ N( D
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
, {2 n7 _$ g/ U. O7 @ Ovoid Delay50us() //@11.0592MHz
' l/ |6 h, U- P1 `1 {{" \" j6 ]4 {3 U( ^$ X
unsigned char i, j;- B8 \7 V. @; d
i = 1;+ K# m& V) k7 y d
j = 134;5 R0 o, e& U* r& _
do
1 E; O2 l( Z. k6 T4 ~# k {
. n' \4 X* ^0 Y' x- `/ P& b while (--j);+ u7 z/ {3 f. h
} while (--i);: d6 T2 S* g# Q+ Q6 x9 G
}, w/ W" s! r0 c* b7 K, p
5 y: O+ l9 G O$ b) Kvoid main(void) h2 E/ K' ]" Y! U
{" x0 o2 t' i/ g) H2 l
ctrl = 0;( j5 _* L6 M+ Y6 ^7 ~3 P: e1 {
keyb =1;
0 G3 M) q: Z8 [& ]0 q* N keyC =1;
2 l3 h- m# H$ F2 w9 T// comm = 1;
+ A; }0 P9 ?/ |2 n6 G1 o: u# K* c// s_cass = 1 ; % g R" k$ [% [+ A) b/ x7 o9 V7 I
while(1)( c+ f9 X1 S: y7 w" T- g3 S
{ T5 _' ]5 V* c; c
// if (comm==0 && s_cass==1)
! x& |( a8 f' m: V // {( c; M5 D9 S" C7 H+ T
// loaded = 0;
' o% G% b3 A; e3 W' z1 f5 ] // } / R5 R3 c8 m0 ^& h+ G
// if (comm==0 && s_cass==0) 4 `' y8 n0 N0 c$ ~* P, \* n1 g
// {
3 O- a4 l) s5 n: y* Q" Y2 L // loaded = 1;; [8 g2 I! V/ R7 ]6 e
// }
2 \. K2 Q- j, y
& [) }: D- e4 M' W) G if (keyb==0 && keyC==0 ) % [8 r+ E8 n' \" c( q1 M) ~, r4 i' ~/ w
{
+ Z6 p2 g5 F' L" @) d& |4 s8 n8 S+ j P3M1 = 0x37 ; //00110111) V8 z# G. m* n K/ `, z2 ^4 X
P3M0 = 0x08 ; //000010000 n' M4 P- m* A w* U
Delay50us();
6 R2 }6 R o. O5 J" ? \. { ctrl = 1;1 R6 I2 c0 d) {" W
}7 C5 @- X8 C0 O, G$ `
, W' ~1 [. ~: I) {% Y9 M- K1 D if (keyb==0 && keyC==1 ) - G* u1 m( W/ H
{
. B( C! Z/ s) c5 s, y7 U6 S ctrl = 0;6 k( C+ y' j& V. k
P3M1 = 0x3F ; //00111111' L( A2 W" ?' q! \
P3M0 = 0x00 ; //000000008 L1 `2 ?9 p. G* \" @
}" t' Z0 u0 q+ T. x7 w; e$ y) s* ^
}
2 S$ L+ H' W- r; S4 k' z( y' W}
7 _* a- t" o- M" M
; K( Y6 k% T4 P8 x! y0 z; K3 @4 g' s
3 V: H+ n6 ~, {
7 _1 ?1 i' ^4 F6 J9 ]
0 Y, g2 R C2 n A
4 q7 b5 l Z; C0 ^0 {
& L3 V( K c, ?
- }) I4 f1 Q$ ]6 H9 B$ V
1 o. c! U6 A- ^1 F7 |* }$ z
`) p5 ^1 ?7 F* P
5 x: c% z; N" `& u" Y. y8 k- L; ?8 E- b% u% Y q
# L- t! r" O, `) ?, Y' E0 L2 `9 Q2 K3 h6 ~9 N
|