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

 
 
> "Курсовой макет"
Dj Kitt
сообщение Jun 3 2006, 12:31
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Доброго времени суток господа!!!

Делаю велокомпьютер(Скорость, лаг)

хочу использовать графический lcd от трубки Ericsson A2618s....
Разобрал телефон, снял нежно матрицу и присел.... glare.gif
В самом толстом месте ЖК-матрица имеет толщину ~2.17 мм, выполнена она на стекле в следствие
чего "просвечивается" насквозь....
Всё что нашел из надписей на матрице - RB129B .... help.gif
Сверху нанесено напыление 6-ти контактов
Как разобраться какой за что отвечат???? ohmy.gif ohmy.gif ohmy.gif

Сообщение отредактировал Dj Kitt - Jun 3 2006, 12:33


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 15)
Rst7
сообщение Jun 3 2006, 12:54
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Так делал бы прямо из Эрика, там внутри AVR wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 3 2006, 13:29
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Цитата
Так делал бы прямо из Эрика, там внутри AVR


Не ответ....
Был бы Эрик рабочим я бы его не разбирал.... blink.gif


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
Anton_13
сообщение Jun 4 2006, 09:20
Сообщение #4





Группа: Участник
Сообщений: 7
Регистрация: 24-05-06
Пользователь №: 17 412



Цитата(Dj Kitt @ Jun 3 2006, 16:31) *
Как разобраться какой за что отвечат???? ohmy.gif ohmy.gif ohmy.gif


http://electronix.ru/forum/index.php?showt...0&gopid=117480&
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Jun 4 2006, 16:12
Сообщение #5


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Прошу пользоваться smile.gif
Прикрепленный файл  LCD_Ericsson_2618_Pinout.zip ( 13.36 килобайт ) Кол-во скачиваний: 270
Прикрепленный файл  LCD_Ericsson_2618_Signals.zip ( 65.92 килобайт ) Кол-во скачиваний: 251


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 10 2006, 15:38
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Всем спасибо за памощь!!!!
Сейчас осваиваю I2C.... Скоро будут еще вопросы


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 21 2006, 18:33
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Всем доброго временеи суток!!!!
Появились вопросы, блин....

CVAVR материться при упоминании разряда TWINT, регистра TWCR, главное- все остальные разряды CVAVR понимает....

Чем лечиться????


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
SergSit
сообщение Jun 21 2006, 19:36
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 9-12-05
Пользователь №: 12 031



Можно решить проблему двумя способоми.
1сп. В своей программе написать #define TWINT 7; 7 это номер разряда в регистре TWCR по даташиту на контроллер.В данном случае для ATmega16
2сп. Дописать этот разряд в ****.h файле на данный контроллер. Структура этого файла простая

Сообщение отредактировал SergSit - Jun 21 2006, 19:37
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 22 2006, 04:12
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



SergSit, спасибо!!!!!


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 22 2006, 09:53
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Блин.... в файле *****.h не прописан ни один разряд ни одного регистра TWI, как их прописать?????
Пришлите кто-нить файл с прописанными разрядами!!!!!
Или обясните на конкретном примере как их прописывать!!!!!

Заранее спасибо!


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
otrog
сообщение Jun 22 2006, 10:28
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Цитата(Dj Kitt @ Jun 22 2006, 13:53) *
Блин.... в файле *****.h не прописан ни один разряд ни одного регистра TWI, как их прописать?????
Пришлите кто-нить файл с прописанными разрядами!!!!!
Или обясните на конкретном примере как их прописывать!!!!!

Заранее спасибо!

Можно поступить так:
Берется *.h на нужный контроллер из IAR-а.
Копируются все определения битов в буфер обмена.
Вставляются в *.h от CVAVR.


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Jun 22 2006, 18:17
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(otrog @ Jun 22 2006, 14:28) *
Цитата(Dj Kitt @ Jun 22 2006, 13:53) *

Блин.... в файле *****.h не прописан ни один разряд ни одного регистра TWI, как их прописать?????
Пришлите кто-нить файл с прописанными разрядами!!!!!
Или обясните на конкретном примере как их прописывать!!!!!

Заранее спасибо!

Можно поступить так:
Берется *.h на нужный контроллер из IAR-а.
Копируются все определения битов в буфер обмена.
Вставляются в *.h от CVAVR.

И так 30 раз подряд для всех чипов,имеющих TWI.Имхо,лучше создать свои или взять готовые библио-
течные файлы twi master,twi slave и использовать их.
А разряды прописываются так:
#define TWIE 0
#define TWEN 2
#define TWWC 3
#define TWSTO 4
#define TWSTA 5
#define TWEA 6
#define TWINT 7


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 25 2006, 08:12
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Огромное спасибо всем, кто отозвался!!!

Новый вопрос, ламерский, поэтому просьба не пинать начинающегоsmile.gif

Для определения скорости и всего остального я буду использовать проверенный способ - геркон и магниты.

