не знаю в какой раздел помещать...
стоит ли ваще спрашивать? ,но мож кто то работал в этой проге
мне надо написать небольшую прогу для P16F877A,
оч помощнь нуна
(задание : одна из кнопок задает входной символ для регистра сдвига,реализованного на базе порта D
вторая кнопка задает импульс сдвига....сдвиг циклический)
все что есть это пример одной проги
#INCLUDE "P16F877A.INC" ;Подключаем файл с символьными обозначениями
; специальных регистров и их битов
COUNT1 EQU 20h ;Задаем символьное обозначение ячеек памяти,
COUNT2 EQU 21h ; расположенных по адресам 20h, 21h, 22h
COUNT3 EQU 22h
ORG 0 ;Текущий адрес в ПЗУ - 0
START: BSF STATUS,RP0 ;Делаем активной страницу 1, чтобы получить доступ к
; регистру TRISA
CLRF TRISB ;Устанавливаем все выводы порта В на вывод
CLRF TRISD ;Устанавливаем все выводы порта D на вывод
BCF STATUS,RP0 ;Возвращаемся на страницу 0
CLRF PORTD ; Устанавливаем все выводы порта D на вывод
BSF PORTB,6 ;Выдаем логическую единицу на RB6
LOOP: BTFSS PORTB,6 ;Пропускаем следующую команду, если бит равен единице
GOTO LOOP1 ; Переход на метку LOOP1
INCF PORTD,F ;Инкремент регистра PORTD
CALL DELAY ;Вызов подпрограммы задержки
GOTO LOOP ;Бесконечный цикл
LOOP1: DECF PORTD,F ;Декремент регистра PORTD
CALL DELAY ; Вызов подпрограммы задержки
GOTO LOOP ; Бесконечный цикл
DELAY: MOVLW 1A ;
MOVWF COUNT1 ;
LOOPZ1: CALL DELAY2 ;
DECFSZ COUNT1,F ;
GOTO LOOPZ1 ;
RETURN ;
DELAY2: MOVLW 0FF ; Подпрограмма
MOVWF COUNT2 ;
LOOPZ2: CALL DELAY3 ;
DECFSZ COUNT2,F ; задержки
GOTO LOOPZ2 ;
RETURN ;
DELAY3: MOVLW 0FF ;
MOVWF COUNT3 ;
LOOPZ3: DECFSZ COUNT3,F ;
GOTO LOOPZ3 ;
RETURN ;
END