- LuckySXyd
-
一、单向可控硅是一种可控整流电子元件,能在外部控制信号作用下由关断变为导通,但一旦导通,外部信号就无法使其关断,只能靠去除负载或降低其两端电压使其关断。单向可控硅是由三个PN结PNPN组成的四层三端半导体器件与具有一个PN结的二极管相比,单向可控硅正向导通受控制极电流控制;与具有两个PN结的三极管相比,差别在于可控硅对控制极电流没有放大作用。
二、双向可控硅具有两个方向轮流导通、关断的特性。双向可控硅实质上是两个反并联的单向可控硅,是由NPNPN五层半导体形成四个PN结构成、有三个电极的半导体器件。由于主电极的构造是对称的(都从N层引出),所以它的电极不像单向可控硅那样分别叫阳极和阴极,而是把与控制极相近的叫做第一电极A1,另一个叫做第二电极A2。双向可控硅的主要缺点是承受电压上升率的能力较低。这是因为双向可控硅在一个方向导通结束时,硅片在各层中的载流子还没有回到截止状态的位置,必须采取相应的保护措施。双向可控硅元件主要用于交流控制电路,如温度控制、灯光控制、防爆交流开关以及直流电机调速和换向等电路。
单向可控硅和双向可控硅,都是三个电极。单向可控硅有阴极(K)、阳极(A)、控制极(G)。双向可控硅等效于两只单项可控硅反向并联而成。即其中一只单向硅阳极与另一只阴极相边连,其引出端称T2极,其中一只单向硅阴极与另一只阳极相连,其引出端称T2极,剩下则为控制极(G)。
1、单、双向可控硅的判别:先任测两个极,若正、反测指针均不动(R×1挡),可能是A、K或G、A极(对单向可控硅)也可能是T2、T1或T2、G极(对双向可控硅)。若其中有一次测量指示为几十至几百欧,则必为单向可控硅。且红笔所接为K极,黑笔接的为G极,剩下即为A极。若正、反向测批示均为几十至几百欧,则必为双向可控硅。再将旋钮拨至R×1或R×10挡复测,其中必有一次阻值稍大,则稍大的一次红笔接的为G极,黑笔所接为T1极,余下是T2极。
2、性能的差别:将旋钮拨至R×1挡,对于1~6A单向可控硅,红笔接K极,黑笔同时接通G、A极,在保持黑笔不脱离A极状态下断开G极,指针应指示几十欧至一百欧,此时可控硅已被触发,且触发电压低(或触发电流小)。然后瞬时断开A极再接通,指针应退回∞位置,则表明可控硅良好。
对于1~6A双向可控硅,红笔接T1极,黑笔同时接G、T2极,在保证黑笔不脱离T2极的前提下断开G极,指针应指示为几十至一百多欧(视可控硅电流大小、厂家不同而异)。然后将两笔对调,重复上述步骤测一次,指针指示还要比上一次稍大十几至几十欧,则表明可控硅良好,且触发电压(或电流)小。
若保持接通A极或T2极时断开G极,指针立即退回∞位置,则说明可控硅触发电流太大或损坏。可按图2方法进一步测量,对于单向可控硅,闭合开关K,灯应发亮,断开K灯仍不息灭,否则说明可控硅损坏。
对于双向可控硅,闭合开关K,灯应发亮,断开K,灯应不息灭。然后将电池反接,重复上述步骤,均应是同一结果,才说明是好的。否则说明该器件已损坏。
- 黑桃云
-
你的电路是什么样的?我给你发个例子你看看:
include"Globle.h"
#include".init.h"
extern WordType pca_tmp;
/******************************************************************************************
** 函数名 Timer0_init
** 参数 mode 选择工作方式
** hvalue TH0的值
** lvalue TL0的值
*******************************************************************************************
** 选择项
TIMER0_GATE_ON 选择GATE方式
TIMER0_COUNTER_ON 选择COUNTER方式,如果不选为TIMER方式
TIMER0_MODE_0 方式1
TIMER0_MODE_1 方式2
TIMER0_MODE_2 方式3
TIMER0_MODE_3 方式4
*******************************************************************************************/
void Timer0_Init(UBYTE mode, UBYTE hvalue, UBYTE lvalue)
{
TMOD&=0xf0; //清空timr0相关的设置位
TMOD|=(mode&0x0f); //设置工作方式
TH0=hvalue;
TL0=lvalue;
}
/******************************************************************************************
** 函数名 Timer1_init
** 参数 mode 选择工作方式
** hvalue TH0的值
** lvalue TL0的值
*******************************************************************************************
** 选择项
TIMER1_GATE_ON 选择GATE方式
TIMER1_COUNTER_ON 选择COUNTER方式,如果不选为TIMER方式
TIMER1_MODE_0 方式1
TIMER1_MODE_1 方式2
TIMER1_MODE_2 方式3
TIMER1_MODE_3 方式4
*******************************************************************************************/
void Timer1_Init(UBYTE mode, UBYTE hvalue, UBYTE lvalue)
{
TMOD&=0x0f; //清空timr0相关的设置位
TMOD|=mode&0xf0; //设置工作方式
TH1=hvalue;
TL1=lvalue;
}
/******************************************************************************************
** 函数名 Timer2_Init
** 参数 mode 选择工作方式
** hvalue TH0的值
** lvalue TL0的值
*******************************************************************************************
** 选择项
S_RCLK 0x20 //产生接受波特率
S_TCLK 0x10 //产生发送波特率
S_EXEN2 0x08 //外部势能 选择 T2EX有负跳变时发生重载或捕捉
S_TR2 0x04 //T2开始运行 选择 开始运行
S_CT2 0x02 //T/C选择 选择 为计数器
S_CPRL2 0x01 //捕捉 重载选择 选择 为捕捉模式
*******************************************************************************************/
void Timer2_Init(UBYTE mode, UBYTE hvalue, UBYTE lvalue)
{
T2CON=mode;
RCAP2H=hvalue;
RCAP2L=lvalue;
}
/******************************************************************************************
** 函数名 Interrupt_init
** 参数 enable 使能设置
** run 运行设置
*******************************************************************************************
** 选择项
S_TIMER1_RUN 0X40 //TIMER1 RUN FLAG
S_TIMER0_RUN 0X10 //TIMER0 RUN FLAG
S_EXTERN1_MODE 0X04 //外部中断1方式选择 1边沿触发 0电平触发
S_EXTERN0_MODE 0X01 //外部中断0方式选择 1边沿触发 0电平触发
*************************** IE ********************************************
S_GLOBLE_ENABLE 0X80 //EA 使能
S_UART_ENABLE 0X10 //串口中断使能
S_TIMER1_ENABLE 0X08 //Timer1中断使能
S_EXTERN1_ENABLE 0X04 //外部中断1使能
S_TIMER0_ENABLE 0X02 //Timer0中断使能
S_EXTERN0_ENABLE 0X01 //外部中断0使能
*******************************************************************************************/
void Interrupt_init(UBYTE enable, UBYTE run)
{
IE=enable;
TCON=run;
}
/******************************************************************************************
** 函数名 Uart_init
** 参数 mode 方式设置
*******************************************************************************************
** 选择项
S_UART_MODE0 0X00 //UART MODE 0
S_UART_MODE1 0X40 //UART MODE 1
S_UART_MODE2 0X80 //UART MODE 2
S_UART_MODE3 0XC0 //UART MODE 3
S_MULTI_COM 0X20 //多机通信
S_RECEIVE_EN 0X10 //enable receive
S_TRANSMIT_8 0X08 //发送第八位
S_RECEIVE_8 0X04 //接收第八位
*******************************************************************************************/
void Uart_init(UBYTE mode)
{
SCON=mode;
}
void Devices_init()
{
Timer0_Init(TIMER0_MODE_1, TH0_VALUE, TL0_VALUE); //定时器0初始化
//Timer1_Init(TIMER1_MODE_2, 0XF5, 0XF5); //定时器1初始化
Timer1_Init(TIMER1_MODE_2, TIMER1_BH, TIMER1_BH);
//Timer2_Init((S_RCLK|S_TCLK|S_TR2),TIMER2_BH,TIMER2_BL); //定时器2初始化
Uart_init(S_UART_MODE1|S_RECEIVE_EN); //串口初始化
Interrupt_init((S_UART_ENABLE|S_GLOBLE_ENABLE|S_TIMER0_ENABLE|S_EXTERN0_ENABLE),
(S_TIMER0_RUN|S_TIMER1_RUN|S_EXTERN0_MODE));
#if SMOD //double baud-rate
PCON|=0x80;
#endif
ADC_CONTR=0x80;
P1M0=0xff;
P1M1=0xff;
//-----------------------------------------
CMOD=0;
CCON=0;
CL=0;
CH=0;
CCAP0L=0xAF;
CCAP0H=0x00;
CCAPM0=0x49;
EPCA_LVD=1;
CR=1;
pca_tmp.bytes.bl=0xAF;
pca_tmp.bytes.bh=0x00;
}