Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Picbasic.ru » Альтернативные языки и родственные души » Bascom AVR » инициализация периферии ядра AVR (присоединяйтесь)
инициализация периферии ядра AVR
deskjet Дата: Чт, 12.08.2010, 18:50  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 143
Репутация: 5   ±
Замечания:   ±
На сайте с 20.06.2009

Статус: Offline

Мультиплатформенность меня не раз выручала: то нет нужного ПИКа под рукой, то заимствованный проект разработан под АВР.
Хочешь - не хочешь, а использовать АВРы приходится постоянно. По этому есть необходимость во вникании в устройство этого контроллера.
С ПИКами все четко, прямолинейно и понятно, с АВРами же приходится повозится (далеко не все с ними понятно и очевидно).
Например, неделю не мог запустить АЦП (на запуск АЦП ПИКа, когда я только начинал его изучать, у меня ушло 30 минут).
Поэтому предлагаю выкладывать свои наработки на этом форуме.

Пример 1. Инициализация АЦП АВР (AVRSimulatorIDE):

DDRB = %11111111

l0001:

ASM: ldi R16,%01000000
ASM: out ADMUX,R16
ASM: ldi R16,%10000110
ASM: out ADCSRA,R16
ASM: sbi ADCSRA,ADSC

l0002:
ASM: sbis ADCSRA,ADIF
ASM: rjmp l0002

ASM: in R16,ADCL
ASM: in R17,ADCH

ASM: OUT portb,R16 ' младшие 8 бит результата вывести в portb

Goto l0001



За 20 8 дней ни одного сгоревшего микроконтроллера.
PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
ЯНДЕКС Дата: 12.08.2010
retas Дата: Пт, 13.08.2010, 00:27  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 450
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Если кому то охота просто повторить проект сделанный на AVR, то для его прошивки годится и PICKIT2.
777grey Дата: Сб, 14.08.2010, 06:32  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 15
Репутация: 0   ±
Замечания:   ±
На сайте с 22.07.2008

Статус: Offline

retas, а можно поточнее, как PICKITом AVRки прошивать? а отладка возможна?
retas Дата: Сб, 14.08.2010, 19:01  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 450
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Эта тема проходила на Казусе - тонкостей не знаю
http://kazus.ru/forums/showthread.php?t=16558&highlight=pickit2
deskjet Дата: Сб, 16.10.2010, 11:28  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 143
Репутация: 5   ±
Замечания:   ±
На сайте с 20.06.2009

Статус: Offline

Пример 1.2. Инициализация АЦП АВР (AVRSimulatorIDE):

DDRB = %11111111

l0001:
ADMUX = %01000000
ADCSRA = %10000110
ADCSRA.6 = 1 'старт АЦП

l0002:
If ADCSRA.4 = 0 Then
Goto l0002
Endif

ASM: in R16,ADCL
ASM: in R17,ADCH
PORTB = R16 ' младшие 8 бит результата вывести в portb

Goto l0001

Пример работает для atmega8,16,32,64, для atmega48,88 не работает, там нужен другой код ;-)))

Добавлено (16.10.2010, 11.28.30)
---------------------------------------------
Пример 2.1. Инициализация АЦП atmega48 (AVRSimulatorIDE)

Code


DDRB = %11111111

l0001:
ADMUX = %01000000
ADCSRA = %10000110
ADCSRA.6 = 1  'старт АЦП

l0002:
If ADCSRA.4 = 0 Then
Goto l0002
Endif

'ASM:        in R17,ADCL
'ASM:        in R18,ADCH
R17 = ADCL
R18 = ADCH

PORTB = R17  'младшие 8 бит результата вывести в portb

Goto l0001

Как видно из примера изменение заключается в использовании пары рабочих регистров R17,R18 вместо R16,R17 так как в связи
с переделками Atmel решила переработать адресацию регистров


За 20 8 дней ни одного сгоревшего микроконтроллера.
PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430

Сообщение отредактировал deskjet - Сб, 16.10.2010, 13:32
QWERTY Дата: Вс, 24.10.2010, 21:22  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 72
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

Может не в тему вопрос, но уже не знаю у кого спросить.
Где приобрести набор для сборки PICKIT2 или готовый аппарат???
Очень нужно.....
Antonionwo Дата: Вт, 21.06.2022, 23:47  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 31
Репутация: 0   ±
Замечания:   ±
На сайте с 31.01.2021

Статус: Offline

Привет господа!
Предлагаем Вашему вниманию замечательный сайт https://dengi-do-zarplaty.ru/
Чтобы оформить деньги в долг, вам не нужен специальный пакет документов, достаточно только паспорта. Это выгодно отличает микрофинансовые компании от банков в, которые требуют собрать несколько бумаг, на подготовку которых уходит пара дней.В заключение стоит сказать, что взять средства в МФО — простой и быстрый способ решения денежных проблем. Компании предоставляют множество заемных линий для людей с разными возможностями, поэтому вы обязательно найдете подходящий вариант. Главное — грамотно распорядиться займом и не тратить деньги на ненужные вещи.


тонировка окон пвх
Форум Picbasic.ru » Альтернативные языки и родственные души » Bascom AVR » инициализация периферии ядра AVR (присоединяйтесь)
  • Страница 1 из 1
  • 1
Поиск: