何谓软件施密特触发器?
软件施密特触发器就是利用上面所说的施密特触发器原理。这里我直接写一段代码来说明问题。
unsigned char level = 0; //表示电压档位
unsigned int Read_adc = 0;
Read_adc = Function_get_adc(); //经过多次采样去最大最小取平均值
if(level == 0){
if(Read_adc >= B + 2) { //这里的2是随便设定的,可以根据实际情况更改
level = 1}}
if(level == 1){
if(Read_adc >= C + 2){
level = 2;}else if(Read_adc < B - 2){
level = 0;}}
if(level == 2){
if(Read_adc >= D + 2){
level = 3;}else if(Read_adc < C - 2){
level = 1;}}
if(level == 3){
if(Read_adc >= E + 2){
level = 4;}else if(Read_adc < D - 2){
level = 2;}}
if(level == 4){
if(Read_adc < E - 2){
level = 3;}}
这里的“B+2”和“B-2”(以B为例)就是上面所说的回差。 |