[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Скажем, написать 16 подпрограмм для выплевывания любой возможной 4-битной комбинации:
; выводим b'0000'
_OUT_0000
bcf PORTOUT
bsf CLOCK
bcf CLOCK
bsf CLOCK
bcf CLOCK
bsf CLOCK
bcf CLOCK
bsf CLOCK
bcf CLOCK
return; выводим b'0001'
_OUT_0001
bcf PORTOUT
bsf CLOCK
bcf CLOCK
bsf CLOCK
bcf CLOCK
bsf CLOCK
bcf CLOCK
bsf PORTOUT
bsf CLOCK
bcf CLOCK
return
_TX_4BIT
andlw 0Fh ; выделяем 4 бита
addwf PCL ; табличный переход
goto _OUT_0000
goto _OUT_0001
goto _OUT_0010
goto _OUT_0011
goto _OUT_0100
goto _OUT_0101
goto _OUT_0110
... и т.д.
...
swapf OUTDATA,W ; меняем нибблы местами
call _TX_4BIT ; посылаем их
movf OUTDATA,W ; теперь младший ниббл
call _TX_4BIT ; посылаем их, байт готов
...
Составить ответ ||| Конференция ||| Архив
Ответы
E-mail: info@telesys.ru