Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PIC12F1840
#2
This is working on my 12F1822 dev board, hopefully it is helpful for you:
Code:
; Set internal oscillator to 16MHz
                banksel    OSCCON
                bsf        OSCCON, IRCF3    
                bsf        OSCCON, SCS1            
                ; Make pins digital
                banksel        ANSELA
                movlw        0x00
                movwf        ANSELA
                ; Disable weak pull-ups
                banksel        WPUA
                movwf        WPUA        
                ; Select rx(ra5) and tx(ra4) pins
                banksel    APFCON
                bsf        APFCON, RXDTSEL
                bsf        APFCON, TXCKSEL    
                ; Light led
                banksel    TRISA
                bcf        TRISA, TRISA2
                banksel LATA
                bsf        LATA, LATA2
Code:
;------------------------------------------------------------------------------
;
; Title:            ds30 Loader for PIC12F and PIC16F
;
; File description:    settings used by the author during development
;
; Copyright:         Copyright © 10-11, Mikael Gustafsson
;                                                                            
;------------------------------------------------------------------------------

;------------------------------------------------------------------------------
;    This file is part of ds30 Loader.
;
;    ds30 Loader is free software: you can redistribute it and/or modify
;    it under the terms of the GNU General Public License as published by
;    the Free Software Foundation.
;
;    ds30 Loader is distributed in the hope that it will be useful,
;    but WITHOUT ANY WARRANTY; without even the implied warranty of
;    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;    GNU General Public License for more details.
;
;    You should have received a copy of the GNU General Public License
;    along with ds30 Loader. If not, see <http://www.gnu.org/licenses/>.
;------------------------------------------------------------------------------


;------------------------------------------------------------------------------
; Device
;------------------------------------------------------------------------------
        LIST          P=12F1822


;------------------------------------------------------------------------------
; Includes
;------------------------------------------------------------------------------
        #include    "devices.inc"


;------------------------------------------------------------------------------
; User preferences
;------------------------------------------------------------------------------
        radix DEC
    
        #define        DEV_MODE_12F    1                ;xxx delete or comment this line
        #define        FOSC            16000000        ;xxx
        #define        BLINIT            2000            ;xxx hello receive timeout [ms]
        #define        HELLOTRIES        2                ;xxx number of non hello characters received before branching to the user application
        #define        BLTIME            2000            ;xxx data receive timeout [ms]
        

;------------------------------------------------------------------------------
; UART settings
;------------------------------------------------------------------------------
        #define        USE_UART1        1                ;xxx uncomment to use uart1
        ;#define    USE_UART2        1                ;xxx uncomment to use uart2
        #define        BAUDRATE         115200            ;xxx baudrate
        ;#define    USE_ABAUD        1                ;auto baud rate detection, only available on enhanced mid-range devices(?)
        #define        USE_BRGH        1                ;
        #define        USE_BRG16        1                ;16-bit brg, only available on enhanced mid-range devices(?)
        ;#define    USE_TXENABLE    1                ;xxx uncomment to use a tx enable pin        
        ifdef USE_TXENABLE
            #define    TRISR_TXE        TRISA            ;xxx tris register containing tx enable
            #define    PORTR_TXE        PORTA            ;xxx port register containing tx enable
            #define    TRISB_TXE        TRISA3            ;xxx tris bit for tx enable
            #define PORTB_TXE        RA3                ;xxx port bit for tx enable
        endif
        

;------------------------------------------------------------------------------
; SW UART settings
;
; Baud rate constant calculation:
; FCY             = OSCF / 4
; TCY             = 1 / FCY
; BITTIME         = 1 / BAUDRATE
;
; BITWAITCNT     = ((( (BITTIME - 24*TCY) / TCY / 3 ) + 1 ) / 2 )
;
;------------------------------------------------------------------------------
        ;#define        USE_SWUART        1                ;xxx uncomment to use software uart
        #define     BITWAITCNT         2                ;xxx baud rate, see formula above
        
        #define        TRISR_TX        TRISA            ;xxx tris register containing tx
        #define        TRISB_TX        TRISA4            ;xxx tris bit for tx
        #define        LATR_TX            LATA            ;xxx port register containing tx        
        #define     LATB_TX            LATA4            ;xxx port bit for tx
        
        #define        TRISR_RX        TRISA            ;xxx tris register containing tx
        #define        TRISB_RX        TRISA5            ;xxx tris bit for tx
        #define        PORTR_RX        PORTA            ;xxx port register containing tx        
        #define     PORTB_RX        RA5                ;xxx port bit for tx


;------------------------------------------------------------------------------
; I2C settings, commercial version only www.ds30loader.com
;------------------------------------------------------------------------------
;COMMERCIAL_BEGIN
        ;#define     USE_I2C1        1                ;xxx uncomment to use I2C1
        ;#define    USE_I2C2        1                ;xxx uncomment to use I2C2

        #define        ADDR_PIC        14                ;xxx node address for this device, 7 bits
        
        #define        TRISR_SDA        TRISA            ;xxx tris register containing SDA pin
        #define         TRISB_SDA        TRISA2            ;xxx port bit for SDA pin
        #define        TRISR_SCL        TRISA            ;xxx tris register containing SCL pin
        #define     TRISB_SCL        TRISA1            ;xxx port bit for SCL pin
;COMMERCIAL_END


;------------------------------------------------------------------------------
; Advanced settings
;------------------------------------------------------------------------------
        ;#define     KICK_WD            1                ;xxx only uncomment if the watchdog is enabled
        #define        WRITE_VER        1                ;do flash write verification
        #define        EWRITE_VER        1                ;do eeprom write verification
        #define        USE_READ        1                ;uncomment to enable read from GUI, commercial version only    
        
        #define        BLPLW            256                ;bootloader placement, words from end, should be a multiple of 64
        
                
;------------------------------------------------------------------------------
; Configuration bits, these macros can be found at the end of the inc-files located in
; C:\Program Files\Microchip\MPASM Suite\
;
; These can also be set in MPLAB IDE instead, they are found in Configure->Configuration bits...
;------------------------------------------------------------------------------
        __CONFIG    _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
        __CONFIG    _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
Reply


Messages In This Thread
PIC12F1840 - by Mr_Booo - 2016-02-23, 18:37:06
RE: PIC12F1840 - by Mikael Gustavsson - 2016-03-02, 16:22:55
RE: PIC12F1840 - by Mr_Booo - 2016-03-07, 16:23:25
RE: PIC12F1840 - by Mikael Gustavsson - 2016-03-09, 09:22:32

Forum Jump:


Users browsing this thread: 1 Guest(s)