ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Спасибо!Идея ясна!Пойду эксперементировать!А 12 секунд получается когда контроллер работает на частоте 8мгц.!
IN GOD WE TRUST
- Реклама
Усе. В той проге разобрался. Теперь новая проблема.
Программа должна работать след. образом. При нажатии на кнопку 1 должен зажеться 0 на индикаторе . При нажатии на кнопу 2 должна зажеться 1. Индикатор с общим катодом. Кнопки подключены к PD0 и к PD1 и на землю. Индикатор подключен к порту B. В порядке dacgbfe-1234567. Точка на индикаторе и вывод 0 порта В незадействованы.
хотел чтоб все работало на частоте 4МГц с внешним кварцом, но низнаю как выставить фьюзы.
Выставил галочки :
CKSEL0
CKSEL2
CKSEL3
SUT0
он должен работать от внутреней цепочки.
В AVR Srudio все работает, а на яву нехочет.
Прив вкключении питания все сигменты начинают мигать и светяться ну ооочень тускло. На кнопки не реагирует. При отключении питания на мгновение ярко загораются некоторые сигменты.
незнаю где собака зарыта.
Может фузы нетак стоят?.
Программа должна работать след. образом. При нажатии на кнопку 1 должен зажеться 0 на индикаторе . При нажатии на кнопу 2 должна зажеться 1. Индикатор с общим катодом. Кнопки подключены к PD0 и к PD1 и на землю. Индикатор подключен к порту B. В порядке dacgbfe-1234567. Точка на индикаторе и вывод 0 порта В незадействованы.
хотел чтоб все работало на частоте 4МГц с внешним кварцом, но низнаю как выставить фьюзы.
Выставил галочки :
CKSEL0
CKSEL2
CKSEL3
SUT0
он должен работать от внутреней цепочки.
В AVR Srudio все работает, а на яву нехочет.
Прив вкключении питания все сигменты начинают мигать и светяться ну ооочень тускло. На кнопки не реагирует. При отключении питания на мгновение ярко загораются некоторые сигменты.
незнаю где собака зарыта.
Может фузы нетак стоят?.
- Вложения
-
- 002.asm
- Исходник
- (871 байт) 628 скачиваний
- Сообщения: 978
- Зарегистрирован: Пн ноя 27, 2006 07:52:01
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?
выставил фузы. немного упростил исходник. Теперь должен зажеться один сигмент при нажатии кнопки, но почему то светятся все сигменты, независимо от кнопки.
исходник:
.def temp0 =r16
.def temp1 =r17
.def temp2 =r18
Init:
ser temp0 ;Все выводы порта А выход
out DDRA,temp0
ser temp0 ;Все выводы порта B выход
out DDRB,temp0
ldi temp0,0b11111110 ;Вывод 0 и 1 порта D вход
out DDRD,temp0
ldi temp0,0b00000000 ;подтяжка порта D включена
out PortD,temp0
clr temp0 ;подтяжка портов А и В отключена
out PortB,temp0
out PortA,temp0
Start:
sbic PinD,0 ;Проверяем нажатие кнопки 1
ldi temp2,0b00000001 ;
out PortB,temp2 ;Зажигаем сигмент
rjmp Start
исходник:
.def temp0 =r16
.def temp1 =r17
.def temp2 =r18
Init:
ser temp0 ;Все выводы порта А выход
out DDRA,temp0
ser temp0 ;Все выводы порта B выход
out DDRB,temp0
ldi temp0,0b11111110 ;Вывод 0 и 1 порта D вход
out DDRD,temp0
ldi temp0,0b00000000 ;подтяжка порта D включена
out PortD,temp0
clr temp0 ;подтяжка портов А и В отключена
out PortB,temp0
out PortA,temp0
Start:
sbic PinD,0 ;Проверяем нажатие кнопки 1
ldi temp2,0b00000001 ;
out PortB,temp2 ;Зажигаем сигмент
rjmp Start
- Сообщения: 37
- Зарегистрирован: Сб дек 22, 2007 17:13:24
доброй ночи.
хотел бы сказать огромное спсибо тем кто разрабатывал этот форум и раздел с "обучалкой". первый раз я нашол именно этот раздел и прочитав его сделал себе програматор заранее купив 2-е attiny 2313v (хорошо, что 2).
все меня сразу поняли. сегодня нашол все ответы которые бы хотел найти.. основа есть.. но вот обидно когда разбирался по глупости, точнее просто забыл убрать галку в CODEvisionAVR а именно program fuse bit(s) и по невнимательно нажал прошить. вообще эту прогу попробовал просто так для знания. Хотя до этого полностью разобрал PonyProg и в ней уже прошил свой первый код. Естественно после этой процедуры (прошивка в AVR) контроллер на мой многчисленный мат перестал видется... в этом же разделе прочитал что можно востановить но ничего не понял.. объясните чем же можно исправить мою ошибку???
хотел бы сказать огромное спсибо тем кто разрабатывал этот форум и раздел с "обучалкой". первый раз я нашол именно этот раздел и прочитав его сделал себе програматор заранее купив 2-е attiny 2313v (хорошо, что 2).
- Реклама
Долго искал информацию по програмированию и прошивке микроконтролеров.наконец то собрал свой первый(!) STK200,собрал схемку на Тини2313 с четирьмя светоиодами,нашел какую то прошивку и решил это скомпонировать.дело было вчера.вставив программатор в ЛПТ у меня загорелся светодиод на STK200,который у меня соеденьон между землей(10) и VCC(20) 74HC244N,хотя и красиво, но меня это не обрадовало(так должно бить?ведь я еще нечего не шью!).Подключил плату з Тинькою,подал питание,запустил Avreal, он выдал какую то ошибку(ниже привел).так я не поняв в чом проблема лег спать с каменем на душе
.Может кто то мне подскажет, как можно знать что програматор и контроллер работает,может есть какието "контрольные точки"?
- Вложения
-
- 1.JPG
- ответ от Авреал
- (41.14 КБ) 653 скачивания
UkrRadist, ведь avreal тебя ясно сказал "Altera ByteBlaster not found" , т.е. не найден такой :)
А чтож ты хотел, если ты говоришь, что STK200 собрал :)
Ключик то в командной строке "-ab" , что значит шить через Altera ByteBlaster. Поставь "-as" и будет тебе счастье.
Со страницы автора AVReAl :
А ключ -! убери, не нужен он, это только для экстремальных случаев.
И зачем тебе ключ -o0 ? Если не ошибаться с прошивкой фьюза CKSEL, то он нафиг не нужен.
И ключ -2 зачем ???
Ну а про светодиод ты сам ответил на свой вопрос. Он же у тебя между землей и питанием сидит? Так что же ты от него еще то хочешь? :))
P.S. Подробное описание AVReAl, читай внимательно и вопросов будет меньше ;)
А чтож ты хотел, если ты говоришь, что STK200 собрал :)
Ключик то в командной строке "-ab" , что значит шить через Altera ByteBlaster. Поставь "-as" и будет тебе счастье.
Со страницы автора AVReAl :
А можешь просто -aa поставить и не париться.-ab работа через Altera ByteBlaster (включая ByteBlasterMV, ByteBlaster-II)
-as работа через адаптер Atmel STK*00
-aa автоматический выбор ByteBlaster/STK
А ключ -! убери, не нужен он, это только для экстремальных случаев.
И зачем тебе ключ -o0 ? Если не ошибаться с прошивкой фьюза CKSEL, то он нафиг не нужен.
И ключ -2 зачем ???
Ну а про светодиод ты сам ответил на свой вопрос. Он же у тебя между землей и питанием сидит? Так что же ты от него еще то хочешь? :))
P.S. Подробное описание AVReAl, читай внимательно и вопросов будет меньше ;)
не знаю почему там окзалось -ab, ведь я хотел -aa, а что косается светодиода, то он у меня светится при отсутствии питанния на плате,выходит, светится от ЛПТ-порта.Но спасибо что мне глаза открыл, попробую сейчас еще раз.
Надо жить с надеждой!
только что пробовал прошить.Сначала запустил АвРеал,выдало какуюто ошибку,вроде МК не включен.Потом запустил CodeVision,в ответ тоже чтото страшное получил.даже не знаю в чем дело.Ниже приведены ответы при прошивке.
- Вложения
-
- 22.jpg
- Вот что мне сказал CodeVision
- (30.72 КБ) 517 скачиваний
-
- 33.jpg
- А вот так мне ответил АвРеал
- (16.21 КБ) 713 скачиваний
Надо жить с надеждой!
Вобщем не могут программаторы связаться с кристаллом, вот о чем говорят твои скриншоты. А причин быть может очень много. Проверяй все по порядку. Остается надеяться, что ты не загнал некоторые фьюзы, а соответственно и сам чип "в позу".
А ты хоть что-нить им уже прошивал? Или это твой первый программатор и первый чип(ATtiny2313) ?
А ты хоть что-нить им уже прошивал? Или это твой первый программатор и первый чип(ATtiny2313) ?
Все,всем спасибо,вопрос снимается.Схема заработала,диоды моргают!!я просто перепутал выводы в шлейфе
.
Надо жить с надеждой!
Всем привет! Учусь програмировать на С. Хочу написать первую свою прогу для тини2313. Смыс в то надо чтоб светодид мигал с частотой в одну секнду. Сколько писал-все ошибки лезут. ВОт исходник.
Код: Выделить всё
#include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
PortB=0x01; //Включаесм СИД
delay_us(1000); //Ждем
PortB=0x00; //Выключам СИД
while (1)
}
- Сообщения: 16
- Зарегистрирован: Пн янв 21, 2008 20:21:02
попробуй так
Код: Выделить всё
include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
while (1)
{
PortB=0x01; //Включаесм СИД
delay_us(1000); //Ждем
PortB=0x00; //Выключам СИД
delay_us(1000);
}
}НЕ буду утверждать, но если я не путаю, PORTB и PortB в Си - это две большие разницы.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
А каким компилятором пользуешся? Если только начал учить Си, можеш писать под CodeVision AVR... Но хотя , каждому нравится разные компиляторы... Ошибочек много, даже с тем PortB , если CodeVIsion, то где-то такой исходник у меня на форуме был... Просто вот мне кажется ещё ошибочка с #include <iotn2313> #include <delay> хотя, я незнаю под какой компилятор было написано... 