1)Как я понял, мне необходимоо этот геркон вещать лапу внешнего прерывания INT0/INT1, если не прав - поправте.

2) пришло прерывание, счетчик прибавил в к пройденному пути Х.ХХ метров, а как мне засечь время между пришедшими импульсами(вопрос ламерский,Т.К. это принцип частотомера для до 100-150 гц, я так и не понял как они работают...( на колесе будут несколько магнитов))???

Разложите пожалуйста этот вопрос по полочкам, очень прошу!
Заранее спасибо!

Сообщение отредактировал Dj Kitt - Jun 25 2006, 08:14


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 25 2006, 09:00
Сообщение #14


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Цитата
1)Как я понял, мне необходимоо этот геркон вещать лапу внешнего прерывания INT0/INT1, если не прав - поправте

В принципе, верно, хотя при необходимости можно повесить его на любую ногу контроллера, а состояние этой ноги считывать программно в основном цикле. 100 Гц - достаточно маленькая частота для программной обработки smile.gif.
Цитата
2) пришло прерывание, счетчик прибавил в к пройденному пути Х.ХХ метров, а как мне засечь время между пришедшими импульсами

Завести таймер на отсчет, скажем, миллисекунд и по прерыванию от геркона считывать и обнулять этот таймер. А дальше элементарная математика.
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jun 25 2006, 19:03
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Спасибо, но это ответ не совсем для ламера.....=)

Т.е. таймер считает например 10 мс, когда приходит прерывание, отсчитанное значение уходит в переменную, а сам счетчик сбрасывается, я правильно понял??? Поправте....
И еще, опишите плиз на С алгоритм обработкий таймера.
( на форуме порылся, там почти всё на АСМе)

Сообщение отредактировал Dj Kitt - Jun 25 2006, 19:04


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jun 25 2006, 20:11
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Завести таймер на отсчет, скажем, миллисекунд и по прерыванию от геркона считывать и обнулять этот таймер. А дальше элементарная математика.

Берете таймер, у которого есть режим CTC (clear timer on compare).
Ставим в этот режим. В регистр сравнения пишем число клоков,приходящихся на 1мс (наприметр для 10 МГЦ - 10 000, не забываем также ,что у таймера есть прескаллер) .Разрешаем прерывание по сравнению.
Код
void InitSysTimer2(void)
{
TCNT2 = 0;
OCR2 = 138;//0.1мкс f= 11 059 000
TCCR2 = 0;
TCCR2 = (1 << WGM21)|(1 << CS21);//CTC mode
TIMSK |= (1 << OCIE2);
}

В прерывании увеличиваем переменную
Код
volatile int ms_count

Все у вас пошел счет времени.
В прерывании от геркона, считываем ее - это будет время одного(или 1/2,1/3, 1/4) оборота в зависимости от количества срабатываний на оборот и сбрасываем. Единственное, что следует продумать - это разруливание двух прерываний, оперирующих с одной переменной.

Ну и напоследок - для таких условий как велосипед, лучше не геркон , а датчик Холла.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 5 2006, 18:34
Сообщение #17


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Огромное спасибо, beer_warrior!!!!

Новый вопрос, господа: CVAVR опять материться фразой Undefined symbol "interrupt" на фразу: interrupt [TIM0_OVF] void timer0_ovf_isr(void)

Как вылечить???


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
WHALE
сообщение Jul 6 2006, 03:47
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Скорее всего вы где-то раньше по тексту со скобками ошиблись-количество открывающих не соответст-
вует количеству закрывающих.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 6 2006, 07:03
Сообщение #19


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Да вроде всё есть...


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
otrog
сообщение Jul 6 2006, 07:21
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Цитата(Dj Kitt @ Jul 6 2006, 11:03) *
Да вроде всё есть...

Только что специально удалил "}" перед
Код
interrupt [TIM2_COMP] void timer2_comp_isr(void)
CV выдал
Цитата
Undefined symbol "interrupt"
smile.gif


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
TamTam
сообщение Jul 6 2006, 07:21
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Код в студию
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 7 2006, 08:00
Сообщение #22


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Пожалста.... Черновой вариант...

void main(void)
{
////Èíèò 2-ãî òàéìåðà

PORTB=0x00;
DDRB=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

////////// ×àñû ðåàëüíîãî âðåìåíè ñ ìîìåíòà âêëþ÷åíèÿ ////////////////
interrupt[TIM2_OVF] void timer2_ovferfow(void){
// ïåðåçàãðóæàåì òàéìåð
TCNT2=0x00;
sec=sec++;
if (sec == 60)
{ sec=0; min++;
if (min==60){min=0; hour++;}}


// External Interrupt(s) initialization
// INT0: Off
// INT1: On
// INT1 Mode: Falling Edge
GICR=0x80;
MCUCR=0x08;
GIFR=0x80;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0x7A;
// Place your code here

}
// Global enable interrupts
#asm("sei")

interrupt [EXT_INT1] void ext_int1(void){
ee_put=ee_put+2.1;

init_lcd;
LCD_Write;
}
while (1)
{
// Place your code here

};
}


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
vet
сообщение Jul 7 2006, 08:13
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



