Andrey_Ch8 Опубликовано 20 января, 2011 Поделиться Опубликовано 20 января, 2011 Странная программа, особенно такие задержки call delay_2 bcf PORTB,1 return delay_1 nop return delay_2 nop nop return end 0 Не цитируите полностью предыдущее сообщение!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Lev@ Опубликовано 20 января, 2011 Автор Поделиться Опубликовано 20 января, 2011 Подскажите, а как быть с битами конфигурации? Не понял? 2 Andrey_Ch8: Это чисто для моих нужд... конкретно эти значени для отладки... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
RGB-V Опубликовано 21 января, 2011 Поделиться Опубликовано 21 января, 2011 Имел ввиду добавить в листинг программы строку конфигурации МК list p=16f628a #include <p16f628a.inc> __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_OFF & _LVP_OFF Чтоб люди могли запустить ее в МК и насладиться ее работай, следует добавить чтоб увидеть результат на светодиодах необходимо задержку delay_2 увеличить ну скажем до 1000 м.ц. и для компенсации дребезка контактов delay_1 тоже пусть до 1000 м.ц. Также сообщить народу, что этот листинг программы для одного энкодера, используються ноги 6-7 выход на светодиоды, ноги 12-13 вход энкодера, подключение как в схеме. Автору респект и уважение Спасибо!!! :D 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
RGB-V Опубликовано 22 января, 2011 Поделиться Опубликовано 22 января, 2011 Интересно, что вычисляет (тупая логика) если за один щелчок энкодера на выходе 4 импульса. Использовался логический анализатор. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Lev@ Опубликовано 22 января, 2011 Автор Поделиться Опубликовано 22 января, 2011 Это как? Особенно "4-ре импульса"?! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
RGB-V Опубликовано 23 января, 2011 Поделиться Опубликовано 23 января, 2011 Т.К. Разрешены прерывания от изменеия состояния входов, при одном щелчке энкодера каждый из контактов совершает два действия вызывающие прерывания - замыкание и размыкание в разных временных промежутках т.е. имеем четыре входа в программу обработки прерывания, напровление вращения обрабатывается верно. Ставим делитель на 4 и радуемся жизни. Но есть еще один неприятный момент если пошевелить энкодер без перехода в следующее положение (один из контактов вызовет дребезг) на выходе получим ложные импульсы. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 23 января, 2011 Поделиться Опубликовано 23 января, 2011 У меня на работе валяются два энкодера, один из них как раз такой-же. У него за один щелчок проходит все 4 импульса. Т.е. в фиксированом состоянии, между щелчками, оба вывода энкодера отпущены (на них висит лог.1). 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
RGB-V Опубликовано 5 июня, 2011 Поделиться Опубликовано 5 июня, 2011 (изменено) Предлагаю посмотреть мой вариант обработчика энкодера. Программа для одного энкодера, но работает с разными типами. МК PIC12F629, ноги 2 и 3 подключаем энкодер, ноги 6 и 7 выход импульсов в зависимости от напровления. list p=12f629 #include<p12f629.inc> __CONFIG 0194 ;------------------------------------------------------------------------- ;Переменные ; PC equ 02h TRM0 equ 01h OPTIONR equ 81h ; TMR1L equ 0Eh ; Младший регистр таймера ТМ1 TMR1H equ 0Fh ; Старший регистр таймера ТМ1 Reg_1 equ 0x20 ; Регистр счетчика задержки Reg_2 equ 0x21 ; Регистр счетчика задержки Reg_3 equ 0x22 ; Регистр счетчика задержки W_TEMP EQU 0x23 ; РЕГИСТР СОХРАНЕНИЯ СОДЕРЖИМОГО W ПРИ ПРЕРЫВАНИЯХ. STATUS_TEMP EQU 0x24 ; W EQU 0 ; РЕЗУЛЬТАТ НАПРАВИТЬ В АККУМУЛЯТОР. F EQU 1 ; РЕЗУЛЬТАТ НАПРАВИТЬ В РЕГИСТР. FSHETL equ 0x38 FSHETR equ 0x39 FSHETL1 equ 0x40 FSHETR1 equ 0x41 PORT equ 0x42 FSHETL2 equ 0x43 FSHETR2 equ 0x44 FSHETL3 equ 0x45 FSHETR3 equ 0x46 ;-------------------------------- #DEFINE BANK0 BCF STATUS,RP0 ; #DEFINE BANK1 BSF STATUS,RP0 ; ;-------------------------------- org 0h ; Вектор старта goto Start ; org 4h ; Вектор прерывания call delay_1 call int bcf INTCON,0 RETFIE ;конец обработчика прерывания ;================================================================================= ; Начальная инициализация процессора ;================================================================================= Start clrf GPIO ; Инициализация портов BANK1 ; call 3FFh ; movwf OSCCAL ; Загрузить калибровочную константу BANK0 ; Банк 0 movlw b'00000000' ; Претделитель таймера ТМ1 1/1 movwf T1CON ; ТМ1 от внутренего сигнала movlw b'00000111' ; Цифровые выводы (компоратор отключен) movwf CMCON ; BANK1 ; Банк 1 movlw b'00111000' ; конфигурация портов movwf TRISIO ; на ввод и выход CLRF VRCON ; Выключить компаратор movlw B'00000111' ; Коэфициэнт претделителя ТМ0 256 movwf OPTIONR ; Внутрений тактовый сигнал, отключить подтягивающие резисторы movlw b'000110000' ; Разрешить прерывания от изменения сигнала на 0-4 movwf IOCB movlw b'000110000' ; movwf WPU BANK0 ; Банк 0 ; **************************************************************** CLRF PORT CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ ;--------------- Основная программа ------------------------------ ; Разрешение прерывания от входов movlw B'10001000' ; Разрешаем прерывания от изменения уровня сигнала. movwf INTCON ; Глобальные и от INT ;--------------- Основная программа ------------------------------ ; Здесь можно делать что-то полезное L1 goto L1 ;*********************************************** int MOVF GPIO,W movwf PORT ; goto VB btfsc FSHETL,1 ; 00----ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_L btfsc PORT,4 goto PRAVO ; НЕ НАШ КОД btfsc PORT,5 goto PRAVO ; НЕ НАШ КОД BSF FSHETL,1 ; 1 ЧИСЛО ПРИНЯТО goto PRAVO DVA_L btfsc FSHETL,2 ; 2 ЧИСЛО ПРОШЛО goto TRI_L btfsS PORT,4 goto PRAVO ; 10--- НЕ НАШ КОД btfsc PORT,5 goto PRAVO ; НЕ НАШ КОД BSF FSHETL,2 ; 2 ЧИСЛО ПРИНЯТО goto PRAVO TRI_L btfsc FSHETL,3 ; 11---3 ЧИСЛО ПРОШЛО goto CH_L btfsS PORT,4 goto PRAVO ; НЕ НАШ КОД btfsS PORT,5 goto PRAVO ; НЕ НАШ КОД BSF FSHETL,3 ; 3 ЧИСЛО ПРИНЯТО goto PRAVO CH_L btfsC PORT,4 goto PRAVO ; 01---НЕ НАШ КОД btfsS PORT,5 goto PRAVO ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_left ;------------------------------------------------------- PRAVO btfsc FSHETR,1 ; 11----ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_R btfsS PORT,4 GOTO LEFT2 ; НЕ НАШ КОД btfsS PORT,5 GOTO LEFT2 ; НЕ НАШ КОД BSF FSHETR,1 ; 1 ЧИСЛО ПРИНЯТО GOTO LEFT2 DVA_R btfsc FSHETR,2 ; 10--- 2 ЧИСЛО ПРОШЛО goto TRI_R btfsS PORT,4 GOTO LEFT2 ; НЕ НАШ КОД btfsc PORT,5 GOTO LEFT2 ; НЕ НАШ КОД BSF FSHETR,2 ; 2 ЧИСЛО ПРИНЯТО GOTO LEFT2 TRI_R btfsc FSHETR,3 ; 00----3 ЧИСЛО ПРОШЛО goto CH_R btfsC PORT,4 GOTO LEFT2 ; НЕ НАШ КОД btfsC PORT,5 GOTO LEFT2 ; НЕ НАШ КОД BSF FSHETR,3 ; 3 ЧИСЛО ПРИНЯТО GOTO LEFT2 CH_R btfsC PORT,4 GOTO LEFT2 ; 01--- НЕ НАШ КОД btfsS PORT,5 GOTO LEFT2 ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_right ;----------------------------------------------------------- LEFT2 btfsc FSHETL1,1 ; 11 ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_L1 btfss PORT,4 goto PRAVO1 ; НЕ НАШ КОД btfss PORT,5 goto PRAVO1 ; НЕ НАШ КОД BSF FSHETL1,1 ; 1 ЧИСЛО ПРИНЯТО goto PRAVO1 DVA_L1 btfsc FSHETL1,2 ; 01- 2 ЧИСЛО ПРОШЛО goto TRI_L1 btfsC PORT,4 goto PRAVO1 ; НЕ НАШ КОД btfsS PORT,5 goto PRAVO1 ; НЕ НАШ КОД BSF FSHETL1,2 ; 2 ЧИСЛО ПРИНЯТО goto PRAVO1 TRI_L1 btfsc FSHETL1,3 ; 00--3 ЧИСЛО ПРОШЛО goto CH_L1 btfsc PORT,4 goto PRAVO1 ; НЕ НАШ КОД btfsc PORT,5 goto PRAVO1 ; НЕ НАШ КОД BSF FSHETL1,3 ; 3 ЧИСЛО ПРИНЯТО goto PRAVO1 CH_L1 btfss PORT,4 goto PRAVO1 ; 10---НЕ НАШ КОД btfsc PORT,5 goto PRAVO1 ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_left ;------------------------------------------------------- PRAVO1 btfsc FSHETR1,1 ; 00--ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_R1 btfsc PORT,4 GOTO VB ; НЕ НАШ КОД btfsc PORT,5 GOTO VB ; НЕ НАШ КОД BSF FSHETR1,1 ; 1 ЧИСЛО ПРИНЯТО GOTO VB DVA_R1 btfsc FSHETR1,2 ; 01---2 ЧИСЛО ПРОШЛО goto TRI_R1 btfsc PORT,4 GOTO VB ; НЕ НАШ КОД btfss PORT,5 GOTO VB ; НЕ НАШ КОД BSF FSHETR1,2 ; 2 ЧИСЛО ПРИНЯТО GOTO VB TRI_R1 btfsc FSHETR1,3 ; 11==3 ЧИСЛО ПРОШЛО goto CH_R1 btfss PORT,4 GOTO VB ; НЕ НАШ КОД btfss PORT,5 GOTO VB ; НЕ НАШ КОД BSF FSHETR1,3 ; 3 ЧИСЛО ПРИНЯТО GOTO VB CH_R1 btfss PORT,4 GOTO VB ; 10--НЕ НАШ КОД btfsc PORT,5 GOTO VB ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_right ;=================================================================================== ;=================================================================================== ;=================================================================================== VB btfsc FSHETL2,1 ; 10----ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_L2 btfss PORT,4 goto PRAVO2 ; НЕ НАШ КОД btfsc PORT,5 goto PRAVO2 ; НЕ НАШ КОД BSF FSHETL2,1 ; 1 ЧИСЛО ПРИНЯТО goto PRAVO2 DVA_L2 btfsc FSHETL2,2 ; 2 ЧИСЛО ПРОШЛО goto TRI_L2 btfsS PORT,4 goto PRAVO2 ; 11--- НЕ НАШ КОД btfss PORT,5 goto PRAVO2 ; НЕ НАШ КОД BSF FSHETL2,2 ; 2 ЧИСЛО ПРИНЯТО goto PRAVO2 TRI_L2 btfsc FSHETL2,3 ; 01---3 ЧИСЛО ПРОШЛО goto CH_L2 btfsc PORT,4 goto PRAVO2 ; НЕ НАШ КОД btfsS PORT,5 goto PRAVO2 ; НЕ НАШ КОД BSF FSHETL2,3 ; 3 ЧИСЛО ПРИНЯТО goto PRAVO2 CH_L2 btfsC PORT,4 goto PRAVO2 ; 00---НЕ НАШ КОД btfsc PORT,5 goto PRAVO2 ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_left ;------------------------------------------------------- PRAVO2 btfsc FSHETR2,1 ; 10----ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_R3 btfsS PORT,4 GOTO LEFT3 ; НЕ НАШ КОД btfsc PORT,5 GOTO LEFT3 ; НЕ НАШ КОД BSF FSHETR2,1 ; 1 ЧИСЛО ПРИНЯТО GOTO LEFT3 DVA_R3 btfsc FSHETR2,2 ; 00--- 2 ЧИСЛО ПРОШЛО goto TRI_R3 btfsc PORT,4 GOTO LEFT3 ; НЕ НАШ КОД btfsc PORT,5 GOTO LEFT3 ; НЕ НАШ КОД BSF FSHETR2,2 ; 2 ЧИСЛО ПРИНЯТО GOTO LEFT3 TRI_R3 btfsc FSHETR2,3 ; 01----3 ЧИСЛО ПРОШЛО goto CH_R3 btfsC PORT,4 GOTO LEFT3 ; НЕ НАШ КОД btfss PORT,5 GOTO LEFT3 ; НЕ НАШ КОД BSF FSHETR2,3 ; 3 ЧИСЛО ПРИНЯТО GOTO LEFT3 CH_R3 btfss PORT,4 GOTO LEFT3 ; 11--- НЕ НАШ КОД btfsS PORT,5 GOTO LEFT3 ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_right ;----------------------------------------------------------- LEFT3 btfsc FSHETL3,1 ; 01 ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_L4 btfsc PORT,4 goto PRAVO3 ; НЕ НАШ КОД btfss PORT,5 goto PRAVO3 ; НЕ НАШ КОД BSF FSHETL1,1 ; 1 ЧИСЛО ПРИНЯТО goto PRAVO3 DVA_L4 btfsc FSHETL1,2 ; 00- 2 ЧИСЛО ПРОШЛО goto TRI_L4 btfsC PORT,4 goto PRAVO3 ; НЕ НАШ КОД btfsc PORT,5 goto PRAVO3 ; НЕ НАШ КОД BSF FSHETL3,2 ; 2 ЧИСЛО ПРИНЯТО goto PRAVO3 TRI_L4 btfsc FSHETL3,3 ; 10--3 ЧИСЛО ПРОШЛО goto CH_L4 btfss PORT,4 goto PRAVO3 ; НЕ НАШ КОД btfsc PORT,5 goto PRAVO3 ; НЕ НАШ КОД BSF FSHETL3,3 ; 3 ЧИСЛО ПРИНЯТО goto PRAVO3 CH_L4 btfss PORT,4 goto PRAVO3 ; 11---НЕ НАШ КОД btfss PORT,5 goto PRAVO3 ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_left ;------------------------------------------------------- PRAVO3 btfsc FSHETR3,1 ; 01--ПЕРВОЕ ЧИСЛО ПРОШЛО goto DVA_R4 btfsc PORT,4 return ; НЕ НАШ КОД btfss PORT,5 return ; НЕ НАШ КОД BSF FSHETR3,1 ; 1 ЧИСЛО ПРИНЯТО return DVA_R4 btfsc FSHETR3,2 ; 11---2 ЧИСЛО ПРОШЛО goto TRI_R4 btfss PORT,4 return ; НЕ НАШ КОД btfss PORT,5 return ; НЕ НАШ КОД BSF FSHETR3,2 ; 2 ЧИСЛО ПРИНЯТО return TRI_R4 btfsc FSHETR3,3 ; 10==3 ЧИСЛО ПРОШЛО goto CH_R4 btfss PORT,4 return ; НЕ НАШ КОД btfsc PORT,5 return ; НЕ НАШ КОД BSF FSHETR3,3 ; 3 ЧИСЛО ПРИНЯТО return CH_R4 btfsc PORT,4 return ; 00--НЕ НАШ КОД btfsc PORT,5 return ; НЕ НАШ КОД CLRF FSHETL ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR1 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR2 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETL3 ; СБРОСИТЬ СЧЕТЧИКИ CLRF FSHETR3 ; СБРОСИТЬ СЧЕТЧИКИ goto flash_right ;----------------------------------------------------------------------------------- flash_left bsf GPIO,0 call delay_2 bcf GPIO,0 return flash_right bsf GPIO,1 call delay_2 bcf GPIO,1 return delay_1 ; Задержка 300 машинных циклов ; Длительность задержки 300 микросекунд ; Частота задающего генератора 4 МГц movlw .99 movwf Reg_1 decfsz Reg_1,F goto $-1 nop nop return delay_2 ; Задержка 1 000 машинных циклов ; Длительность задержки 0.001 секунд ; Частота задающего генератора 4 МГц movlw .75 movwf Reg_1 movlw .2 movwf Reg_2 decfsz Reg_1,F goto $-1 decfsz Reg_2,F goto $-3 return ;======================================================================== end Изменено 5 июня, 2011 пользователем Alex Закрыл код в теги. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
RGB-V Опубликовано 5 июня, 2011 Поделиться Опубликовано 5 июня, 2011 (изменено) в программе внутриние резисторы активны, поэтому ноги 2 и 3 не надо подтягивать к плюсику питания резисторами. Изменено 5 июня, 2011 пользователем RGB-V 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Analog Опубликовано 3 января, 2016 Поделиться Опубликовано 3 января, 2016 Уважаемый, RGB-V! Прошло 4 года с момента публикации Вашего варианта обработки энкодера на PIC12F629. НО! если Вы живы-здоровы и читаете эти строки, то сбросьте, пожалуйста, прошивку в HEX-кодах. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
otest Опубликовано 3 января, 2016 Поделиться Опубликовано 3 января, 2016 (изменено) прошивка Encoder 629.rar Изменено 3 января, 2016 пользователем otest 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Analog Опубликовано 4 января, 2016 Поделиться Опубликовано 4 января, 2016 Спасибо! Удачи и доброго здоровья в Новом, 2016 году. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.