Krik99 писал(а):А каким компилятором пользуешся?
AVR Studio.
Щас попробую исправить.
Не работает. Где собака зарыта?DIM4 писал(а):попробуй такКод: Выделить всё
#include <iotn2313> #include <delay> int main() { DDRB=0xFF; //Настройка портаB DDRA=0xFF; //Настройка порта A DDRD=0xFF; //Настройка порта D while (1) { PORTB=0x01; //Включаесм СИД delay_us(1000); //Ждем PORTB=0x00; //Выключам СИД delay_us(1000); } }
А что делает контролёр после подачи питания? Мне кажется, delay_us(1000); это сильно быстро, попробуй delay_ms(1000);
Попробуй так... Хотя может я и сам пару ошибок сделаю, так как пишу под CodeVision AVR...
Хотя попробуй по совмещать мой код, со своим...
Если будет время, попробую сам сделать...
Попробуй так... Хотя может я и сам пару ошибок сделаю, так как пишу под CodeVision AVR...
Код: Выделить всё
#include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
while (1)
{
PORTB=0xFF; //Включаем весь порт В
delay_ms(1000); //Ждем
PORTB=0x00; //Выключам весь порт В
delay_ms(1000); //Ждём
}
}
Если будет время, попробую сам сделать...

- Сообщения: 16
- Зарегистрирован: Пн янв 21, 2008 20:21:02
../11.c:1:23: iotn2313.h: No such file or directoryDIM4 писал(а):а какие именно ошибки выдаёт ?
../11.c:2:20: delay.h: No such file or directory
../11.c: In function `main':
../11.c:5: error: `DDRB' undeclared (first use in this function)
../11.c:5: error: (Each undeclared identifier is reported only once
../11.c:5: error: for each function it appears in.)
../11.c:6: error: `DDRA' undeclared (first use in this function)
../11.c:7: error: `DDRD' undeclared (first use in this function)
../11.c:10: error: `PORTB' undeclared (first use in this function)
../11.c:11: warning: implicit declaration of function `delay_ms'
make: *** [11.o] Error 1
Build failed with 8 errors and 1 warnings...


