Easyelectronics.ru

Электроника для всех
Текущее время: 26 фев 2021, 03:56

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 19:45 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
Зашел в тупик! Спасайте!
Пробую запустить прогу на Меге8535 с прицелом потом перенести в готовое устройство на Меге8.
(В связи с отсутствием переходника на Мегу8 на отладочной плате).

Пишу на ассемблере.

1. таблица векторов прерываний у Меги8535 больше. Т.е. уже придется потом править исходник.
2. таймер0 у Меги8 в режиме сброс по совпадению не работает.
3. Ладно, строю все на таймере 2, в надежде на совместимость.

Вот так инициализирую таймер2:
(внутр. генератор на 4Мгц)

Код:
;--------------------------- инициализация таймера ---------------------
      ldi temp, (1<<WGM21)|(1<<CS20)|(1<<CS22)
      out TCCR2, temp               ;установка режима - сброс по соапад.
                              ;и предделителя 1024
      ldi temp, TIMER_DIV
      out OCR2, temp               ;при этом делителе прер. возн. прим. 100раз в сек.
      ldi temp, 1<<OCIE2
      out TIMSK, temp               ;разр. прер. по совп.тайм.



в результате диодик мигайт с частой примерно в 4-6 раз больше расчетной.

Переключаюсь на таймер0:
Код:
      ldi temp, (1<<WGM01)|(1<<CS00)|(1<<CS02)
      out TCCR0, temp               ;установка режима - сброс по соапад.
                           ;и предделителя 1024
      ldi temp, TIMER_DIV
      out OCR0, temp               ;при этом делителе прер. возн. прим. 100раз в сек.
      ldi temp, 1<<OCIE0
      out TIMSK, temp               ;разр. прер. по совп. тайм.



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

Вот табл. векторо прерываний:

Код:
   .cseg               ; установка сегмета программы
   .org 0               ; сброс на 0 счетчика команд
   rjmp init              ; перепрыгиваем таблицу векторов.   
   reti      ;INT0addr   = 0x0001   ; External Interrupt 0
   reti      ;INT1addr   = 0x0002   ; External Interrupt 1
   rjmp timer2   ;OC2addr   = 0x0003   ; Timer/Counter2 Compare Match
   reti      ;OVF2addr   = 0x0004   ; Timer/Counter2 Overflow
   reti      ;ICP1addr   = 0x0005   ; Timer/Counter1 Capture Event
   reti      ;OC1Aaddr   = 0x0006   ; Timer/Counter1 Compare Match A
   reti      ;OC1Baddr   = 0x0007   ; Timer/Counter1 Compare Match B
   reti      ;OVF1addr   = 0x0008   ; Timer/Counter1 Overflow
   reti      ;OVF0addr   = 0x0009   ; Timer/Counter0 Overflow
   reti      ;SPIaddr   = 0x000a   ; SPI Serial Transfer Complete
   reti      ;URXCaddr   = 0x000b   ; USART, RX Complete
   reti      ;UDREaddr   = 0x000c   ; USART Data Register Empty
   reti      ;UTXCaddr   = 0x000d   ; USART, TX Complete
   reti      ;ADCCaddr   = 0x000e   ; ADC Conversion Complete
   reti      ;ERDYaddr   = 0x000f   ; EEPROM Ready
   reti      ;ACIaddr   = 0x0010   ; Analog Comparator
   reti      ;TWIaddr   = 0x0011   ; Two-wire Serial Interface
   reti      ;INT2addr   = 0x0012   ; External Interrupt Request 2
   reti   ;rjmp timer2   ;OC0addr   = 0x0013   ; TimerCounter0 Compare Match
   reti      ;SPMRaddr   = 0x0014   ; Store Program Memory Read
   .org INT_VECTORS_SIZE   ; Конец таблицы прерываний


Помогите плиз!!!

С ув.,
Влад.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 20:16 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
Разобрался сам.
У Евстифеева написано - таймер-счетчик Т2 МОЖЕТ работать в асинхронном режиме.
И есть чудная табл. 7.12 на 352 странице, где указано обычный таймер-счетчик и асинхронный таймер-счетчик. Вобщем у них разные настрой предделителя. Для Т2 необх. установить еще и бит SC21. Вот тогда будет 1024.

Но вопрос насчет совместимости по таблице прерываний остался!!!! -))))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 21:50 
Супермодератор
Аватара пользователя

Зарегистрирован: 28 янв 2010, 05:47
Сообщения: 1027
Откуда: Винница
Vlad777 писал(а):
Разобрался сам.
Но вопрос насчет совместимости по таблице прерываний остался!!!! -))))


а чо? у них таблица совместима до 18 вектора. Если не собираешься использовать INT2, Timer0 и spm, то после
Код:
reti      ;TWIaddr   = 0x0011   ; Two-wire Serial Interface

уже можешь писать программу. Или отступи по размеру большей таблицы и пиши там. Главное чтобы совместимость была на уровне инструкций :)

