Valek
Участник-
Постов
24 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Valek
-
Звание
Участник
Информация
-
Город
Array
Посетители профиля
-
Здравствуйте, подскажите пожалуйста комбинацию клавиш переключение автозамены текста, при написании кода в среде IAR. В нижнем правом углу пиктограмка ЗАМ, между NUM и флажком. Была блекла, а теперь яркая. Ребенок прошелся по клавиатуре, теперь не могу вернуть. Зарание спасибо.
-
Вопросы начинающих 2015г
Valek ответил Uladzimir тема в Altium Designer, DXP, Protel
Здравствуйте. Установил Altium 16.1.11 и столкнулся с очень не привычным действием. Сейчас в редакторе схем что бы повернуть УГО его необходимо выделить одним кликом ЛК мыши. В предыдущий версии не было необходимости выделять компонент для поворота, поворачивали не отпуская ЛК мыши. Подскажите пожалуйста есть ли возможность настроить что бы поворачивать не отпуская ЛК мыши? Или у меня прога криво встала? -
Нужна транзисторная сборка
Valek ответил 777777 тема в Транзисторы
Здравствуйте. Посоветуйте сбоку из двух транзисторов P и N каналов. Корпус для поверхностного монтажа. Напряжение от 20 В и ток от 15 А. Спасибо. -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Ну вот, совсем по-простому. Эта программа работает как часы. Но я хочу установить спящий режим. Какие регистры мне необходимо настроить? MCUCR и GIMSK? Без прерываний не обойтись? ; Программа для фонаря с магнитным управлением ; частота 1 МГц от внутреннего генератора .device ATtiny13A .nolist .include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn13Adef.inc" .list .def temp = r16 .def delay1= r17 .def delay2= r18 .def delay3= r19 rjmp Init Init: ;Назначаем входы и выходы портов (0-вход, 1-выход) ldi temp,0b111101 out DDRB ,temp ;Включаем подтяжку на входах (1-есть рез., 0- нет рез.) ;и задаем начальное состояние выходов ldi temp,0b000010 out PORTB ,temp Start: rcall knopka on: sbi portB, 4;включаем светодиод ;задержка 7 милисекунд ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay cbi PortB, 4 ;тушим светодиод ;задержка 1 милисекунда ldi Delay1, 0xC8 ldi Delay2, 0x00 ldi Delay3, 0x00 rcall Delay sbis PinB, 1 ;проверяем нажатие кнопки rjmp knopka rjmp on //Подпрограмма "кнопка" knopka: sbic PinB, 1;ждем нажатия кнопки rjmp knopka ;задержка от дребезга контактов 5mc ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay puch: sbis PinB, 1;ждем отпускания кнопки rjmp puch ret Delay: subi Delay1,1 sbci Delay2,0 sbci Delay3,0 brcc Delay ret -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
прям как диктант пишем, будем повнимательней. А на ассемблере где ошибся? -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Как микроконтроллер поймет что нужно перейти в это место при совершении прерывания? А я думал что метка в программе должна называться как прерывание, и когда совершается прерывание то программа переходит в это место. -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
AVR Studio 4.18 build 716 при компиляции выдает ошибку. Я помню что всамом начале тоже пытался задействовать это прерывание и у меня была такая же ошибка. .device ATtiny13A .nolist .include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn13Adef.inc" .list .def temp = r16 .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 rjmp RESET; Reset Handler rjmp EXT_INT0; IRQ0 Handler rjmp PCINT0; PCINT0 Handler reti;rjmp TIM0_OVF; Timer0 Overflow Handler reti;rjmp EE_RDY; EEPROM Ready Handler reti;rjmp ANA_COMP; Analog Comparator Handler reti;rjmp TIM0_COMPA; Timer0 CompareA Handler reti;rjmp TIM0_COMPB; Timer0 CompareB Handler reti;rjmp WATCHDOG; Watchdog Interrupt Handler reti;rjmp ADC; ADC Conversion Handler вот такая ощибка: D:\AVR Project\fonar\fonar.asm(131): error: Illegal attempt to re-use 'PCINT0' as label Пишет что PCINT0 где-то уже ипользовалось! Что за чушь, мы же его впервые в программе написали. Да... а разве нет резници между EXT_INT0 и INT0? -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Вообще я ставил инициализацию стека в разные места, не помогает ( -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
.device ATtiny13A .nolist .include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn13Adef.inc" .list ;èíèöèàëåçàöèÿ ñòåêà ldi temp, LOW(RAMEND) out SPL, temp .def temp = r16 .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 rjmp RESET; Reset Handler rjmp EXT_INT0; IRQ0 Handler reti;rjmp PCINT0; PCINT0 Handler reti;rjmp TIM0_OVF; Timer0 Overflow Handler reti;rjmp EE_RDY; EEPROM Ready Handler reti;rjmp ANA_COMP; Analog Comparator Handler reti;rjmp TIM0_COMPA; Timer0 CompareA Handler reti;rjmp TIM0_COMPB; Timer0 CompareB Handler reti;rjmp WATCHDOG; Watchdog Interrupt Handler reti;rjmp ADC; ADC Conversion Handler ;******************************************************************************* ** Reset: ;èíèöèàëåçàöèÿ ñòåêà ldi temp, LOW(RAMEND) out SPL, temp ;Íàçíà÷àåì âõîäû è âûõîäû ïîðòîâ (0-âõîä, 1-âûõîä) ldi temp, 0b111101 out DDRB, temp ;Âêëþ÷àåì ïîäòÿæêó è çàäàåì íà÷àëüíîå ñîñòîÿíèå âûõîäîâ ldi temp, 0b000010 out PORTB ,temp ;Íàñòðàèâàåì ðåãèñòð MCUCR íà ðàçðåøåíèå ïðåðûâàíèé ñ 0 íà 1 ;è óñòàíàâëèâàåì ðåæèì Power-down ldi temp, 0b00110011 out MCUCR, temp ;ðàçðåøàåì âíåøíèå ïðåðûâàíèÿ íà INT0 ldi temp, 0b01000000 out GIMSK, temp sei ;ðàçðåøèòü ïðåðûâàíèÿ EXT_INT0: sei ldi temp, 0b00110011 out MCUCR, temp sbis PinB, 1;æäåì íàæàòèÿ êíîïêè (0-âûïîëíÿåì, 1-ïðîïóñêàåì) sleep puch:;æäåì îòïóñêàíèÿ êíîïêè sbic PinB, 1 rjmp puch ;Íàñòðàèâàåì ðàçðåøåíèå ïðåðûâàíèé ñ 1 íà 0 ldi temp, 0b00110010 out MCUCR, temp Loop: sbi PortB, 4 ;âêëþ÷àåì ñâåòîäèîä ;çàäåðæêà 7 ìèëèñåêóíä ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay cbi PortB, 4 ;òóøèì ñâåòîäèîä ;çàäåðæêà 1 ìèëèñåêóíäà ldi Delay1, 0xC8 ldi Delay2, 0x00 ldi Delay3, 0x00 rcall Delay ;åñëè êíîïêà íå íàæàòà ïðîäîëæàåì ãîðåòü sbis PinB, 1 rjmp Loop puch1:;æäåì îòïóñêàíèÿ êíîïêè sbic PinB, 1 rjmp puch1 rjmp EXT_INT0 Delay: subi Delay1,1 sbci Delay2,0 sbci Delay3,0 brcc Delay ret При первом и втором варианте программы, если закоментировать строку sleep, то программа работает так - подносишь магнит загорается светодиод (как задумано, со скважностью 7/8) убераешь магнит тухнет светодиод. -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Инициализация стека не спасло ситуацию (((. Мне вот интересно, есть статья http://radiokot.ru/start/mcu_fpga/avr/ там используются такие же команды как у меня в программе, но там ни слова про инициализацию стека. Где у меня ошибка? Почему в симуляторе все работает как надо, а в микроконтроллере нет? Может можно как-то поблочно программу проверить. Скажем чтобы был просто генератор. Отключить прерывания и оставить только задежки? -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Это получается в двух местах инициализацию делать? -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Точно! ))) Так и есть. Но если вы повнемательней посмотрите на программу, то увидете, что это генератор с частоттой 125 Гц и скважностью 7/8. Так вот, когда открыт транзистор микроконтроллер питается от конденсатора С1, потом транзистор закрывается и С1 заряжается через R3, R4. А самое начало это после Reset: или после .cseg .org 0 ? -
Нужна помощь в прошивании AVR
Valek ответил mysol тема в MCS51, AVR, PIC, STM8, 8bit
Здравстуйте! Продскажите пожалуйста где у меня ошибка. Я написал программу для ATtiny13A. В симуляторе AVR Studio все работает как надо, а как прошиваю ничего не горит. Пробывал прошить скачаную программу из инета, все заработала. Это моя первая программа, опыта работы с AVR Studio нет. Программатор AVR Dragon, прошивку программатора обновил вчера через AVR Studio. .device ATtiny13A .nolist .include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn13Adef.inc" .list .def temp = r16 .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 .cseg .org 0 rjmp RESET; Reset Handler rjmp EXT_INT0; IRQ0 Handler reti;rjmp PCINT0; PCINT0 Handler reti;rjmp TIM0_OVF; Timer0 Overflow Handler reti;rjmp EE_RDY; EEPROM Ready Handler reti;rjmp ANA_COMP; Analog Comparator Handler reti;rjmp TIM0_COMPA; Timer0 CompareA Handler reti;rjmp TIM0_COMPB; Timer0 CompareB Handler reti;rjmp WATCHDOG; Watchdog Interrupt Handler reti;rjmp ADC; ADC Conversion Handler ;******************************************************************************* ******* Reset: ;задержка запуска после сброса ldi Temp,0 ldi Temp,0 ;Назначаем входы и выходы портов (0-вход, 1-выход) ldi temp, 0b111101 out DDRB, temp ;Включаем подтяжку и задаем начальное состояние выходов ldi temp, 0b000010 out PORTB ,temp ;Настраиваем регистр MCUCR на разрешение прерываний с 0 на 1 ;и устанавливаем режим Power-down ldi temp, 0b00110011 out MCUCR, temp ;разрешаем внешние прерывания на INT0 ldi temp, 0b01000000 out GIMSK, temp sei ;разрешить прерывания EXT_INT0: sei ldi temp, 0b00110011 out MCUCR, temp sbis PinB, 1;ждем нажатия кнопки (0-выполняем, 1-пропускаем) sleep puch:;ждем отпускания кнопки sbic PinB, 1 rjmp puch ;Настраиваем разрешение прерываний с 1 на 0 ldi temp, 0b00110010 out MCUCR, temp Loop: sbi PortB, 4 ;включаем светодиод ;задержка 7 милисекунд ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay cbi PortB, 4 ;тушим светодиод ;задержка 1 милисекунда ldi Delay1, 0xC8 ldi Delay2, 0x00 ldi Delay3, 0x00 rcall Delay ;если кнопка не нажата продолжаем гореть sbis PinB, 1 rjmp Loop puch1:;ждем отпускания кнопки sbic PinB, 1 rjmp puch1 rjmp EXT_INT0 Delay: subi Delay1,1 sbci Delay2,0 sbci Delay3,0 brcc Delay ret Вот схема всего устройства. Это фонарь с магнитным управлением, кнопку нажал светодиод загорелся, еще раз нажал потух и микроконтроллер ушол в спящий режим. Я на первом этапе поставил только геркон, 2 резистора и светодиод, вместо транзистора. -
Круглый полигон
Valek ответил Visuvius тема в Altium Designer, DXP, Protel
Создание полигона из выделенных объектов 1. Итак, операцией Place/Line или Place/Arc создадим замкнутый контур (желтый контур на рисунке из двух полуокружностей, соединенных ломаной линией). 2. Применим операцию Tools/Polygon Pours/Define from selected objects. 3. Полигон будет создан (на рисунке он белого цвета). Теперь достаточно выделить его и указать, как обычно, остальные параметры полигона.