Difference between revisions of "PIC16F684"
From Mech
Jump to navigationJump to searchLine 73: | Line 73: | ||
CLRF PORTA |
CLRF PORTA |
||
</pre> |
</pre> |
||
and |
''and'' |
||
<pre> |
<pre> |
||
MOVLW B'000000' |
MOVLW B'000000' |
Revision as of 17:15, 11 July 2006
Overview
For a complete list of features, see this printout from the datasheet.
IMPORTANT: See PIC16F684 Registers for detailed information on registers.
Pinout
Label | Description |
---|---|
+ 5 V | |
Ground | |
External Voltage Reference | |
PORTA/PORTC Programmable I/O | |
A/D Channel | |
External Interrupt Input | |
PWM Output |
Initialization
Configuring I/O
This section shows two sections of code that are used for setting up the I/O of the PIC. The INIT_IO function sets up the ports by setting their default value and their direction. The second function, INIT_ADC sets up the A/D converter.
INIT_IO BCF STATUS,RP0 ;Bank 0 CLRF PORTA ;Init PORTA - initially set to LOW MOVLW B'000101' ;Set RA<0> as input MOVWF TRISA ; and set RA<5:1> ; as outputs BSF STATUS,RP0 ;Bank 1 CLRF PORTC ;Init PORTC - initially set to LOW MOVLW B'000000' ;Set RC<5:0> as outputs MOVWF TRISC CLRF ANSEL ;Set all pins initially to digital I/O MOVLW B'000001' MOVWF ANSEL ;Set AN<0> (RA<0>) to Analog input ; RA<5:1> remain digital I/O RETURN INIT_ADC BCF STATUS,RP0 ;Bank 0 MOVLW B'00000001' ; Set output to left justified MOVWF ADCON0 ; Select AN<0> (RA<0>) as input ; Internal Vref ; Start ADC ON BSF STATUS,RP0 ;Bank 1 CLRF ADCON1 MOVLW B'00100000' ;Set Clock TAD to 1.6us (Fosc/32) MOVWF ADCON1 RETURN
Notice that the two following bits of code are equivalent:
CLRF PORTA
and
MOVLW B'000000' MOVWF PORTA