Дабы не плодить лишних тем,решил написать здесь....итак....все просто(как оказалось,только-вначале)
вот "код"....это-второй код за всю мою жизнь,так-что будьте по-сдержаннее:
LIST p=12f675
__CONFIG 0xF1F4-FOSC_INTRCIO,WDTE_OFF,PWRTE_OFF,MCLRE_ON,BOREN_ON,CP_OFF,CPD_OFF...эт то,что сконфигурированно
STATUS equ 03h -указание адреса регистра
GPIO equ 05h -указание адреса регистра
TRISIO equ 05h -указание адреса регистра
DATA1 equ 20h -указание адреса регистра(для декриментирования)
DATA2 equ 21h -указание адреса регистра(для декриментирования)
DATA3 equ 22h -указание адреса регистра(для декриментирования)
org 0 -начало программы
bsf STATUS,5 -переключаемся на 1 банк
bcf TRISIO,0 -переводим GP0 в выход
bcf TRISIO,1 -переводим GP1 в выход
bcf TRISIO,2 -переводим GP2 в выход
bcf STATUS,5 -переключаемся на 0 банк
START bsf GPIO,0 -включаем GP0
bsf GPIO,1 -включаем GP1
bsf GPIO,2 -включаем GP2
movlw .13 ~задержка....
movwf DATA1 ...
movlw .57 ...
movwf DATA2 ...
movlw .16 ...
movwf DATA3 ...
decfsz DATA1,F ...
goto $-1 ...
decfsz DATA2,F ...
goto $-3 ...
decfsz DATA3,F ...
goto $-5 ...3 секунды
bcf GPIO,0 -выключаем GP0
bcf GPIO,1 -выключаем GP1
bcf GPIO,2 -выключаем GP2
movlw .13 ~задержка....
movwf DATA1 ...
movlw .57 ...
movwf DATA2 ...
movlw .16 ...
movwf DATA3 ...
decfsz DATA1,F ...
goto $-1 ...
decfsz DATA2,F ...
goto $-3 ...
decfsz DATA3,F ...
goto $-5 ...3 секунды
GOTO START -возвращаемся на метку START
end
комменты подписал только здесь...в МР лаб-"сухой текст"....про кавычки(перед комментами)-в курсе.
код работает(по крайней мере в симуляторе-протеусе)...но! очень чудно работает
смысл в чем...если "повесить" светодиод на один из выводов-то он исправно "моргает" делая "меандр" с 3-х секундными циклами...."гуд по Фрейду"....написал его и уже почти "прыгал от счастья"...но в голову влезла бредовая идея...у PIC12F675 выходов-то аж целых 6!(точнее я лукавлю....выходов-то пять....и один вход...который у меня-"висит на сбросе")....ну и подумал,а дай-ка я "заюзаю" еще один выход....и вот я "включил" вместе с GP0 и GP1 программно...но в противофазе....т.е. пока на GP0-1,на GP1-0....так три секунды,затем "товарищи" меняются местами и уже на GP0-0,а на GP1-1....ну типо мультивибратора....
каково-же было мое удивление,когда протеус скрутил мне фигуру из трех пальцев и сказал:
"Моргай сам!"
\начал проверять код...мот где глаз замылился и я не увидел косяка....вроде-бы все ОК.
затем думаю...ладно,фиг с тобой,не хошь в разнобой,так моргай вместе...
настраиваю два канала(GP0 и GP1)....и....о чудо!
моргает второй....а первый-молчит....
дальше-больше.....настраиваю третий-GP2(конфигурирую по "фен-шую"....как мне кажется)....о чудестное явление!
"глохнет" второй(GP1) но четко начинает работать третий(GP2)......блиин....что за приколы.....даташит дважды на МК перечитал за этот вечер....так и не понял....почему не хотят работать два,три,четыре....порта сразу(или по-очередно)?
менял циферки после GP(номер порта)....вот какую поставишь последней-тот канал и фурычит....соответственно в "первом банке" они все сконфигурированы на выход,но сцука...."в нулевом банке"-отказываются работать вместе ....видимо,ввиду взаимной неприязни.

Ом намо Бха га ва-тэ,Васу дэва -йа.