📄 rs232.c
字号:
#include <reg51.h>
#include"demo.h"
void sendparamtopc(void)
{
BYTE count;
//////////////value0
for(count=0;count<25;count++)
{ SBUF=Userdate.value0.bytes[count] ;
while(TI==0);
TI=0;
}
//////////////value1
for(count=0;count<6;count++)
{
SBUF=Userdate.value1.bytes[count] ;
while(TI==0);
TI=0;
}
//////////////value2
for(count=0;count<2;count++)
{
SBUF=Userdate.value2.bytes[count] ;
while(TI==0);
TI=0;
}
//////////////value3
//////////////value4
for(count=0;count<7;count++)
{
SBUF=Userdate.value4.bytes[count] ;
while(TI==0);
TI=0;
}
}
void write3106Byte(BYTE temp,BYTE k)
{
BYTE i;
for (i=0;i<k;i++)
{
SCLK_3106=0;
ACC=temp;
SDATA_3106=ACC_7;
ShortDelay(2);
SCLK_3106=1;
ShortDelay(2);
temp<<=1;
}
}
void mywrite3106()
{
BYTE idata i,sum;
BYTE idata val,j=0;
BYTE idata MYFONT_3106[14];
if(Flag_rs232)
for(i=0;i<14;i++)
{
while(RI==0); RI=0;
MYFONT_3106[i]=SBUF;
}
else
{
MYFONT_3106[0]=0x05;
MYFONT_3106[1]=0x40;
MYFONT_3106[2]=0x00;
MYFONT_3106[3]=0x60;
switch (Userdate.value4.items.mode)
{
case 0: MYFONT_3106[4]=0x38;
Userdate.value4.items.moveRightorLeft=0x4a;
Userdate.value4.items.moveUporDown=0x1c;
break;//60hz
case 1: MYFONT_3106[4]=0x28;
Userdate.value4.items.moveRightorLeft=0x39;
Userdate.value4.items.moveUporDown=0x1c;
break;//70hz
case 2: MYFONT_3106[4]=0x18;
Userdate.value4.items.moveRightorLeft=0x2d;
Userdate.value4.items.moveUporDown=0x18;
break;//75hz
case 3: MYFONT_3106[4]=0x58;
Userdate.value4.items.moveRightorLeft=0x4c;
Userdate.value4.items.moveUporDown=0x20;
break; //85hz
}
MYFONT_3106[5]=0x20;
MYFONT_3106[6]=0x02;
MYFONT_3106[7]=0x80;
MYFONT_3106[8]=0x06;
MYFONT_3106[9]=0xa0;
MYFONT_3106[10]=Userdate.value4.items.m_ttlpolreg;
MYFONT_3106[11]=0xc0;
MYFONT_3106[12]=0x07;
MYFONT_3106[13]=0xe0;
}
for(i=0;i<7;i++)
{
SENABLE_3106=0;
val=MYFONT_3106[j];
//SBUF=val;
//while(TI==0); TI=0; // to debug
sum=8;
write3106Byte(val,sum);
j++;
val=MYFONT_3106[j];
//SBUF=val;
// while(TI==0); TI=0; //to debug
sum=3;
write3106Byte(val,sum);
j++;
SENABLE_3106=1;
SDATA_3106=1;
}
Userdate.value4.items.m_ttlpolreg=MYFONT_3106[10];
write3500AddrByte(0x09,Userdate.value4.items.m_address9);
write3500AddrByte(0x02,Userdate.value4.items.moveRightorLeft);
write3500AddrByte(0x03,Userdate.value4.items.moveUporDown);
}
/*void changeRGB(BYTE selectRGB)
{
switch(selectRGB)
{
case 0:P00=0;P01=0;break;//R
case 1:P00=1;P01=0;break; //G
case 2:P00=0;P01=1;break;//B
case 3:P00=1;P01=1;break;//no select;
}
} */
void AdjustPow(BYTE m_pow)
{
switch(m_pow)
{
case 0: Userdate.value4.items.m_ttlpolreg=0x73;Userdate.value4.items.m_address9=0xcc;break;
case 1: Userdate.value4.items.m_ttlpolreg=0x70;Userdate.value4.items.m_address9=0xcc;break;
case 2: Userdate.value4.items.m_ttlpolreg=0x73;Userdate.value4.items.m_address9=0xfc;break;
case 3: Userdate.value4.items.m_ttlpolreg=0x70;Userdate.value4.items.m_address9=0xfc;break;
} Flag_rs232=0;
mywrite3106();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -