system.c
来自「这里有很多我自己做的凌阳单片机源程序」· C语言 代码 · 共 112 行
C
112 行
#include<spce061a_chf.h>
#include"bit.h"
#include"TCS230.h"
extern timer;
///////////////////////////////////////////
//函数:void init_IO(void)
//描述:IO口初始化
//参数:无
//返回:无
/////////////////////////////////////////////
void init_IO(void)
{
PA_Dir->bit.bit0=1;
PA_Attrib->bit.bit0=1;
S0=1;
PA_Dir->bit.bit0=1;
PA_Attrib->bit.bit0=1;
S1=0;//20%
PA_Dir->bit.bit0=1;
PA_Attrib->bit.bit0=1;
S2=1;
PA_Dir->bit.bit0=1;
PA_Attrib->bit.bit0=1;
S3=0;//Clear
PA_Dir->bit.bit0=0;
PA_Attrib->bit.bit0=0;
out=0;
}
///////////////////////////////////////////
//函数:unsigned int Red(void)
//描述:启用红色滤波器
//参数:无
//返回:在0.25s时间的频率计数值
/////////////////////////////////////////////
unsigned int Red(void)
{
unsigned int counter=0;
S2=0;
S3=0;
asm("irq on");
while(timer==0xffff)
{
if(out==1)
{
counter++;
//*P_Watchdog_Clear=0x01;
while(out==1)
{
*P_Watchdog_Clear=0x01;
}
}
}
asm("irq off");
timer=0x0000;
return counter;
}
///////////////////////////////////////////
//函数:unsigned int Blue(void)
//描述:启用蓝色滤波器
//参数:无
//返回:在0.25s时间的频率计数值
/////////////////////////////////////////////
unsigned int Blue(void)
{
unsigned int counter=0;
S2=0;
S3=1;
asm("irq on");
while(timer==0xffff)
{
if(out==1)
{
counter++;
//*P_Watchdog_Clear=0x01;
while(out==1)
{
*P_Watchdog_Clear=0x01;
}
}
}
asm("irq off");
timer=0x0000;
return counter;
}
///////////////////////////////////////////
//函数:unsigned int Green(void)
//描述:启用绿色滤波器
//参数:无
//返回:在0.25s时间的频率计数值
/////////////////////////////////////////////
unsigned int Green(void)
{
unsigned int counter=0;
S2=1;
S3=1;
asm("irq on");
while(timer==0xffff)
{
if(out==1)
{
counter++;
//*P_Watchdog_Clear=0x01;
while(out==1)
{
*P_Watchdog_Clear=0x01;
}
}
}
asm("irq off");
timer=0x0000;
return counter;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?