00001 /************************************************************************* 00002 * © 2012 Microchip Technology Inc. 00003 * 00004 * Project Name: mTouch Framework v2.1 00005 * FileName: mTouch_HardwareProfile_12F61x.h 00006 * Dependencies: mTouch.h 00007 * Processor: See documentation for supported PIC® microcontrollers 00008 * Compiler: HI-TECH Ver. 9.81 or later 00009 * IDE: MPLAB® IDE v8.50 (or later) or MPLAB® X 00010 * Hardware: 00011 * Company: 00012 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00013 * Description: mTouch CVD Framework Hardware Profile Header File 00014 * - Provides information about correct SFR addresses, 00015 * pin assignments, module availability, and any other 00016 * part-specific data. 00017 * - See the documentation for more information. 00018 *************************************************************************/ 00019 /************************************************************************** 00020 * MICROCHIP SOFTWARE NOTICE AND DISCLAIMER: You may use this software, and 00021 * any derivatives created by any person or entity by or on your behalf, 00022 * exclusively with Microchip's products in accordance with applicable 00023 * software license terms and conditions, a copy of which is provided for 00024 * your referencein accompanying documentation. Microchip and its licensors 00025 * retain all ownership and intellectual property rights in the 00026 * accompanying software and in all derivatives hereto. 00027 * 00028 * This software and any accompanying information is for suggestion only. 00029 * It does not modify Microchip's standard warranty for its products. You 00030 * agree that you are solely responsible for testing the software and 00031 * determining its suitability. Microchip has no obligation to modify, 00032 * test, certify, or support the software. 00033 * 00034 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER 00035 * EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED 00036 * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A 00037 * PARTICULAR PURPOSE APPLY TO THIS SOFTWARE, ITS INTERACTION WITH 00038 * MICROCHIP'S PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY 00039 * APPLICATION. 00040 * 00041 * IN NO EVENT, WILL MICROCHIP BE LIABLE, WHETHER IN CONTRACT, WARRANTY, 00042 * TORT (INCLUDING NEGLIGENCE OR BREACH OF STATUTORY DUTY), STRICT 00043 * LIABILITY, INDEMNITY, CONTRIBUTION, OR OTHERWISE, FOR ANY INDIRECT, 00044 * SPECIAL, PUNITIVE, EXEMPLARY, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, 00045 * FOR COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, 00046 * HOWSOEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY 00047 * OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWABLE BY LAW, 00048 * MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS 00049 * SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID 00050 * DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. 00051 * 00052 * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF 00053 * THESE TERMS. 00054 *************************************************************************/ 00058 00059 #if !defined(__MTOUCH_HARDWARE_12F61X_H) 00060 #define __MTOUCH_HARDWARE_12F61X_H 00061 00062 #if !defined(_12F615) && !defined(_12HV615) 00063 #if !defined(_12F617) 00064 #error The current mTouch hardware include file does not support this PIC microcontroller. 00065 #endif 00066 #endif 00067 00068 #if defined(_12F615) || defined(_12HV615) 00069 #if MTOUCH_NUMBER_SENSORS > 2 00070 #error The PIC12F/HV615 is not able to support more than 2 sensors on the mTouch Framework due to memory limitations. 00071 #endif 00072 #if MTOUCH_NUMBER_OF_SLEEP_SENSORS > 2 00073 #error The PIC12F/HV615 is not able to support more than 2 sleep-mode sensors on the mTouch Framework due to memory limitations. 00074 #endif 00075 #endif 00076 #if defined(_12F617) 00077 #if MTOUCH_NUMBER_SENSORS > 4 00078 #error The PIC12F617 is not able to support more than 4 sensors due to pinout limitations. 00079 #endif 00080 #if MTOUCH_NUMBER_OF_SLEEP_SENSORS > 4 00081 #error The PIC12F617 is not able to support more than 4 sleep-mode sensors due to pinout limitations. 00082 #endif 00083 #endif 00084 00085 //=========================================================== 00086 // Device Configuration 00087 //=========================================================== 00088 #define MTOUCH_USE_GPIO 00089 00090 //=========================================================== 00091 // Communications Configuration 00092 //=========================================================== 00093 // NO UART AVAILABLE 00094 00095 #define PIC_TIMER0_AVAILABLE 00096 #define PIC_TIMER1_AVAILABLE 00097 #define PIC_TIMER2_AVAILABLE 00098 00099 //=========================================================== 00100 // ADC Configuration 00101 //=========================================================== 00102 #define PIC_ADC_BITS 10 00103 #define PIC_ADC_UNIMP_AVAILABLE 00104 00105 #define PIC_ADC_ADCS ANSELbits.ADCS 00106 #define PIC_ADC_ADFM ADCON0bits.ADFM 00107 #define PIC_ADC_ADON ADCON0bits.ADON 00108 00109 #define PIC_ADC_ADCS_FOSC2 0b000 00110 #define PIC_ADC_ADCS_FOSC4 0b100 00111 #define PIC_ADC_ADCS_FOSC8 0b001 00112 #define PIC_ADC_ADCS_FOSC16 0b101 00113 #define PIC_ADC_ADCS_FOSC32 0b010 00114 #define PIC_ADC_ADCS_FOSC64 0b110 00115 #define PIC_ADC_ADCS_FRC 0b111 00116 00117 #define PIC_ADC_ADFM_RIGHT 1 00118 #define PIC_ADC_ADFM_LEFT 0 00119 00120 #if _XTAL_FREQ == 8000000 00121 #define PIC_ADC_SETCLK() PIC_ADC_ADCS = PIC_ADC_ADCS_FOSC16 00122 #define PIC_ADC_TAD 2 00123 #elif _XTAL_FREQ == 4000000 00124 #define PIC_ADC_SETCLK() PIC_ADC_ADCS = PIC_ADC_ADCS_FOSC8 00125 #define PIC_ADC_TAD 2 00126 #elif _XTAL_FREQ == 1000000 00127 #define PIC_ADC_SETCLK() PIC_ADC_ADCS = PIC_ADC_ADCS_FOSC2 00128 #define PIC_ADC_TAD 2 00129 #else 00130 #error No predefined ADC clock values for the chosen _XTAL_FREQ. 00131 #endif 00132 00133 //=========================================================== 00134 // DAC Configuration 00135 //=========================================================== 00136 #define PIC_VRCON_AVAILABLE 00137 00138 #define PIC_VRCON_BANK 0 00139 #define PIC_VRCON_MAX 0x8F 00140 #define PIC_VRCON_MIN 0xA0 00141 00142 00143 //=========================================================== 00144 // Software-enabled Watchdog Timer Configuration 00145 //=========================================================== 00146 // NOT AVAILABLE 00147 00148 00149 00150 //=========================================================== 00151 // Analog Port Mapping 00152 // - Right Justification 00153 // - VDD/VSS Reference 00154 // - GO/DONE cleared 00155 // - ADON enabled 00156 //=========================================================== 00157 #define MTOUCH_AD_AN0 0x81 00158 #define MTOUCH_AD_AN1 0x85 00159 #define MTOUCH_AD_AN2 0x89 00160 #define MTOUCH_AD_AN3 0x8D 00161 00162 #define MTOUCH_AD_DAC_NOGO 0x91 00163 #define MTOUCH_AD_DAC_AND_GO 0x93 00164 #define MTOUCH_AD_ISO_AND_GO 0x9F 00165 #define MTOUCH_AD_ISO_NOGO 0x9D 00166 00167 #define MTOUCH_PIN_AN0 0 00168 #define MTOUCH_PIN_AN1 1 00169 #define MTOUCH_PIN_AN2 2 00170 #define MTOUCH_PIN_AN3 4 00171 00172 00173 00174 #endif 00175