Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не стартует Attiny 2313
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Sanchello
Собрал макет вот по подобной схеме.
http://www.avrlab.com/node/25

Питание, фильтрующие конденсаторы 0,1 мкф, резонатор 5мгц с конденсаторами 22пф.
На ножках хтал1 и хтал2 идёт импульс частотой 50Гц.

По идее у него есть встроенный генератор. Отпаиваю резонатор. на ножках хтал теже 50 Гц. В чём может быть проблема?

Спаисбо
Xenia
Цитата(Sanchello @ May 18 2011, 15:32) *
Собрал макет вот по подобной схеме.
http://www.avrlab.com/node/25

Питание, фильтрующие конденсаторы 0,1 мкф, резонатор 5мгц с конденсаторами 22пф.
На ножках хтал1 и хтал2 идёт импульс частотой 50Гц.

По идее у него есть встроенный генератор. Отпаиваю резонатор. на ножках хтал теже 50 Гц. В чём может быть проблема?

Фузы ему надо прошивать, чтобы с внешним кварцем работал. По умолчанию (фабричный сеттинг) установлен внутренний RC-генератор, а на XTAL1 и XTAL2 ничего видно. А ваши 50 Гц - скорее всего, сетевая наводка.

Я обычно прошиваю ATtiny2313 так:
cksel=b
sut=3
ckout=1
ckdiv=1
здесь единичные биты - фуза не установлена, нулевой бит - фуза прошита. Т.е. та же система кодировки, что и в даташите. Тогда как на Понипроге и ему подобных, где фузы устанавливают галочками в квадратиках (чекбокс), система противоположная - установленная галочка считается НУЛЁМ! Т.е. галочка означает наличие прошивки, а не единичку. Из-за этой особенности микроконтроллеров перепортили видимо-невидимо!
Sanchello
Понял, спасибо. Просто привык что на 51х частота сразу есть.

Прошил программатором AS-4. Подёргал ножки, вроде ОК.
Теперь попробую реализовать SPI master.
Нашёл код:
Код
.include"C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn2313def.inc"

Main:
    ldi r16, 0b11000101
      rcall SPITransfer
    rjmp Main


SPITransfer:
    out USIDR,r16;пишем байт в регистр данных USI
    ldi r16,(1<<USIOIF);сбрасываем бит переполнения
    out USISR,r16;счетчика USI
    ldi r16,(1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC);конфигурация USI:
;-режим SPI (бит USIWM0)
;-программное тактирование (бит USICS1)
;-сдвиг регистра данных (1 в USICLK)
;-переключение линии CLK (1 в USITC)
SPITransfer_loop:
    out USICR,r16;запись в регистр управления USI, сдвиг регистра данных, переключение CLK
    sbis USISR,USIOIF;проверка переполнения счетчика USI
    rjmp SPITransfer_loop;переход если нет
    in r16,USIDR;если да, читаем что пришло по SPI
    ret;возврат из подпрограммы


чуть доработал и я так понимаю, что на выходе SPI должен идти код в цикле.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.