Мелкие вопросы по МК и ПЛИС.
- Реклама
Спалил МК Atmega8a smd. Собирал блок питания. Сначала был коротыш по питанию (в монтаже) - раскалился стабилизатор КРЕН5А пока определялся. После остывания питание показывало нормальное 4,8В. Питание : транс - мост - емкость 1000 - дроссель от мамки - стабилизатор - емкость 2000 - керамика 0,1. Устранил коротыш - схема заработала. Нашел косяк в силовой части. При отключении несколько раз включил/выключил устройство. После устранения включил, а по питанию мк опять коротыш, точнее между + и - около 4 Ом. На этот раз это оказался пробой МК. Скорее всего случайно коротнул заряженные кондёры силовой части ( 32В) на плату управления. Но хотелось бы подстраховаться. Мог ли проскочить смертельный импульс из-за включений/выключений питания или того, что стабилизатор отечественный, или того что стабилизатор подожженый, или того что нет керамики по входу стабилизатора, или из-за дросселя? МК уже не оживить?
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Тогда зависит от того, сколько всего бит нужно "склеивать" в одно слово (размер этого слова). И зависит от того, как сгруппированы читаемые биты и как их надо расположить в формируемом слове. Если полная каша в читаемых битах и портов много, тогда прямое управление битами в формируемом слове.Chettuser писал(а):Бывает и такое, когда пины с разных портов берутся
Код: Выделить всё
u8 dest_byte = 0x00;
if ( BITON(PORTB,4) ) SETBIT(dest_byte,0);
if ( BITON(PORTC,2) ) SETBIT(dest_byte,1);
if ( BITON(PORTD,6) ) SETBIT(dest_byte,2);
if ( BITON(PORTA,0) ) SETBIT(dest_byte,3);
Код: Выделить всё
PORTB &= 0xC3;
PORTB |= (PORTC & 0x0F) << 2;
С уважением,
Виктор.
Виктор.
к программатору МК подключал?Crest писал(а):Спалил МК Atmega8a smd. Собирал блок питания. Сначала был коротыш по питанию (в монтаже) - раскалился стабилизатор КРЕН5А пока определялся. После остывания питание показывало нормальное 4,8В. Питание : транс - мост - емкость 1000 - дроссель от мамки - стабилизатор - емкость 2000 - керамика 0,1. Устранил коротыш - схема заработала. Нашел косяк в силовой части. При отключении несколько раз включил/выключил устройство. После устранения включил, а по питанию мк опять коротыш, точнее между + и - около 4 Ом. На этот раз это оказался пробой МК. Скорее всего случайно коротнул заряженные кондёры силовой части ( 32В) на плату управления. Но хотелось бы подстраховаться. Мог ли проскочить смертельный импульс из-за включений/выключений питания или того, что стабилизатор отечественный, или того что стабилизатор подожженый, или того что нет керамики по входу стабилизатора, или из-за дросселя? МК уже не оживить?
USHIN
- Реклама
сначало прозвони весь чип на наличие кз ,а программатору ни чего не будетCrest писал(а):Боюсь сжеч программатор или бук. (AVR910). Попробовать?
USHIN
помогите осознать ошибку и найти правильное решение
вопрос касается атмега8 и таймера №2 в режиме СТС
мне надо чтобы данный таймер работая в режиме СТС поочередно включал то трерывание по совпадению(и в теле этого преывания отключал прерывание по совпадению и разрешал прерывание по переполнению TIMSK=0x50;), то прерывание по переполнению (и в теле этого прерывания включал прерывание по совпадению TIMSK=0xD0;)......., тоесть чтобы прерывания шли по очереди: совпадение-переполнение-совпадение и т.д.
в симуляторе студии 4 я вижу что первым у меня срабатывает прерывание по совпадению, в TIMSK записывается 0x50 , а вот дальше мое прерывание по переполнению почемуто не срабатывает......, что я делаю не так ?
вопрос касается атмега8 и таймера №2 в режиме СТС
мне надо чтобы данный таймер работая в режиме СТС поочередно включал то трерывание по совпадению(и в теле этого преывания отключал прерывание по совпадению и разрешал прерывание по переполнению TIMSK=0x50;), то прерывание по переполнению (и в теле этого прерывания включал прерывание по совпадению TIMSK=0xD0;)......., тоесть чтобы прерывания шли по очереди: совпадение-переполнение-совпадение и т.д.
в симуляторе студии 4 я вижу что первым у меня срабатывает прерывание по совпадению, в TIMSK записывается 0x50 , а вот дальше мое прерывание по переполнению почемуто не срабатывает......, что я делаю не так ?
Tell Me The Truth
Программатор питается от USB бука через диод. Если я подключу чип с почти коротышом по питанию, то нагружу порт бука. Очкую.USHIN256 писал(а):сначало прозвони весь чип на наличие кз ,а программатору ни чего не будет
В режиме CTC таймер сбрасыватся при достижении значения в OCR, и тогда он не может переполнится.FreshMan писал(а):что я делаю не так ?
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
*Trigger*, почитай мой предыдущий пост внимательно
я хочу чтобы прерывания шли по очереди: совпадение-переполнение-совпадение и т.д.
я хочу чтобы прерывания шли по очереди: совпадение-переполнение-совпадение и т.д.
Tell Me The Truth
Нужно химисить не только с прерываниями, а еще и с режимом работы таймера. Он у тебя сбрасывается по совпадению, а прерывание запрещено - вот он и крутится не доходя до переполнения. Либо прерывание использовать одно а трогать только регистр совпадения - по очереди ставить то $50 то $FF.
Я об этом и говорю. Нужно при включении прерывания по переполнению ставить таймер в режим сброса при переполнении.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
что-то я вас недопонимаю
разжуйте пожалуйста по подробне
вот моя прога
http://s1.ipicture.ru/uploads/20130407/rHbxNDiU.jpg
разжуйте пожалуйста по подробне
вот моя прога
http://s1.ipicture.ru/uploads/20130407/rHbxNDiU.jpg
Tell Me The Truth
О это гениальное решение код показывать в виде картинки...
Чего же подробнее? Все что нужно уже сказано...
Чего же подробнее? Все что нужно уже сказано...
Alexeyslav, я не могу понять почему в конце кода прерывания по совпадению я запрещаю прерывание по совпадению и разрешаю прерывание по переполнению но последнее не срабатываеи......, почему ? 
Tell Me The Truth
Поставь себя на место счетчика. Ты настроен на счет до совпадения и сброс. То что ты запрещаешь прерывание по совпадению не отменяет того факта что счетчик будет сбрасываться. Досчитал до 50 - сбросился... досчитал - сбросился... когда ему переполнятся?
ааааааааааа......, тогда выходит надо не только запрещать прерывание по переполнению но и поднимать планку до FF
я правильно уразумел ?
я правильно уразумел ?
Tell Me The Truth
Народ, есть всем известное преобразование BIN2BCD, а кто делал обратное BCD2BIN?
По тому же принципу, с циклами и вычитанием? Или есть какая то хитрость?
Исходные:
A= единицы,
B = десятки,
С = сотни,
D = тысячи...
в переменной DATA - результат.
По тому же принципу, с циклами и вычитанием? Или есть какая то хитрость?
Исходные:
A= единицы,
B = десятки,
С = сотни,
D = тысячи...
в переменной DATA - результат.
Ээээ!
У меня не суперкомпьютер! А всего лишь скромные PIC16/18. Затолкать в них такое даже с вазелином не получится. 
Последний раз редактировалось Chettuser Вс апр 07, 2013 20:46:55, всего редактировалось 1 раз.


