Цифровой одометр на Atmega8

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

s64 писал(а):значит я правильно понял :)))
Сори я эт я тупанул :)))
Нельзя всё знать, достаточно понимать.
Реклама
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

так детальки заказал теперь остается только ждать и надеяться что придут они в течении 2 недель :)
Нельзя всё знать, достаточно понимать.
Реклама
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

а ATmega8-16AU и ATmega8A-AU, ATmega8A-PU я только понял что у них разница в напряжении питания и у ATmega8-16AU и ATmega8A-AU (ADC 8 x 10 bit), а у ATmega8A-PU (ADC 6 x 10 bit) так оно или нет? а то я заказал
ATmega8-16AU а щас думаю толи заказал или нет :oops:
Нельзя всё знать, достаточно понимать.
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Цифровой одометр на Atmega8

Сообщение s64 »

заказал то, что нужно. корпус TQFP, нравятся они мне, ни чего сверлить не нужно.
... AU - TQFP
....PU - DIP
... MU - QFN/MLF
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

эт хорошо :) плохо что стоко дней пасыль идет блин :(
Нельзя всё знать, достаточно понимать.
Реклама
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Цифровой одометр на Atmega8

Сообщение s64 »

yur4ik писал(а):эт хорошо :) плохо что стоко дней пасыль идет блин :(
если интересует моё мнение, то зря закладываешься на 8-ю мегу, у нее нет будущего, единственный плюс - обьем памяти, но в данном случае это не нужно. Посмотри в сторону 48-й меги, памяти в 2 раза меньше, но есть отладчик dW, а это дорогого стоит, особенно если начнешь делать что то со связью с внешними устройствами, протоколы лучше отлаживать в железе.
Реклама
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

s64 писал(а):
yur4ik писал(а):эт хорошо :) плохо что стоко дней пасыль идет блин :(
если интересует моё мнение, то зря закладываешься на 8-ю мегу, у нее нет будущего, единственный плюс - обьем памяти, но в данном случае это не нужно. Посмотри в сторону 48-й меги, памяти в 2 раза меньше, но есть отладчик dW, а это дорогого стоит, особенно если начнешь делать что то со связью с внешними устройствами, протоколы лучше отлаживать в железе.
я ее выбрал из за того что она дешевая вот... :) в будущем возможно буду делать на 48 :)
Нельзя всё знать, достаточно понимать.
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Цифровой одометр на Atmega8

Сообщение s64 »

что, дешевле 30руб ? я 48-ю мегу по 30 беру и то считаю дорого, ей цена $0.5
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение O-LED »

а где вы 48 меги покупаете?? какой корпус?
а по поводу 8, это вы зря. я думаю атмел запустил новую ревизию с буквой А, не для того чтоб прекратить производство.
KIT
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

s64 писал(а):что, дешевле 30руб ? я 48-ю мегу по 30 беру и то считаю дорого, ей цена $0.5
где я закупаюсь 48 стоит 58р мега 8 70р.
Нельзя всё знать, достаточно понимать.
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Цифровой одометр на Atmega8

Сообщение s64 »

O-LED писал(а):а где вы 48 меги покупаете?? какой корпус?
а по поводу 8, это вы зря. я думаю атмел запустил новую ревизию с буквой А, не для того чтоб прекратить производство.
Живу в Тольятти, здесь же и покупаю :)) с DIP давно не имею ни чего общего, если только судом присудят. Ленивый я, сверлить кучу отверстий. Толи дело TQFP - протравил плату и сразу паяй. Про 8-ю мегу я писАл человеку начинающему осваивать AVR, почему то у меня такое чуство, что не напишет человек сразу программу даже на 4к, да еще без отладки - отсюда и совет. А так, согласен 8-я нужна, памяти много, габарит маленький, на борту есть всё, что нужно (кроме отладчика, ни JTAG, ни dW)
svr007
Родился
Сообщения: 15
Зарегистрирован: Пт ноя 12, 2010 11:58:37

Re: Цифровой одометр на Atmega8

Сообщение svr007 »

