赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
2 J1 b7 g5 b0 p, z, Y" K& ~sfr P3M0 = 0xb2;1 X9 R" \/ \/ }5 ]2 c- [+ k4 w$ N0 G
sfr P3M1 = 0xb1;
, }$ ~+ R8 w& v* O5 H- Jsbit keyb = P3^1 ; //10# p. L5 {: t( `' u
sbit keyC = P3^0; //10
" G: ^! A% p8 p& B. B/ u r$ w///sbit s_cass = P3^5; //106 u. ~: g Q+ q1 `4 N1 S% O
//sbit comm = P3^4; //10
& ]2 A/ x! l2 ~, c/ X5 u# P U//unsigned char loaded; " M) f4 p( _7 F
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
" H" |1 l5 i6 }( {$ }void Delay50us() //@11.0592MHz
1 H3 S7 [. F9 V{7 Y0 B/ j. C& p, U, o7 l0 e2 l& r0 m
unsigned char i, j;! d+ |' G! c' z3 X) `7 @
i = 1;: J. _1 u) z- M! h2 G
j = 134;& l: `! R. P- x! @( B# i
do- i% y* C- l1 O5 z, a8 p. [7 x# s
{
3 z# M3 @7 Q/ @8 W: e% L while (--j);" D- N2 Q# y$ }2 }% h
} while (--i);
8 E" B9 J6 S$ @* }1 P6 u$ [}
4 z) l. u1 G/ T) L; N9 w0 n w, m, D# L/ m# J+ ?
void main(void)
: D' i5 u. q4 n/ n5 t1 H) Q{
# w! b& q* r: D ctrl = 0;
0 k M3 C' L# H5 f keyb =1;
: R, L# h, t0 f keyC =1;4 n6 t Y7 K) j# H: X; ]
// comm = 1;& z9 t0 U7 A# T( P) V( u# i
// s_cass = 1 ;
! v, h |8 B) o/ z while(1)
( C8 o9 L/ L* J# K {
2 K! y e' M: a5 K // if (comm==0 && s_cass==1) " a/ k$ M. r( _9 {# `9 u
// {; b: z) Q1 P+ T* V
// loaded = 0;' b9 d( C2 G) m+ h
// } ! z8 i5 }% Y# k! V( e/ q. @
// if (comm==0 && s_cass==0) , n6 W& {5 N4 m: d; A
// {
/ \3 }; J% G2 v // loaded = 1;# [% o& {' J$ D( m$ j, S9 v' }- ^
// } ) S+ B, N+ {) f$ p% y* u! U
3 L/ M6 b- H3 f1 G if (keyb==0 && keyC==0 ) & ^! ` ]0 z( w' r. A) p$ N
{
/ g9 H9 T" E7 ~& r8 i P3M1 = 0x37 ; //00110111' Z3 w! w* G: X
P3M0 = 0x08 ; //00001000( F, G( E" Z+ @& e0 e
Delay50us();
2 ]- |) `5 P: z' I+ C ctrl = 1;
7 D! ~& g9 Y; U, P6 {& F _ E* E }
( M0 N( ]! t( X, P! G) u8 x) p/ N5 Y
if (keyb==0 && keyC==1 )
7 q0 g6 ^; P) l0 x& Y {
& S$ O. k" s2 f! |0 l" t- i ctrl = 0;
* w" f' Q6 [+ [ V u. i* a P3M1 = 0x3F ; //00111111
0 V; b4 Q1 d, x+ v. n% O P3M0 = 0x00 ; //00000000
! ^. H' X. ]( g' O" V. m }
' q* Z) L0 n' S6 h8 X3 h" b }1 Q% T0 {" Z& W
}! q6 u% J: P/ y" m3 C+ ]
9 O2 Y; [) w. m7 q
/ k- `: |" H# Q7 j: r G3 a, S9 |
% B v1 j- m, d# R) @0 W
0 Z' C: F* O2 w- G0 V |
/ y" m5 h: o, @5 c/ R7 k7 A1 R
% x z2 T& O2 g9 s; z2 n0 A; Y& K# A
! C" T* c1 n# ?. n) x
2 w% k1 Y" p! V# }7 a) R
9 B1 a0 B$ x9 z% K" x
! N9 Y9 T$ M- l' F# I3 W' C) x8 T6 c' n [4 o6 E
3 V- f# E0 ^. B* D1 x. W8 _/ h
0 q$ P+ ]/ D f" D% p) H8 D! V
|