реклама на сайте
подробности

 
 
> Счетчик на 2313, счетчик импульсов
Aleksandr_des
сообщение Nov 24 2008, 14:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 16-06-08
Из: Челны
Пользователь №: 38 318



Прошу не закидывать камнями, это мой первый проект.
Взялся за задачу.
Счетчик на авр. В качестве камня решил взять 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.
Подскажите что не так?
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
www.ea16.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Nov 24 2008, 15:51
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Aleksandr_des @ Nov 24 2008, 18:53) *
Код получился такой.
Код
/************************/
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();

}

В общем он на жки выводит символы, 123..abc.. и т.д
А надо счет, максимальная цифра 1000 000.
Подскажите что не так?

Дык, все не так.
1.Для того чтоб посчитать до 10^6 надо переменную типа long
2. lcd_putchar(i); выводит char - вам же надо вывести long
Исправляйте кривизну, и удачи! smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 24 2008, 16:32
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(_Pasha @ Nov 24 2008, 18:51) *
Дык, все не так.

Вот именно, что ВСЕ, начиная с попытки вывести на дисплейчик цифири С ЧАСТОТОЙ В МЕГАГЕРЦ в обработчике прерывания да еще ДОПОЛНИТЕЛЬНО сделав задержечку в нем-же на 20MS. Короче даже и говорить не совершенно не о чем.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Aleksandr_des   Счетчик на 2313   Nov 24 2008, 14:53
- - Aleksandr_des   Переписал все. Код#include <90s8535.h> #...   Nov 26 2008, 13:24
- - Nemo2000   Да не long в char вам переводить надо, а понять, ...   Nov 26 2008, 13:41
|- - Aleksandr_des   Цитата(Nemo2000 @ Nov 26 2008, 16:41) Да ...   Nov 26 2008, 13:53
|- - vik0   Значительно лучше. Цитата(Aleksandr_des @ No...   Nov 26 2008, 14:03
||- - mempfis_   ЦитатаИ еще. Не long i; а volatile long i; Попу...   Nov 26 2008, 15:35
||- - Aesthete Animus   Цитата(mempfis_ @ Nov 26 2008, 18:35) Поп...   Nov 26 2008, 17:59
||- - vik0   Цитата(mempfis_ @ Nov 26 2008, 17:35) Поп...   Nov 26 2008, 18:09
||- - mempfis_   Спасибо за ответ . Суть понял - volatile указывает...   Nov 27 2008, 08:50
||- - vik0   Цитата(mempfis_ @ Nov 27 2008, 10:50) В о...   Nov 27 2008, 08:57
||- - mempfis_   ЦитатаА вы оптимизацию включите Подобное предупреж...   Nov 27 2008, 10:28
||- - Aesthete Animus   Цитата(mempfis_ @ Nov 27 2008, 13:28) Под...   Nov 27 2008, 17:35
||- - mempfis_   Цитата(Aesthete Animus @ Nov 27 2008, 21...   Nov 28 2008, 08:32
||- - mempfis_   ""   Nov 28 2008, 08:32
|- - Nemo2000   Цитата(Aleksandr_des @ Nov 26 2008, 17:53...   Nov 26 2008, 14:30
|- - vik0   Цитата(Nemo2000 @ Nov 26 2008, 16:30) доб...   Nov 26 2008, 14:46
|- - Nemo2000   Цитата(vik0 @ Nov 26 2008, 18:46) Эээ.. А...   Nov 26 2008, 15:12
- - vvs157   Цитата(Aleksandr_des @ Nov 24 2008, 17:53...   Nov 26 2008, 14:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01389 секунд с 7
ELECTRONIX ©2004-2016