📄 sioc.#3
字号:
/**********************************************************************************************************
Sincere Techonlogy
Shanghai.China
(c) Copyright 2005,Sincere Technology,Shanghai China
All Rights Reserved
File name : sioc.c
Author : Neil
Description : Use P1.0-->SDATA
P1.1-->SCLK
P0.4-->SCS
P1.5-->SCS61B
P1.6-->SCS61G
P1.7-->SCS61R
Target : C8051F023
Data : 2005-3
**********************************************************************************************************/
#define SIOC_C
#include "Include.h"
void _0707READY(void) //Ready for 0707
{
SCS = 0;
SCS61B= 1;
SCS61G= 1;
SCS61R= 1;
}
void _R6100READY(void) //Ready for red 6100
{
SCS = 1;
SCS61B= 1;
SCS61G= 1;
SCS61R= 0;
}
void _G6100READY(void) //Ready for green 6100
{
SCS = 1;
SCS61B= 1;
SCS61G= 0;
SCS61R= 1;
}
void _B6100READY(void) //Ready for blue 6100
{
SCS = 1;
SCS61B= 0;
SCS61G= 1;
SCS61R= 1;
}
void NONE_READY(void) //There is none ready
{
SCS = 1;
SCS61B= 1;
SCS61G= 1;
SCS61R= 1;
}
/*********************************************************************************************************
----------------------------------------------------------------------------------------------------------
void WRITE_0707(int addr,int dat)
Author : Neil
Data : 2005-3
----------------------------------------------------------------------------------------------------------
This routine write 0707 with 12 bits address and 12 bits data,first send date use LSB
*********************************************************************************************************/
void WRITE_0707(int addr,int dat)
{
int i;
for (i=0;i<12;i++)
{
SCLK=0;
DELAY(1);
if (addr & 0x800)
SDATA=1;
else
SDATA=0;
SCLK=1;
addr<<=1;
DELAY(1);
}
for (i=0;i<12;i++)
{
SCLK=0;
DELAY(1);
if (dat & 0x1)
SDATA=1;
else
SDATA=0;
SCLK=1;
dat<<=1;
DELAY(1);
}
}
/*********************************************************************************************************
----------------------------------------------------------------------------------------------------------
void WRITE_6100(int addr_dat)
Author : Neil
Data : 2005-3
----------------------------------------------------------------------------------------------------------
This routine write 6100 with 4 bits address and 8 bits data,first send address use MSB
*********************************************************************************************************/
void WRITE_6100(int addr_dat)
{
int i;
for (i=0;i<12;i++)
{
SCLK=0;
DELAY(1);
if (addr_dat & 800)
SDATA=1;
else
SDATA=0;
SCLK=1;
addr_dat<<=1;
DELAY(1);
}
}
#undef SIOC_C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -