After banging on this thing for a few hours I'm beginning to think this device is really chewing gum with metal legs.This is kindof' an odd device; its like a "PIC12Fxxx" but with a "PIC16Fxxx" designation, with built-in opamps (which is why I'm using it).
I'm simply trying to blink an LED. The outputs, across the board, seem to be set as inputs. The first question I have is, how does one set the TRISA on 12 bit devices? If I give it a TRISA command I get an error. Data sheet isn't much help; it refers to "TRISA, TRISB, TRISC". Despite that, I don't think that's the problem given that my LED is on PORTC.0...
As you can see in the code, PORTC.0 is an output, and I believe all the appropriate configuration bits are set properly. Comparators are off, A/D is off, OPAMPS are "on", ANSEL is configured. I know the part is running; I can see the clock out on the clock out pin (DIV/4). MCLR works as well. Just no output from anything. Can someone give this an eyeball and tell me what I've over-looked? Never had so much trouble with any device blinking an led...
BTW: I'm using the latest PBPX 3.0.7.4 with a U2 programmer running meProg v.4.51.
Thanks in advance,
Mike T.
Code:'**************************************************************** '* Name : LED_000.BAS * '**************************************************************** #CONFIG __config _FOSC_INTRC_CLKOUT &_WDTE_OFF &_CP_OFF &_MCLRE_ON &_IOSCFS_4MHz &_CPSW_OFF &_BOREN_OFF &_DRTEN_OFF #ENDCONFIG DEFINE OSC 4 INCLUDE "modedefs.bas" ;ALIASES PBTN VAR PORTA.0 ; INPUT - DIGITAL ; NOT USED VAR PORTA.1 ; OUTPUT - SET LOW ANIN2 VAR PORTA.2 ; INPUT - ANALOG ; NOT USED VAR PORTA.3 ; OUTPUT - SET LOW ANIN3 VAR PORTA.4 ; INPUT - ANALOG OLED VAR PORTA.5 ; OUTPUT - DIGITAL ; OP2_MINUS VAR PORTB.4 ; INPUT - OPAMP ; OP2_PLUS VAR PORTB.5 ; OUTPUT - OPAMP ; NOT USED VAR PORTB.6 ; OUTPUT - DIGITAL ; NOT USED VAR PORTB.7 ; OUTPUT - DIGITAL LED VAR PORTC.0 ; OUTPUT - DIGITAL ; NOT USED VAR PORTC.1 ; OUTPUT - DIGITAL ; OP2_OUT VAR PORTC.2 ; OUTPUT - ANALOG ; OP1_OUT VAR PORTC.3 ; OUTPUT - ANALOG ; NOT USED VAR PORTC.4 ; OUTPUT - DIGITAL ; NOT USED VAR PORTC.5 ; OUTPUT - DIGITAL ; OP1_MINUS VAR PORTC.6 ; INPUT - ANALOG ; OP1_PLUS VAR PORTC.7 ; INPUT - ANALOG ;PORT CONTROL REGISTERS ;PORTA ;TRISA = %00010101 ;HUH?????? TRISB = %00010000 TRISC = %11000000 ; ANSEL ; 7 6 5 4 3 2 1 0 ;RC.3 RC.2 RC.1 RC.0 RA.4 RA.2 RA.1 RA.0 ANSEL = %11001100 ; INTCON CONTROL REGISTERS INTCON0 = %00000000 INTCON1 = %00000000 ; OPTION CONTROL REGISTER OPTION_REG = %11000000 ;ADC CONTROL REGISTERS ADCON0 = %00000000 ; ADC DISABLED ; COMPARATOR CONTROL REGISTERS CM1CON0 = %01000000 ; COMPARATORS OFF - BIT 3 CM2CON0 = %01000000 VRCON.7 = 0 ; VOLTAGE REFERENCE OFF ; OPAMP CONTROL REGISTER OPACON = %00000011 ; OPAMPS ON BLINK: HIGH LED PAUSE 500 LOW LED PAUSE 500 GOTO BLINK end


This is kindof' an odd device; its like a "PIC12Fxxx" but with a "PIC16Fxxx" designation, with built-in opamps (which is why I'm using it).


Bookmarks