示例#1
0
unsigned char check_u_button(int *u) 
{
	// check U+ button:
	sbi(PORTB,PB7); 
	sbi(PORTB,PB2);
	sbi(PORTB,PB1);
	cbi(PORTB,PB0);
	kbd_wait();
	if (bit_is_clear(PINB,PINB5)){
		(*u)++;
		return(1);
	}
	// check U- button:
	sbi(PORTB,PB7); 
	sbi(PORTB,PB2);
	cbi(PORTB,PB1);
	sbi(PORTB,PB0);
	kbd_wait();
	if (bit_is_clear(PINB,PINB5) && (*u)>0){
		(*u)--;
		if((*u)<0){
			(*u)=0;
		}
		return(1);
	}
	return(0);
}
示例#2
0
unsigned char check_i_button(int *i) 
{
	// check I+ button:
	sbi(PORTB,PB7); 
	cbi(PORTB,PB2);
	sbi(PORTB,PB1);
	sbi(PORTB,PB0);
	kbd_wait();
	if (bit_is_clear(PINB,PINB5)){
		(*i)++;
		return(1);
	}
	// check I- button:
	cbi(PORTB,PB7); 
	sbi(PORTB,PB2);
	sbi(PORTB,PB1);
	sbi(PORTB,PB0);
	kbd_wait();
	if (bit_is_clear(PINB,PINB5) && (*i)>0){
		(*i)--;
		if((*i)<0){
			(*i)=0;
		}
		return(1);
	}
	return(0);
}
示例#3
0
uint8_t check_i_button(int16_t *i) 
{
	// check I+ button:
	PORTC|=(1<<PORTC3); // to vcc
	PORTC|=(1<<PORTC4); // to vcc
	PORTB&=~(1<<PORTB2); // to gnd
	PORTC|=(1<<PORTC5); // to vcc
	kbd_wait();
	if (bit_is_clear(PINB,PINB5)){
		(*i)++;
		return(1);
	}
	// check I- button:
	PORTC|=(1<<PORTC3); // to vcc
	PORTC|=(1<<PORTC4); // to vcc
	PORTB|=(1<<PORTB2); // to vcc
	PORTC&=~(1<<PORTC5); // to gnd
	kbd_wait();
	if (bit_is_clear(PINB,PINB5) && (*i)>0){
		(*i)--;
		if((*i)<0){
			(*i)=0;
		}
		return(1);
	}
	return(0);
}
示例#4
0
void setleds(void)
{
    kbd_wait();
    outb(0xed, 0x60);
    kbd_wait();
    outb(leds, 0x60);
    return;
}
示例#5
0
unsigned char check_store_button(void) 
{
	// check store button:
	cbi(PORTB,PB2);
	kbd_wait();
	if (bit_is_clear(PINB,PINB3)){
		return(1);
	}
	return(0);
}
示例#6
0
uint8_t check_store_button(void) 
{
	// check store button:
	PORTB&=~(1<<PORTB2); // to gnd
	kbd_wait();
	if (bit_is_clear(PINB,PINB3)){
		return(1);
	}
	return(0);
}
示例#7
0
文件: kbd.c 项目: kisom/pmon
static void kbd_write_output_w(int data)
{
	kbd_wait();
	kbd_write_output(data);
}
示例#8
0
文件: kbd.c 项目: kisom/pmon
static void kbd_write_command_w(int data)
{
	kbd_wait();
	kbd_write_command(data);
}