Напиши программку чуть посложнее, чтобы она не мортвый уровень давала в порт, а постоянно шевелила ногами, тогла обычный светодиод повесишь на ногу и увидишь импульсы, если конечно частота не будет слишком высокая. Вот тебе рабочий исходник такой программульки, шевелит по очереди всеми ногами порта В.
#include p16f84a.inc ;Подключение файла с описаниями регистров специального назначения
;Определение используемых в программе регистров общего назначения:
cblock 0x0C
CounterLo ;младший байт счетчика в подпрограмме (далее - пп.) задержки
CounterHi ;старший
endc
;Константы инициализации регистров специального назначения:
INIT_PORTA EQU b'00000000' ;Все линии на выход
INIT_PORTB EQU b'00000000' ;
INIT_OPTION EQU b'00000000' ;Константа для инициализации регистра OPTION.
;Т.к. таймер, сторожевой таймер и подтягивающие
;резисторы не используются, то в него можно
;просто записать 0
INIT_INTCON EQU b'00000000' ;Прерывания запрещены
;Константы для пп. задержки на 0,5 сек:
DELAYLO EQU .79 ;
DELAYHI EQU .106 ;
;Далее начинается исполняемый код программы:
goto Init ;Переход на начало
int_point org 0x04 ;Вектор прерывания
;Пп. задержки на 0,5сек
Delay05
;Инициализация регистров счетчика:
movlw DELAYLO ;Младший байт
movwf CounterLo ;
movlw DELAYHI ;Старший байт
movwf CounterHi ;
Del05
decfsz CounterLo,1 ;Декремент младшего байта счетчика. Выполняется до тех пор,
goto Del05 ;пока он не станет равным нулю, после чего декрементируется
decfsz CounterHi,1 ;старший байт
goto Del05 ;
return ;После того, как оба байта станут равными нулю, возврат из пп.
;Инициализация
Init
bsf STATUS,RP0 ;Выбор первого банка ОЗУ
movlw INIT_PORTA ;Инициализация регистров выбора направления линий
movwf TRISA ^80h ;ввода/вывода
movlw INIT_PORTB ;
movwf TRISB ^80h ;
movlw INIT_OPTION ;Инициализация регистра OPTION
movwf OPTION_REG ^80h
clrf STATUS ;Переключение на нулевой банк ОЗУ
movlw INIT_INTCON ;Инициализация регистра INTCON
movwf INTCON ;
movlw h'FF'
movwf PORTA
movlw b'11111110'
movwf PORTB
Begin
call Delay05 ;Подождать 0,5сек
rlf PORTB
goto Begin ;Переход на начало
end ;Конец программы
Удачи!
|