📄 xsvc.c
字号:
/*62446驱动*/
void send_62446( uchar data1,uchar data2 )
{
uchar i;
P_62446_stb=0;
P_62446_clk=0;
ACC=data1;
for(i=8;i>0;i--)
{
CY=ACC&0x80;
P_62446_dat=CY;
P_62446_clk=1;
_nop_();
P_62446_clk=0;
}
ACC=data2;
for(i=8;i>0;i--)
{
CY=ACC&0x80;
P_62446_dat=CY;
P_62446_clk=1;
_nop_();
P_62446_clk=0;
}
P_62446_stb=1;
_nop_();
P_62446_stb+0;
}
uchar vol_tab[]={
160,
38,36,34,32,30,28,26,24,22,20
18,16,14,12,10,08,06,04,02,00
}
void vol_in( void )
{
uchar bdata i,j;
sbit i_0=i^0;
i=vol_tab[G_VOL_FL];
j=vol_tab[G_VOL_FR];
CY=0;
_rlcr_(j);
i_0=CY;
j=j|0x01;
send_62446(i,j);
i=vol_tab[G_VOL_C];
j=vol_tab[G_VOL_SW];
CY=0;
_rlcr_(j);
i_0=CY;
j=j|0x10;
send_62446(i,j);
i=vol_tab[G_VOL_SL];
j=vol_tab[G_VOL_SR];
CY=0;
_rlcr_(j);
i_0=CY;
j=j|0x11;
send_62446(i,j);
}
void vol_add( uchar *p )
{
if( ++(*p) > 63 )
(*p)=63;
}
void vol_dec( uchar *p )
{
if( (*p)>0 )
(*p)--;
}
void vol_fr_add(void)
{
vol_add(&G_VOL_FR);
vol_in();
}
void vol_fl_add(void)
{
vol_add(&G_VOL_FL);
vol_in();
}
void vol_sr_add(void)
{
vol_add(&G_VOL_SR);
vol_in();
}
void vol_sl_add(void)
{
vol_add(&G_VOL_SL);
vol_in();
}
void vol_c_add(void)
{
vol_add(&G_VOL_C);
vol_in();
}
void vol_sw_add(void)
{
vol_add(&G_VOL_SW);
vol_in();
}
void vol_m_add(void)
{
vol_add(&G_VOL_FR);
vol_add(&G_VOL_FL);
vol_add(&G_VOL_SR);
vol_add(&G_VOL_SL);
vol_add(&G_VOL_C);
vol_add(&G_VOL_SW);
vol_in();
}
void vol_fr_dec(void)
{
vol_dec(&G_VOL_FR);
vol_in();
}
void vol_fl_dec(void)
{
vol_dec(&G_VOL_FL);
vol_in();
}
void vol_sr_dec(void)
{
vol_dec(&G_VOL_SR);
vol_in();
}
void vol_sl_dec(void)
{
vol_dec(&G_VOL_SL);
vol_in();
}
void vol_c_dec(void)
{
vol_dec(&G_VOL_C);
vol_in();
}
void vol_sw_dec(void)
{
vol_dec(&G_VOL_SW);
vol_in();
}
void vol_m_dec(void)
{
vol_dec(&G_VOL_FR);
vol_dec(&G_VOL_FL);
vol_dec(&G_VOL_SR);
vol_dec(&G_VOL_SL);
vol_dec(&G_VOL_C);
vol_dec(&G_VOL_SW);
vol_in();
}
/*62429驱动*/
void send_62429( uchar dat )
{
uchar i;
P_62429_clk=0;
P_62429_dat=0;
delay_nop_();
P_62429_clk=1;
delay_nop_();
P_62429_clk=0;
delay_nop_();
P_62429_clk=1;
delay_nop_();
P_62429_clk=0;
delay_nop_();
ACC=dat;
for(i=8;i>0;i--)
{
CY=ACC&0x80;
P_62429_dat=CY;
delay_nop_();
P_62429_clk=1;
delay_nop_();
P_62429_dat=0;
delay_nop_();
P_62429_clk=0;
delay_nop_();
}
P_62429_dat=1;
delay_nop_();
P_62429_clk=1;
delay_nop_();
P_62429_dat=0;
delay_nop_();
P_62429_clk=0;
delay_nop_();
P_62429_dat=1;
delay_nop_();
P_62429_clk=1;
delay_nop_();
P_62429_clk=0;
delay_nop_();
P_62429_dat=0;
}
/* 65831驱动*/
void send_65831( uchar dat )
{
uchar i;
P_65831_req=0;
P_65831_clk=1;
P_65831_dat=1;
delay_nop_();
P_65831_clk=0;
delay_nop_();
ACC=dat;
for(i=4,i>0;i--)
{
CY=ACC & 0x01;
P_65831_dat=CY;
P_65831_clk=1;
delay_nop_();
P_65831_clk=0;
delay_nop_();
}
P_65831_dat=0;
P_65831_clk=1;
delay_nop_();
P_65831_clk=0;
delay_nop_();
for(i=4,i>0;i--)
{
CY=ACC & 0x01;
P_65831_dat=CY;
P_65831_clk=1;
delay_nop_();
P_65831_clk=0;
delay_nop_();
}
delay_nop_();
P_65831_req=1;
P_65831_clk=1;
}
/*75342驱动*/
void send_75342( uchar dat )
{
uchar i;
P_75342_clk=0;
ACC=dat;
for(i=8;i>0;i--)
{
CY=ACC&0x01;
P_75342_dat=CY;
delay_nop_();
P_75342_clk=1;
delay_nop_();
P_75342_clk=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -