Полностью в код не вникал, но вот такие строчки мне тут не нравятся: ... Флаг V используется только при работе с данными со знаком - вероятнее всего ошибка именно в этом.
Грац! проблема была именно в этом... у меня 3 системы команд уже в голове перемешано ( я еще рад вчера был что преобразование символов в числа 0-9 сразу завелось, могу выложить )
Ну я еще новичек и делаю все на макетке. Раз конденра нинадо пойду лучше к питанию дросель с коненсатором припаяю, хотя помех по питанию быть не должно движков там покачто нету а на питаний от трансформатора стоит электролит 4700мкф
Программатор AVR на COM порт ПК есть на страничке "Все о прошивке AVR" учебного курса по микроконтроллерам AVR - http://avr123.nm.ru/07.htm - там же программатор и на USB AVR910 простой в изготовлении.
SiemX писал(а):Что будет если к меге16 подключить кварц на 17.734 мгц?
Будет работать и кажись на 40 МГц, как то встречал в нете, но вроде тогда таймеры не верно работают. А смысл в такой большой частоте, если нужно больше то брать соответсвующий контроллер, а не издеваться над МК, тем более Мегой16, знаешь сколько она от начинающих микроконтроллерщиков пострадала
#include <tiny45.h> #include <delay.h> // Analog Comparator interrupt service routine interrupt [ANA_COMP] void ana_comp_isr(void) { PORTB.2=ACSR.5; // вывод состояния бита ACO в Порт B бит 2 delay_ms(20); }
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFh // OC1A output: Disconnected // OC1B output: Disconnected // Timer 1 Overflow Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off PLLCSR=0x00; TCCR1=0x00; GTCCR=0x00; TCNT1=0x00; OCR1A=0x00; OCR1B=0x00; OCR1C=0x00;
// External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-5: Off GIMSK=0x00; MCUCR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; USICR=0x00; // Interrupt on Output Toggle ACSR=0x08; // Global enable interrupts #asm("sei") while (1){}; };