Прошу не закидывать камнями, это мой первый проект.
Взялся за задачу.
Счетчик на авр. В качестве камня решил взять 2313. дисплей взял тот что был в протеусе.
Импульсы приходят с частотой 1 мегагерц. Отрабатывают на прерывания. Так же будет кнопка на обнуление. Данный прибор хочу поставить на линию, счетчик готовой продукции.
Программную среду решил использовать CAVR ,брался за ИАР но не осилил жки модуль(в программировании я тоже не силен).
В общем накидал такую схемку.
Код получился такой.
Код
#include <90s2313.h>
#asm
.equ __lcd_port=0x18;PORTB
#endasm
#include <lcd.h>
#include <delay.h>
#include <stdio.h>
char i;
interrupt [EXT_INT0] void ext_int0_isr(void)
{
}
interrupt [EXT_INT1] void ext_int1_isr(void)
{
i++;
lcd_putchar(i);
delay_ms(20);
lcd_clear();
}
void main(void)
{
PORTD=0xff;
DDRD=0x00;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Rising Edge
// INT1: On
// INT1 Mode: Rising Edge
GIMSK=0xC0;
MCUCR=0x0F;
GIFR=0xC0;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
while (1)
{
};
}
В общем он на жки выводит символы, 123..abc.. и т.д
А надо счет, максимальная цифра 1000 000.
Подскажите что не так?
Эскизы прикрепленных изображений