📄 control.c
字号:
/*
控制文件
对控制端口拨码开关8421判断和对正负脉冲按钮开关的判断
*/
#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
#include "main.h"
#include "control.h"
//---------------------------------------------
//ctr8421:对控制端口拨码开关8421判断
//
//输入:无
//输出:ctr_v unsigned char
//---------------------------------------------
unsigned char ctr8421(void)
{
//ctr=0
if(((PIND&(1<<ctr8)))&&((PIND&(1<<ctr4)))&&((PIND&(1<<ctr2)))&&((PIND&(1<<ctr1))))
ctr_v=0;
//ctr=1
else if(((PIND&(1<<ctr8)))&&((PIND&(1<<ctr4)))&&((PIND&(1<<ctr2)))&&(!(PIND&(1<<ctr1))))
ctr_v=1;
//ctr=2
else if(((PIND&(1<<ctr8)))&&((PIND&(1<<ctr4)))&&(!(PIND&(1<<ctr2)))&&((PIND&(1<<ctr1))))
ctr_v=2;
//ctr=3
else if(((PIND&(1<<ctr8)))&&((PIND&(1<<ctr4)))&&(!(PIND&(1<<ctr2)))&&(!(PIND&(1<<ctr1))))
ctr_v=3;
//ctr=4
else if(((PIND&(1<<ctr8)))&&(!(PIND&(1<<ctr4)))&&((PIND&(1<<ctr2)))&&((PIND&(1<<ctr1))))
ctr_v=4;
//ctr=5
else if(((PIND&(1<<ctr8)))&&(!(PIND&(1<<ctr4)))&&((PIND&(1<<ctr2)))&&(!(PIND&(1<<ctr1))))
ctr_v=5;
//ctr=6
else if(((PIND&(1<<ctr8)))&&(!(PIND&(1<<ctr4)))&&(!(PIND&(1<<ctr2)))&&((PIND&(1<<ctr1))))
ctr_v=6;
//ctr=7
else if(((PIND&(1<<ctr8)))&&(!(PIND&(1<<ctr4)))&&(!(PIND&(1<<ctr2)))&&(!(PIND&(1<<ctr1))))
ctr_v=7;
//ctr=8
else if((!(PIND&(1<<ctr8)))&&((PIND&(1<<ctr4)))&&((PIND&(1<<ctr2)))&&((PIND&(1<<ctr1))))
ctr_v=8;
//ctr=9
else if((!(PIND&(1<<ctr8)))&&((PIND&(1<<ctr4)))&&((PIND&(1<<ctr2)))&&(!(PIND&(1<<ctr1))))
ctr_v=9;
return ctr_v;
}
//---------------------------------------------
//ctrpn:对正负脉冲按钮开关的判断
//
//输入:无
//输出:ctr_p unsigned char
//---------------------------------------------
unsigned char ctrpn(void)
{
if(!(PIND&(1<<pn)))
ctr_pn=0;
else
ctr_pn=1;
return ctr_pn;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -