Можешь считать что напечатал такой ответ для столба
Какие "паузы"? Те две что я выделил?
Как "процедурки" вызывать?
Куда "UART" передавать?
Где встроенный таймер?
Код: Выделить всё
;-- http://radiohlam.ru - собери сам, помоги собрать другу
;------------------------------------------------------------------
list p = 12f629
__config 01FC4h ; 01111 11 1 0 0 0 100 - (7,8)защиты памяти нет, (6)сброс по питанию разрешен,
; (5)GP3/-MCLR работает как -GP3, (4)PWRT включен, (3)сторожевой таймер - выключен, (2-0)генератор - внутренний
;********* Переменные ************************************
CBLOCK 0x20 ; Начальный адрес блока пользовательской памяти
Step1
Step2
Step3
Step4
Counter1
Counter2
StepNumber
ENDC ;
;******** Константы ***************************************
Status equ 03h ; Регистр выбора банка.
GPIO equ 05h ; Регистр управления защелками порта. (банк 0)
Cmcon equ 19h ; Регистр Cmcon - компаратора (банк 0)
TrisIO equ 05h ; Регистр выбора направления работы выводов порта. (банк 1)
INTCON equ 0Bh ; Регистр разрешения(1)/запрета(0) прерываний (любой банк)
OSCCAL equ 10h ; Регистр хранения калибровочной константы (банк 1)
T1 equ .255
T2 equ .255
INDF equ 0h ; регистр косвенной адресации
FSR equ 04h ; регистр адреса при косвенной адресации
;********************************************************
; Пусть у нас GP0 - выход на En1, GP1 - выход на EN2, GP2 - выход на IN1,IN2
; GP4 - вход кнопки, GP5 - вход кнопки
;********************************************************
org 0
;******************************************************************************************
;******** КОНФИГУРИРОВАНИЕ КОНТРОЛЛЕРА ********************************************************
;*** Необходимо помнить, что калибровочные константы стираются при программировании, **********
;*** поэтому их надо сохранять, OSCCAL хранится по адресу 03FFh, биты калибровки схемы BOR - *
;*** 12-й,13-й биты слова конфигурации (в моем случае BOR - 01, OSCCAL - 3458)*****************
;****** Калибровка Генератора *****************************************************************
start bsf Status,5 ;
Call 3FFh ; Загрузить калибровочную константу в w
movwf OSCCAL ;
;********* Запрет прерываний ************************************************
clrf INTCON ; запретить все прерывания
;******** Установка направления работы ног ******************************
bcf Status,5 ; перейти в банк 0
clrf GPIO ; инициализация защелок (все выходы равны нулю)
movlw .7 ; биты 0..2 поднять
movwf Cmcon ; компаратор выключен, GP0, GP1, GP2 - цифровые вх/вых
bsf Status,5 ; Перейти в 1-й банк (установить в 1 5-й бит регистра Status).
movlw b'00110000' ; настройка выходов (GP4,GP5 - входы)
movwf TrisIO ;
bcf Status,5 ; перейти в банк 0
;******************************************************************************************
movlw b'00000001'
movwf Step1
movlw b'00000010'
movwf Step2
movlw b'00000101'
movwf Step3
movlw b'00000110'
movwf Step4
clrf StepNumber
;******************************************************************************************
;****** РАБОЧАЯ ЧАСТЬ *********************************************************************
;****** Сканирование кнопок ***************************************************************
wait btfss GPIO,4
call Forward
btfss GPIO,5
call Backward
goto wait
;******************************************************************************************
Backward ;-------------------------------
decfsz StepNumber,1
goto Next
movlw .4
movwf StepNumber
Next movlw 1fh
addwf StepNumber,0
movwf FSR
movf INDF,0
movwf GPIO
call [b]pause[/b]
clrf GPIO
return
Forward ;-------------------------------
btfsc StepNumber,2 ; если StepNumber=4, то обнулить
clrf StepNumber
incf StepNumber,1
movlw 1fh
addwf StepNumber,0
movwf FSR
movf INDF,0
movwf GPIO
call [b]pause[/b]
clrf GPIO
return
;-----------------------------------------
pause movlw T2
movwf Counter2
pause2 movlw T1
movwf Counter1
pause1 nop
decfsz Counter1,1
goto pause1
decfsz Counter2,1
goto pause2
return
end
Сотрудничаю с НАСА, Роскосмос, Газпром, РЖД, Интер РАО ЕЭС, Роснано и др. (конкретно уточняйте у самой организации) ©.