_________________
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 22:12 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6285
Откуда: Челябинск
да совместимы они почти полностью. Выкинь ненужные вектора на меге8 и все. А лучше юзай макроопределения конца таблицы векторов, чтобы само нужный адрес подставляло.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 22:18 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
Спасибо, так и сделаю!
Хотя конечно надо как-то развести переходник МЕГА16-МЕГА8.
Пока у меня без навесного монтажа не получается.
Есть переходники Tiny 13, 25, 2313 - очень удобно с ними прогу на отл. плате отлаживать!
Надо просить таки DI-HALTA что бы он к своей PIN BOARD разработал переходники!!!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 22:31 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6285
Откуда: Челябинск
Да думаю уже над набором переходников. Варианта два:
1. Сделать в дип виде, но плата нужна двусторонняя.
2. Сделать в smd виде, но тогда нельзя будет из переходника микруху выдрать.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 10 фев 2010, 23:01 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
DI HALT писал(а):
Да думаю уже над набором переходников. Варианта два:
1. Сделать в дип виде, но плата нужна двусторонняя.
2. Сделать в smd виде, но тогда нельзя будет из переходника микруху выдрать.

На мой взгляд лучше в ДИПе. Один раз помучатся, сделать плату переходника - и вечный кайф!!! -)))
А так конечно отлаживать можно, а потом шить параллельным программатором??? Не,
не интересно!!! Давайте лучше двухстороннюю!!!!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 11 фев 2010, 10:57 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:17
Сообщения: 2235
Откуда: Krasnoyarsk
Двусторонняя плата сильно дороже односторонней? Там вроде всего 9 перемычек получается, можно обойтись перемычками из нулевых сопротивлений. Сам покупать не собираюсь, но мое мнение, что лучше ДИП корпуса юзать.

_________________
У кошки четыре ноги: вход (in), выход (out), земля (gnd) и питание (vcc). А хвост для беспроводной передачи данных.
http://www.orcinus.ru (null)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 12 фев 2010, 13:49 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
Да зачем покупать!!!
Сами сделаем!!!
Помогите только с грамотной разводкой в лайете!!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 12 фев 2010, 15:16 
Заглядывает иногда

Зарегистрирован: 26 янв 2010, 21:54
Сообщения: 189
Откуда: Новосибирск
Кстати, если я правильно понимаю затею с переходниками, то на плате переходника должно быть 2 штуки PBS-20, которыми переходник будет одеваться на штыри пинборда.
Но фикус в том, что для той же меги8 на пинборд нужно будет развести только 12 ног - VCC, GND (питание), MOSI, MISO, SCK, RST (ISP), RX, TX (RS232), PD4-5 и PD7 (на светодиоды), ADC0. PC2-5 нафиг не сдались, бо JTAG'а на 8ке нет. А на самом переходнике должны стоять все 28 штырей (с подписями, которые не влезут :( - возможно, из-за этого придётся делать переходник более широким - вплоть до ISP слева и до подстроечника справа), ну и такое же гнездо под кварц (чтобы не глючило), как на пинборде.
Для тинек с разводкой всё проще.
Для мк в tqfp штыри можно развести по 4м сторонам, как это делается на большинстве макеток.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 12 фев 2010, 15:27 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
nathos писал(а):
Кстати, если я правильно понимаю затею с переходниками, то на плате переходника должно быть 2 штуки PBS-20, которыми переходник будет одеваться на штыри пинборда.


Не обязательно, можно и гребенки поставить для "втыкания" прямо в панельку... хотя это и жестоко! -)))
Тогда проблема со штырями (и подписями) - снимается!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 12 фев 2010, 15:41 
Заглядывает иногда

Зарегистрирован: 26 янв 2010, 21:54
Сообщения: 189
Откуда: Новосибирск
Vlad777 писал(а):
Не обязательно, можно и гребенки поставить для "втыкания" прямо в панельку... хотя это и жестоко! -)))
Тогда проблема со штырями (и подписями) - снимается!!!


Нет, проблема не снимается.
1. Я, например, собираю пинборд сам и буду ставить цанговые панельки. В цанги штыри не лезут вообще (пробовал насильно, не получилось). В обычные панельки лезут, но после этого ламели приобретают покалеченный вид - контакт после такого может банально пропадать.
2. При установке другого мк подписи на самом пинборде уже не актуальны. Например, в той же меге8 RST сидит на одной ноге вместе с PC6, а в меге16 RST - совершенно отдельная нога, а PC6 делит ногу с TOSC1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Совместимость Мега8 и Мега8535
СообщениеДобавлено: 12 фев 2010, 15:47 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 21:20
Сообщения: 117
Откуда: Днепропетровск
Я тоже собираюсь собирать пинборд сам, сейчас жду ее по почте. Но все равно собираюсь ставить обычную панельку. А проблему раздалбывания можно решить еще одной панелькой, такой себе буттер получается. -))) Ресет естественно необходимо заводить на Ресет, а вот несоответствия некоторых лап портов - можно отдельной бумажке записать! Все равно для работы нужна распечатка корпуса контроллера!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB