Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 26.11.2008, 18:24  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

Ну просто ОГРОМНЕЙШЕЕ Вам СПАСИБО. Еще бы объяснили, что такое вектора прерывания (на маленьком примере). И еще в довеску
//UCSRB&=0xe7;ATMega8
UCSR0B&=0xe7;// Изменено под ATMega88
Реклама:
FedorChek вне форума  
Непрочитано 26.11.2008, 22:29  
DrunyaRuma
Временная регистрация
 
Регистрация: 13.02.2008
Сообщений: 60
Сказал спасибо: 10
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
DrunyaRuma на пути к лучшему
По умолчанию

Сообщение от FedorChek
Ну просто ОГРОМНЕЙШЕЕ Вам СПАСИБО. Еще бы объяснили, что такое вектора прерывания (на маленьком примере). И еще в довеску
//UCSRB&=0xe7;ATMega8
UCSR0B&=0xe7;// Изменено под ATMega88
Да тут все верно, о векторах постараюсь написать завтра.
DrunyaRuma вне форума  
Непрочитано 28.11.2008, 14:53  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

Жду с нетерпением.
FedorChek вне форума  
Непрочитано 30.11.2008, 17:59  
DrunyaRuma
Временная регистрация
 
Регистрация: 13.02.2008
Сообщений: 60
Сказал спасибо: 10
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
DrunyaRuma на пути к лучшему
По умолчанию

Вот ради спортивного интереса решил написать программу
для автоматического перевода кода с ATMega8 на ATMega88.Это бета версия, могут быть глюки.К сожелению программа понимает только 16ти и 10тиричное представление чисел,все остальное игнорируется(пока).
Преобразования касаются толко регистров, все остальное не преобразовывается(например вектора прерываний).Будут глюки пишите.Да еще вставка и копирование кода производится стандартными горячими клавишами Windows.

Прикрепленный файл: 6699055.rar
DrunyaRuma вне форума  
Непрочитано 01.12.2008, 11:32  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

Прикольная прога только вот почему или как правильно перевести код
DDRD.6=0; // порт на вход
PORTD.6=0; // pull-up disable
DDRD.7=0; // порт на вход
PORTD.7=0; // pull-up disable

// Analog Comparator initialization
// Analog Comparator: On
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x00;
SFIOR=0x00;

под мегу88
DDRD.6=0; // порт на вход
PORTD.6=0; // pull-up disable
DDRD.7=0; // порт на вход
PORTD.7=0; // pull-up disable

// Analog Comparator initialization
// Analog Comparator: On
// Analog Comparator Input Capture by Timer/Counter 1: Off
//ACSR=0x00;
ACSR = 0x00;
//SFIOR=0x00;
Вот тут вопрос??? Судя по даташиту не хватает MCUCR=0x00;
GTCCR = 0x00;ADCSRB = 0x00;;
или как?
[/b]
FedorChek вне форума  
Непрочитано 01.12.2008, 11:41  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

Прикольная прога только вот почему или как правильно перевести код
DDRD.6=0; // порт на вход
PORTD.6=0; // pull-up disable
DDRD.7=0; // порт на вход
PORTD.7=0; // pull-up disable

// Analog Comparator initialization
// Analog Comparator: On
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x00;
SFIOR=0x00;

под мегу88
DDRD.6=0; // порт на вход
PORTD.6=0; // pull-up disable
DDRD.7=0; // порт на вход
PORTD.7=0; // pull-up disable

// Analog Comparator initialization
// Analog Comparator: On
// Analog Comparator Input Capture by Timer/Counter 1: Off
//ACSR=0x00;
ACSR = 0x00;
//SFIOR=0x00;
Вот тут вопрос??? Судя по даташиту не хватает MCUCR=0x00;
GTCCR = 0x00;ADCSRB = 0x00;;
или как?
[/b]
FedorChek вне форума  
Непрочитано 01.12.2008, 20:58  
DrunyaRuma
Временная регистрация
 
Регистрация: 13.02.2008
Сообщений: 60
Сказал спасибо: 10
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
DrunyaRuma на пути к лучшему
По умолчанию