а скобку закрыть? smile.gif


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 7 2006, 08:37
Сообщение #24


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Оперативно, блин.....smile.gif

Сорри, в упор не вижу, где нада енту самую скобку закрыть....sad.gif((


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
otrog
сообщение Jul 7 2006, 08:47
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Вынесите объявление прерывания из тела main-а.

Во:
Код
////////// ?anu ?aaeuiiai a?aiaie n iiiaioa aee??aiey ////////////////
interrupt[TIM2_OVF] void timer2_ovferfow(void)
{
  // ia?acaa?o?aai oaeia?
  TCNT2=0x00;
  sec=sec++;
  if (sec == 60)
  {
    sec=0; min++;
    if (min==60)
    {
      min=0; hour++;
    }
  }
}

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
  // Reinitialize Timer 0 value
  TCNT0=0x7A;
  // Place your code here
}

interrupt [EXT_INT1] void ext_int1(void)
{
  ee_put=ee_put+2.1;

  init_lcd;
  LCD_Write;
}

void main(void)
{
////Eieo 2-ai oaeia?a

  PORTB=0x00;
  DDRB=0x00;
  ASSR=0x00;
  TCCR2=0x00;
  TCNT2=0x00;
  OCR2=0x00;
  
  // External Interrupt(s) initialization
  // INT0: Off
  // INT1: On
  // INT1 Mode: Falling Edge
  GICR=0x80;
  MCUCR=0x08;
  GIFR=0x80;
  
  // Global enable interrupts
  #asm("sei")
  

  while (1)
  {
  // Place your code here
  
  }
}


Совет на будущее. Старайтесь структурировать свои программы, они от этого будут легче читаться wink.gif .


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 7 2006, 12:38
Сообщение #26


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Вложенность функций на С недопустима.
И дело здесь не столько в структурировании.
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 7 2006, 13:14
Сообщение #27


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Птьфу ё......Блин... Спасибо!!!!:)smile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gif


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 8 2006, 12:39
Сообщение #28


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Итак... В принципе программу ПОЧТИ закончил.... rolleyes.gif
Осталось самое интересное - преобразование нужных мне символов в код для отправки по i2c в контроллер LCD... У LCD контроллер PCF8548, так вот он вырисовывает всё "Слева направо, сверху вниз", блин.... так вот одна буква/цифра имеет формат 5х8, то мне необходимо в каждом такте подряд выводить побитно какой пиксель зажигать...
т.е. например буква Р будет иметь вид: (Высота 5 пикселей, ширина - 3)
11111000
10100000
11100000
- в таком виде и порядке я должен её вырисовывать.... blink.gif

Так вот вопрос: [u]Как мне преобразовать результаты для вывода их на экран?????[/u]

Есть идея, но, как мне кажется она бредовая(хотя, быть может ед.вариант). unsure.gif

Я создаю в EEPROM(или в программе) массивы для всех букв, цифр, знаков и т.д. какие буду использовать..., далее я в цикле буду выводить "как оно надо" на экран....( этот вариант меня не устраивает по причине увеличения объема программы.....

Поправляйте, предлагайте... Помогайте, короче! smile.gif
Заранее спасибо!

Сообщение отредактировал Dj Kitt - Jul 8 2006, 12:42


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jul 8 2006, 13:05
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Если индикатор без встроенного знакогенератора (а ИМХО PCF8548 являеться таковым), придется эти самые символы держать в виде таблиц во флэш, никуда от этого не уйдешь.
По логике - делается функция которая вычисляет позицию знакоместа (переводит строку и позицию символа в координаты пикселей), а потом выводит последовательно 5 байт из таблицы в которой описан растр. В принципе эти растры возможно держать сжатыми и распаковывать на лету(повторяющихся последовательностей будет очень много), но это может сильно осложить задачу. Хотя можно и использовать несколько макросов для наиболее часто встречающихся последовательностей( например все 0.все 1) .
Да и еще. Существуют программы для создания таблиц шрифтов, вручную мучится не стоит.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 8 2006, 14:38
Сообщение #30


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Цитата
Существуют программы для создания таблиц шрифтов, вручную мучится не стоит.


Подскажите плиз где их взять....?


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post
otrog
сообщение Jul 10 2006, 05:28
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Цитата(Dj Kitt @ Jul 8 2006, 18:38) *
Цитата
Существуют программы для создания таблиц шрифтов, вручную мучится не стоит.


Подскажите плиз где их взять....?

http://electronix.ru/forum/index.php?showtopic=16075


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
Dj Kitt
сообщение Jul 12 2006, 08:39
Сообщение #32


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 3-06-06
Из: Краснодар
Пользователь №: 17 736



Сенкс!=)


--------------------
Да, мы такая нация! Мы и Гитлера до самоубийства довели!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 13:14
Рейтинг@Mail.ru


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