|
Вот кусок программы:
; Инициализация портов
BCF STATUS,RP1 ;
BSF STATUS,RP0 ; Bank 1
MOVLW 04h ; PA0,PA1,PA3 - аналоговые входы
MOVWF ADCON1 ; PA2,PA4,PA5 - цифровые входы/выходы
MOVLW 0CFh ;
MOVWF TRISA ; все выводы PORTA на ввод
movlw 3Fh ; PB0-PB5 - вход
movwf TRISB ; РВ6,РВ7 - выход
movlw 0Fh ; PC0-PC3 - вход
movwf TRISC ; РС4-РС6 - выход
movlw 00h ;
movwf TRISD ; все линии на вывод
movlw 02h ; РЕ0 - выход - TX
movwf TRISE ; РЕ1 - вход - RX, PE2 - выход
bcf STATUS,RP0
movlw 0FFh
movwf PORTE
movwf PORTC
Test bsf PORTE,0
bsf PORTC,4
call P_95us
bcf PORTE,0
bcf PORTC,4
call P_95us
goto Test
Проверяю в MPLAB - все работает как написано: после запуска порты выставляются в "1", и потом на указаных выводах формируются импульсы длительностью 95мкс. Все хорошо и красиво.
Но когда программирую PIC, то он не хочет переключать свои выводы на выход. Все три линии стаются как входы, а линии порта С нормально отрабатывают программу и все на них в порядке. Делаю то же самое с другими выводами портов А, В, С - там тоже все нормально отрабатывается
Может нужно еще где-то указать что Порт Е используется как выход?
E-mail: info@telesys.ru