Добрый Вам вечер FedorChek.Да действительно не корректно преобразовывались все регистры на выходе которых должно быть по 3 регистра (SFIOR,TIFR и TIMSK),глюк исправлен.Спасибо Вам за помощь, после более тщательной проверки выложу исправленный вариант.Я также хочу извениться за то, что не ответил на Ваш вопрос о векторах(увлекся программой), но лучше чем хорошая книга, Вам никто не расскажет.На просторах Интернет масса книг по AVR на русском языке.

Судя по синтаксису
DDRD.6=0; // порт на вход
PORTD.6=0; // pull-up disable
DDRD.7=0; // порт на вход
PORTD.7=0; // pull-up disable
это сруктура, возможно макрос или особенности компилятора, который Вы используете(я в С новичек(а каким компилятором Вы пользуетесь?)).
Суть кода мне ясна, насколько я понял - изменение конкретного бита в регистре.Если руки дойдут внесу эту особенность в программу.

Тем не менее для уменьшения выходного кода необходимо учитывать какими именно битами вы хотите манипулировать.
DrunyaRuma вне форума  
Непрочитано 02.12.2008, 17:05  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

Пишу и компилирую в CodeVisionAVR потом .hex загоняю в AVR Studio
Не могу разобраться почему CodeVisionAVR ругается на строку while((--time_out)&&(!ACSR.5)); // Wait for first

time_out=65000;
while((--time_out)&&(!ACSR.5)); // Wait for first impulse
TCCR1B=0x01; // запуск таймера f=32768/1 Гц
также говорит что символ не найден TCNT1
TCNT1=0x0000; // обнуление регистра счетчика
как это исправить?
FedorChek вне форума  
Непрочитано 02.12.2008, 19:23  
DrunyaRuma
Временная регистрация
 
Регистрация: 13.02.2008
Сообщений: 60
Сказал спасибо: 10
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
DrunyaRuma на пути к лучшему
По умолчанию

while((--time_out)&&(!ACSR.5));
может быть так:
while((time_out›0)&&((ACSR & 0x20)==0))--time_out;
ждем пока не истечет время или не сработает компаратор.

TCNT1=0x0000; // обнуление регистра счетчика
как это исправить?

TCNT1H = 0;
TCNT1L = 0;

но не наоборот это важно!

Я не пользовался CodeVisionAVR, но если вы используете его в паре с AVRStudio для отладки, тогда могу Вам посоветовать компилятор от фирмы ImageCraft для AVR, полнофункциональную демо можно скачать с официального сайта(у них лимит по объему 64к),да еще и плагин для AVRStudio, чтобы писать и отлаживать непосредственно в нем.И он без проблем понимает TCNT1 как шестнадцатиразрядный регистр(тип int),да и арифметические функции с плавающей запятой он генерит лучше чем IAR (ИМХО).
DrunyaRuma вне форума  
Непрочитано 08.12.2008, 15:59  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

DrunyaRuma Спасибо что-то начинает получатся только вот не понял одну фишку если
DDRD.2=0;//вход
PORTD.2=1;//pull-up enable
оставить код без изменения индикатор не горит, а если
вот так
DDRD=0;//вход
PORTD.2=1;//pull-up enable
то все нормально с чем это связано?
FedorChek вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход с НЧ на ВЧ retcom Электроника - это просто 8 28.03.2008 12:19
Переход на подпрограмму в CodeVisionAVR Andrewg Proteus, KiCAD и другие ECAD 9 17.07.2007 15:51
вычисляемый переход PIC16f877a ctefan Микроконтроллеры, АЦП, память и т.д 2 22.06.2007 21:09
Переход с 90S2313 на tiny2313 y256 Микроконтроллеры, АЦП, память и т.д 2 08.06.2007 11:06
Переход с PIC16F84 на PIC16F87 init_sub Микроконтроллеры, АЦП, память и т.д 4 21.03.2005 13:53


Часовой пояс GMT +4, время: 15:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot