📄 subctrl.c
字号:
#include "H8S2144.h"
#include "Global.h"
#include "Data.h"
#include "Extern.h"
short select_ch(short ch);
short range_out(short range, short drv); //
short onoff_out(short pixel, short onoff, short cw); //
short duty_out(short pixel, short duty); //unit 0.5%
short mon_select(short mon); //
//*****SELECT CHANNEL ROUTINE*******
short select_ch(short ch)
{
unsigned char chr;
if (ch < 1 || ch > MAX_CH) {
return ERR_CH ;
}
chr = (unsigned char)(ch & 0x0f);
CH_SELECT = chr;
chr = P9DR;
P9DR = chr | 0x04;
wait(20);
return NO_ERR ;
}
//*****OnOff CHANNEL ROUTINE*******
short range_out(short range, short pole) //
{
unsigned char chr ;
switch(range)
{
case 1:
chr = RANGE_2mA;
break;
case 2:
chr = RANGE_200uA;
break;
case 3:
chr = RANGE_20uA;
break;
default:
return ERR_RANGE;
}
if (pole == 0) {
chr |= DRV_PLUS;
}
else {
chr |= DRV_MINUS;
}
DATA_OUT = chr;
wait(5);
chr = STB_RANGE;
STB_CTRL = chr ;
wait(5);
STB_CTRL = 0x00 ;
wait(5);
return NO_ERR;
}
//*****OnOff CHANNEL ROUTINE*******
short onoff_out(short pix, short onoff, short cw) //
{
unsigned char chr ;
chr = 0;
if (onoff == 1) {
switch(pix)
{
case 1:
chr |= PIX1_ON;
break;
case 2:
chr |= PIX2_ON;
break;
case 3:
chr |= PIX3_ON;
break;
case 4:
chr |= PIX4_ON;
break;
default:
chr |= PIXALL_ON;
break;
}
}
if (cw == 1) {
switch(pix)
{
case 1:
chr |= PIX1_CW;
break;
case 2:
chr |= PIX2_CW;
break;
case 3:
chr |= PIX3_CW;
break;
case 4:
chr |= PIX4_CW;
break;
default:
chr |= PIXALL_CW;
break;
}
}
DATA_OUT = chr;
wait(5);
chr = STB_CWONOFF;
STB_CTRL = chr ;
wait(5);
STB_CTRL = 0x00 ;
wait(5);
return NO_ERR;
}
//*****SELECT CHANNEL ROUTINE*******
short duty_out(short pixel, short duty) //unit 0.5%
{
unsigned char chr;
chr = (unsigned char) (duty) ;
DATA_OUT = chr;
wait(5);
switch(pixel)
{
case 1:
chr = STB_R;
break;
case 2:
chr = STB_G;
break;
case 3:
chr = STB_B;
break;
case 4:
chr = STB_D;
break;
default:
return ERR_DUTY;
}
STB_CTRL = chr ;
wait(5);
STB_CTRL = 0x00 ;
wait(5);
return NO_ERR;
}
//*****SELECT CHANNEL ROUTINE*******
short mon_select(short mon) //
{
unsigned char chr;
switch(mon)
{
case 1:
chr = MON_IR;
break;
case 2:
chr = MON_VR;
break;
case 3:
chr = MON_IG;
break;
case 4:
chr = MON_VG;
break;
case 5:
chr = MON_IB;
break;
case 6:
chr = MON_VB;
break;
case 7:
chr = MON_ID;
break;
case 8:
chr = MON_VD;
break;
default:
return ERR_MON;
}
MON_SELECT = chr;
wait(5);
return NO_ERR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -