|
RESET, Что должно быть на ней? |
|
|
|
May 5 2008, 14:02
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157

|
У меня в проекте установлен фьюз BODON (запуск при достижении питания), однако даже с ним схема не всегда удачно стартует. Как повысить стабильность запуска схемы? Может стоит подключить какую-либо внешнюю цепь к выводу reset?
|
|
|
|
|
 |
Ответов
|
May 5 2008, 14:20
|

Участник

Группа: Свой
Сообщений: 63
Регистрация: 13-03-06
Из: Москва
Пользователь №: 15 204

|
Цитата(Kuznec9999 @ May 5 2008, 18:02)  У меня в проекте установлен фьюз BODON (запуск при достижении питания), однако даже с ним схема не всегда удачно стартует. Как повысить стабильность запуска схемы? Может стоит подключить какую-либо внешнюю цепь к выводу reset? Reset стОит подтянуть через резистор 4,7-10к к питанию. Кстати - это может быть проблема не ресета, а запуска генератора (конденсаторов в обвязке кварца нет или не те, остатки флюса около кварца, неправильно выставленные фузы CKSEL,CKOPT etc).
|
|
|
|
|
May 5 2008, 14:40
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157

|
Цитата(Vlad219i @ May 5 2008, 18:20)  Reset стОит подтянуть через резистор 4,7-10к к питанию. Кстати - это может быть проблема не ресета, а запуска генератора (конденсаторов в обвязке кварца нет или не те, остатки флюса около кварца, неправильно выставленные фузы CKSEL,CKOPT etc). Дело в том, что генератор внутренний. А при запуске индикатор выдаёт совершенно "нечитабельные" символы. Хотя по динамике их работы видно, что программа всё же работает. Всё-таки инициализировать ОЗУ обязательно. Сейчас буду пробовать. Уверен, дело в этом. Добавил в программу блок инициализации (очистки) ОЗУ, запуск стал корректным даже при отсутствии чего-либо на ножке reset.
Сообщение отредактировал Kuznec9999 - May 5 2008, 15:02
|
|
|
|
|
May 5 2008, 16:22
|

Участник

Группа: Свой
Сообщений: 63
Регистрация: 13-03-06
Из: Москва
Пользователь №: 15 204

|
Цитата(Kuznec9999 @ May 5 2008, 18:40)  Всё-таки инициализировать ОЗУ обязательно. Думается мне - это косяк вот этой конкретной программы. )
|
|
|
|
|
May 5 2008, 16:37
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157

|
Цитата(Vlad219i @ May 5 2008, 20:22)  Думается мне - это косяк вот этой конкретной программы. ) Посмотрите, пожалуйста. Возможно что-то я делаю не так? Косяки очень возможны. Спасибо. =================================================== .include "c:\asm\AvrAssembler2\Appnotes\m8def.inc" ldi xh, high(sram_size) ;очистка памяти (SRAM) ldi xl, low(sram_size) ldi zh, high(sram_start) ldi zl, low(sram_start) clr r16 clr_ram:st z+, r16 sbiw xh:xl, 1 brne clr_ram clr zh clr zl clr r16 init: ; Начало программы ; Включаем и инициализируем АЦП ldi r20,0b11100100 out adcsra,r20 ldi r20,0b11100000 out admux,r20 ; Запись консанты начала ОЗУ ldi r24,$0060 ; Загрузка таблицы чисел семисегментного индикатора в ОЗУ ldi r29,0b11111100 sts $0060,r29 ldi r29,0b01100000 sts $0061,r29 ldi r29,0b11011010 sts $0062,r29 ldi r29,0b11110010 sts $0063,r29 ldi r29,0b01100110 sts $0064,r29 ldi r29,0b10110110 sts $0065,r29 ldi r29,0b10111110 sts $0066,r29 ldi r29,0b11100000 sts $0067,r29 ldi r29,0b11111110 sts $0068,r29 ldi r29,0b11110110 sts $0069,r29 ; Перемещаем данные АЦП в регистр r16 in r16,adch ; Если - перебор, то выводим E ldi r29,255 cp r16,r29 in r28,sreg sbrc r28,1 rjmp error ; Переводим регистр r16 в двоично-десятичный код ldi r17,164 mul r16,r17 clr r18 lsl r0 rol r1 rol r18 lsl r0 rol r1 rol r18 inc r1 ldi r16,10 mul r1,r16 mov r17,r1 mul r0,r16 mov r16,r1 ; Прибавляем единицу для коррекного инкремента subi r16,-1 subi r17,-1 subi r18,-1 ; Находим и устанавливам разряд 1 в регистр r25 ldi zl,0 nrav1: inc zl cp r16,zl in r20,sreg sbrs r20,1 rjmp nrav1 subi zl,1 add zl,r24 ld r25,z ; Находим и устанавливам разряд 2 в регистр r26 ldi zl,0 nrav2: inc zl cp r17,zl in r20,sreg sbrs r20,1 rjmp nrav2 subi zl,1 add zl,r24 ld r26,z ; Находим и устанавливам разряд 3 в регистр r27 ldi zl,0 nrav3: inc zl cp r18,zl in r20,sreg sbrs r20,1 rjmp nrav3 subi zl,1 add zl,r24 ld r27,z ; Инициализируем порты B и D ldi r16,0b11111111 out ddrb,r16 out ddrd,r16 ; Выводим информацию последовательно в порт: R25 R26 R27 ldi r22,0 ldi r23,0 ldi r24,128 zad: inc r23 cp r23,r24 in r22,sreg sbrc r22,1 rjmp init ; Младший разряд ldi r20,0b11111011 out portd,r20 out portb,r25 ; Задержка ldi r16,255 ldi r17,0 init1: inc r17 cp r16,r17 in r18,sreg sbrs r18,1 rjmp init1 ; Средний разряд ldi r20,0b11111101 out portd,r20 out portb,r26 sbi portb,0 ; Точка дробного остатка ; Задержка ldi r16,255 ldi r17,0 init2: inc r17 cp r16,r17 in r18,sreg sbrs r18,1 rjmp init2 ; Старший разряд ldi r20,0b11111110 out portd,r20 out portb,r27 ; Задержка ldi r16,255 ldi r17,0 init3: inc r17 cp r16,r17 in r18,sreg sbrs r18,1 rjmp init3 rjmp zad error: ldi r20,0b11111000 out portd,r20 ldi r27,0b10011110 out portb,r27 sbi portb,1 =========================================== Цитата(galjoen @ May 5 2008, 20:08)  А ватчдог? Нет, не зависает. Видно по скорости обновления индикатора, что так и должно быть (т.е она работает, только данные из ОЗУ читаются неверно, и неверно же выдаются на индикатор.
Сообщение отредактировал Kuznec9999 - May 5 2008, 16:38
|
|
|
|
Сообщений в этой теме
Kuznec9999 RESET May 5 2008, 14:02 volod_ua Цитата(Kuznec9999 @ May 5 2008, 17:02) У ... May 5 2008, 14:06 uriy А вы уверена что проблема в ресете. Может кварц ви... May 5 2008, 14:15  galjoen Цитата(Kuznec9999 @ May 5 2008, 18:40) Вс... May 5 2008, 16:41   Kuznec9999 Цитата(galjoen @ May 5 2008, 20:41) Перем... May 5 2008, 17:37    galjoen Цитата(Kuznec9999 @ May 5 2008, 21:37) Чт... May 5 2008, 17:52     Kuznec9999 Цитата(galjoen @ May 5 2008, 21:52) Кодcl... May 5 2008, 18:15 chds Были такие же гадости - плата могла несколько раз ... May 5 2008, 15:45 galjoen Цитата(chds @ May 5 2008, 19:45) а могла ... May 5 2008, 16:08 domowoj Еще обязательно вблизи МК необходимо поставить кер... May 5 2008, 16:02 vet многобайтные числа нужно инкрементировать по-друго... May 5 2008, 18:41 Kuznec9999 Цитата(vet @ May 5 2008, 22:41) многобайт... May 5 2008, 18:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|