Вс май 05, 2013 21:32:17
#include <mega8.h>
#define UH PORTD.0
#define UL PORTD.1
#define VL PORTD.2
#define WL PORTD.3
#define VH PORTD.4
#define WH PORTD.5
#define START PINB.2
#define STOP PINB.0
#define REVERS PINB.1
#define HALL1 PINC.0
#define HALL2 PINC.1
#define HALL3 PINC.2
//unsigned char tmp=0;
// char flag=1;
void port_init()
{
//PORTD=0x01;
DDRD=0b11111111;
DDRC=0;
PORTC=0xFF;
DDRB=0;
PORTB=0xFF;
}
void timer_init()
{
TCCR2=0x01;
TIMSK=0x40;
TCNT2=0x30;
}
void pwm_init()
{ OCR2=0x00;
// TCCR2=(1<<COM21)|(1<<WGM20)|(1<<WGM21)|(1<<CS20);
};
interrupt [TIM2_OVF] void overflow_timer2 (void)
{
char tmp;
tmp = PINC;
//PORTD = PINC;
switch (tmp)
{
case 0b00000101: PORTD=0b00000101; break;
case 0b00000001: PORTD=0b00001001; break;
case 0b00000011: PORTD=0b00011000; break;
case 0b00000010: PORTD=0b00010010; break;
case 0b00000110: PORTD=0b00100010; break;
case 0b00000100: PORTD=0b00100001; break;
}
#asm("sei")
}
void main()
{
port_init();
timer_init();
pwm_init();
#asm("sei")
while (1)
{};
}
Вс май 05, 2013 22:59:09
Пн май 06, 2013 16:36:50
Пн май 06, 2013 20:43:25
вы оказались абсолютно правы
готовый проект я выложу здесь
Вт май 14, 2013 17:26:01
Вс мар 22, 2015 22:06:06
Вт окт 31, 2017 07:46:57