| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Подскажите по прошивке для Меги8
20.05.2010, 23:04
|
#11
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Есть классический пример
|
PHP код:
|
#define DELAY_ONE_MILLISECOND (XTAL / 4 / 1000) // must › 8
mswait:
sbiw r24, 1 // 2
brcc mswait1 // 2
ret // 2 -2 = 0 for no branch in both loops
mswait1:
nop
ldi r26, lo8(DELAY_ONE_MILLISECOND -4) // 1
ldi r27, hi8(DELAY_ONE_MILLISECOND -4) // 1
mswait2:
sbiw r26, 1 // 2
brne mswait2 // 2 = 4, = 3 for last loop
rjmp mswait // 2 = 8
// Вызов задержки идет так
ldi r24,1
ldi r25,0
rcall mswait ; wait one ms
|
|
|
|
|
20.05.2010, 23:11
|
#12
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
а если мне нужна задержка в секунду? делать цикл на 100 вызовов?
|
|
|
|
21.05.2010, 00:06
|
#13
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Я же писал в примере - регистры r25 (старшее число) и r24 (младшее число) выставляют время задержки.
Тоесть секунда будет
0x3E8
Чтобы перевести в десятичку разбиваем число на 2 части старшую и младшую
03 и Е8
Что нам дает в результате 03 и 232
Пишем число в нужные регистры
ldi r24,232
ldi r25,3
rcall mswait ; wait 1000 ms
Можно и сразу в 16ти ричном формате записывать по регистрам
ldi r24,0xE8
ldi r25,0x03
rcall mswait ; wait 1000 ms
В десятичку первел чисто для примера вычисления )))
|
|
|
|
Сказали "Спасибо" MasterMushi
|
|
|
21.05.2010, 02:04
|
#14
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от MasterMushi
|
ldi r24,0xE8
ldi r25,0x03
|
|
Код:
|
ldi R25,LOW(1000)
ldi r24,HIGH(1000) |
avrasm2.
|
|
|
|
21.05.2010, 13:03
|
#15
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Первый свой вопрос решил, и он заработало не только в протеусе, но и в железе,  что не может нерадовать. А вот со сторым вопросом потуже, а именнож убираю в симуляторе вх.сигнал, и при отладке вижу, что МК завис вот здесь:
|
Цитата:
|
l2: sbis pinb,1
rjmp l2
|
Никак не пойму, кто (что) устанавливает этот первый бит?
|
|
|
|
21.05.2010, 16:54
|
#16
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от ksvserega
|
|
Никак не пойму, кто (что) устанавливает этот первый бит?
|
Так это входной сигнал. Как раз на PB1 приходит. Программа висит и ждет его.
PINB - регистр отображающий внешнее состояние на ножках порта.
|
|
|
|
21.05.2010, 17:40
|
#17
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Как в Протеусе в окошко AVR Variables добавить нужные переменные? Как туда вообще что-то добавить?
|
|
|
|
21.05.2010, 18:08
|
#18
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от ksvserega
|
|
Как в Протеусе в окошко AVR Variables добавить нужные переменные? Как туда вообще что-то добавить?
|
Какие переменные в асме? Если бы исходник был на ЯВУ, то в объектном файле была бы отладочная информация - переменные, имена функций и т.д. А так - смотреть память и регистры. Неудобно - но Вы простых путей не ищете
|
|
|
|
24.05.2010, 18:16
|
#19
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
kison, а от это я действительно ступил неподецки, так сказать глобально.  Спасибо за раскрытые глаза.
|
|
|
|
24.05.2010, 22:24
|
#20
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Подскажите по этой гадской сторожевой собаке, пол дня пытаюсь застваить её гавкать, не получается.
Ставлю фьюз WDTON в Programmed,
sbi WDE, 1
sbi WDP2, 1
sbi WDP1, 1
sbi WDP0, 0
Никакой реакции на это. В Watch Window все биты WDTCR всё равно по нулям. В каком месте я баран.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:07.
|
|