为REVOX B215卡座增加磁头抬起的电路
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>sfr P3M0 = 0xb2;
sfr P3M1 = 0xb1;
sbit keyb = P3^1 ; //10
sbit keyC = P3^0; //10
///sbit s_cass = P3^5; //10
//sbit comm = P3^4; //10
//unsigned charloaded;
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
void Delay50us() //@11.0592MHz
{
unsigned char i, j;
i = 1;
j = 134;
do
{
while (--j);
} while (--i);
}
void main(void)
{
ctrl = 0;
keyb =1;
keyC =1;
// comm= 1;
// s_cass = 1 ;
while(1)
{
// if (comm==0 && s_cass==1)
// {
// loaded = 0;
// }
// if (comm==0 && s_cass==0)
// {
// loaded = 1;
// }
if (keyb==0 && keyC==0)
{
P3M1 = 0x37 ; //00110111
P3M0 = 0x08 ; //00001000
Delay50us();
ctrl = 1;
}
if (keyb==0 && keyC==1 )
{
ctrl = 0;
P3M1 = 0x3F ; //00111111
P3M0 = 0x00 ; //00000000
}
}
}
给你100个赞难得有这样的技术贴 这个牛叉!{:4_472:} 硬件、软件,加上动手能力,楼主高手! 楼主高手{:4_471:}{:9:}{:4_471:} {:4_471:} 猎手兄对瑞华士的机器研究的非常透彻!👍 高高手
{:4_471:} 这一轮操作,软硬通吃,柿子苹果都要{:4_472:} {:4_471:} {:4_471:}{:4_472:} {:4_472:}{:4_472:}{:4_472:}{:4_471:}{:4_471:}{:4_471:} 俺是一个软件盲{:4_476:} 这是高手! 高手在民间{:9:}
页:
[1]