s64 писал(а):что, дешевле 30руб ? я 48-ю мегу по 30 беру и то считаю дорого, ей цена $0.5
это вообще халявная цена,я атмегу48 в самаре в вольт мастере по 120р беру,тинька 2313 там 70 стоит
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Цифровой одометр на Atmega8

Сообщение s64 »

svr007 писал(а):
s64 писал(а):что, дешевле 30руб ? я 48-ю мегу по 30 беру и то считаю дорого, ей цена $0.5
это вообще халявная цена,я атмегу48 в самаре в вольт мастере по 120р беру,тинька 2313 там 70 стоит
:)) приезжай, я тебе в 2 раза дешевле продам.
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

как же наша почта работает отвратительно :( до сих пор нету посылки :(
Нельзя всё знать, достаточно понимать.
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

все посыль наконец то получил :) теперь на каникулах дальше займусь :)
Нельзя всё знать, достаточно понимать.
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

перед сборкой решил все опять протестить в проутосе так вот при обнулении общего пробега обнуляется и сам суточник :( начал разбираться почему такое происходит, и пришел к выводу, что когда появляется на PD3 лог 0 то именно в этот момент и обнуляется суточник. такое ощущение что мк перезапускается, потому что на суточнике появляются прошлое значение(запускаю моделирование допустим на суточнике 109,6 а на общем 000109, прогоняю например суточник до 200 нажимаю обнулить общий пробег и вот на суточнике появляется 109,6). что может такое быть то, или это опять проутес мозг парит?

Код: Выделить всё

#include <mega8.h>

unsigned char number[] = 
{
0b11000000,
0b11111001,
0b10100100,
0b10110000,
0b10011001,
0b10010010,
0b10000010,
0b11111000,
0b10000000,
0b10010000
};
//числа для вывода на индикатор
eeprom unsigned int data1 = 0 ;  //в еепром суточный пробег
eeprom unsigned long int data2=0;//в еепром общий пробег
unsigned int dat1 = 0 ;          //суточный пробег
unsigned long int dat2=0;        //общий пробег
unsigned int d1[4] ;             //разделенный суточный пробег
long int d2[6];                  //разделенный общий пробег
//для интилизации
volatile unsigned char i= 0 ;    //Чтение данных с еепром
volatile unsigned char im= 0 ;   //число импульсов с датчика на 100м
unsigned char flag_write = 0;    // флаг записи в EEPROM
interrupt [EXT_INT0] void ext_int0_isr(void)
{
im++;
if (im==2){
im=0;
     dat1++;
    if (dat1 == 10000){ dat1 = 0;}
    dat2++;
    if (dat2 == 10000000){ dat2 = 0;} 
}
}
void main(void){
//порт, к которому подкл. сегменты
PORTB =0xff; 
DDRB =0xff; 
//порт, к которому подкл. катод
PORTC = 0;
DDRC |= (1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0); 
PORTD = 0;
PORTD |= (1<<7);// подтяжка к Vcc
DDRD |= (1<<5)|(1<<4)|(1<<1)|(1<<0); 
//  //инициализация таймера Т0 
  TIMSK = (1<<TOIE0);
  TCCR0 = (0<<CS02)|(1<<CS01)|(0<<CS00);
  TCNT0 =  0xb2;
GICR|=0xC0;
//MCUCR=0x0A;
//GIFR=0xC0;
if(i==0){
i++;
dat1=data1;
dat2=data2;
}
//разрешаем прерывания
#asm("sei");
while(1){
//суточный пробег
d1[0]=dat1%10;                   //1 сегмент
d1[1]=(dat1/10)%10;              //2 сегмент
d1[2]=(dat1/100)%10;             //3 сегмент
d1[3]=dat1/1000;                 //4 сегмент
//общий пробег
d2[0]=(dat2/10)%10;              //1 сегмент
d2[1]=(dat2/100)%10;             //2 сегмент
d2[2]=(dat2/1000)%10;            //3 сегмент
d2[3]=(dat2/10000)%10;           //4 сегмент
d2[4]=(dat2/100000)%10;          //5 сегмент
d2[5]=dat2/1000000;              //6 сегмент
if (PIND.6==0)
{
dat1= 0;
}   
if (PIND.3==0)
{
dat2=0;
}   
if (PIND.7!=0)
{
if( !flag_write)
{
data1=dat1;
data2=dat2;
flag_write = 1;
}
}
}
}
interrupt [TIM0_OVF] void Timer0Ovf(void)
{
static unsigned char count1 = 0;
TCNT0 = 0xb2;
PORTD &= ~((1<<5)|(1<<4)|(1<<1)|(1<<0)); 
PORTC &= ~((1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0));  
//зажигаем следующий разряд
   if (count1 == 9) {
      PORTB = number[d2[0]];
      PORTC |= (1<<5);
   } 
   if (count1 == 8) {
      PORTB = number[d2[1]];
      PORTC |= (1<<4);
   }  
   if (count1 == 7) {
      PORTB = number[d2[2]];
      PORTC |= (1<<3);
   } 
   if (count1 == 6) {
      PORTB = number[d2[3]];
      PORTC |= (1<<2);
   }     
   if (count1 == 5) {
      PORTB = number[d2[4]];
      PORTC |= (1<<1);
   } 
   if (count1 == 4) {
      PORTB = number[d2[5]];
      PORTC |= (1<<0);
   } 
   if (count1 == 3) {
      PORTB = number[d1[0]];
      PORTD |= (1<<5);
   }  
   if (count1 == 2) {
      PORTB = number[d1[1]];
      PORTB.7=0;
      PORTD |= (1<<4);
   } 
   if (count1 == 1) {
      PORTB = number[d1[3]];
      PORTD |= (1<<1);
   }  
   if (count1 == 0) {
      PORTB = number[d1[2]];
      PORTD |= (1<<0); 
   }
  count1++;
    if (count1 == 10) count1 = 0;   
}
схема вроде эта
Нельзя всё знать, достаточно понимать.
Юрій.
Родился
Сообщения: 1
Зарегистрирован: Чт апр 14, 2011 21:13:49

Re: Цифровой одометр на Atmega8

Сообщение Юрій. »

Интересно , заработало в железе ?
eufs
Опытный кот
Сообщения: 772
Зарегистрирован: Вс апр 10, 2011 02:24:06
Откуда: г.Северодонецк

Re: Цифровой одометр на Atmega8

Сообщение eufs »

Когда-то пришлось переделывать механический одометр на электронный на автомобиле деу нубира. Применял матричный дислей от моторолы V220(наружный) и мегу 48. Сделал несколько режимов индикации. Измерял общий пробег,суточный пробег,скорость. Режимы переключались кнопкой под старым толкателем сброса. Долгое нажатие - сброс суточного пробега. Вот что получилось(еле фотки нашел).
Во всем этом деле есть один недостаток- малое количество перезаписей еепром.Если записывать суточный пробег с сотнями метров, то ресурс еепром исчерпается после 100000 км. Можно было добавить ухищрений с адресами, но не хватило времени.
Вложения
4.jpg
(18.84 КБ) 636 скачиваний
3.jpg
(17.88 КБ) 556 скачиваний
2.jpg
(18.68 КБ) 531 скачивание
1.jpg
(19.43 КБ) 565 скачиваний
0.jpg
(34.23 КБ) 395 скачиваний
C0FFEE=‭12648430‬
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

Re: Цифровой одометр на Atmega8

Сообщение yur4ik »

всем здрастье. извиняюсь за долго отсутствие, проблемы в школе, родаки... короче пока не до него, как будет свободненькое время сразу же займусь)))
Нельзя всё знать, достаточно понимать.
Vedmak
Родился
Сообщения: 1
Зарегистрирован: Вт апр 26, 2011 14:52:01

Re: Цифровой одометр на Atmega8

Сообщение Vedmak »

Добрый день.
Возможно ли втавить вместо маленького экрана одометра на авто Shevrolet Aveo 1.6 шанхай, большой.
Информации на маленький в специальном режиме выводится много, но только в особом режиме.
Если возможно как-то присоединить больший экран, от м.тел., то что для этого нужно. Спасибо.
Ответить

Вернуться в «AVR»