Hi, The following is ...
just a simple 18F2520 header !!!
Now, you know what you have to do ...Code:'***************************************************************************** '***************************************************************************** ' 'Defines '***************************************************************************** DEFINE OSC 4 DEFINE BUTTON_PAUSE 250 DEFINE ADC_BITS 10 'DEFINE LCD_COMMANDUS 2000 'DEFINE LCD_DATAUS 50 ' Define LCD connections DEFINE LCD_DREG PORTC ' Set LCD Data port DEFINE LCD_DBIT 4 ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_RSREG PORTB ' Set LCD Register Select port DEFINE LCD_RSBIT 5 ' Set LCD Register Select bit DEFINE LCD_EREG PORTB ' Set LCD Enable port DEFINE LCD_EBIT 6 ' Set LCD Enable bit DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits) ' ' '***************************************************************************** ' Constantes '***************************************************************************** ExtOSC con 32768 'Quartz Horloge "temps" en Hz Tension_ con 0 'Correspondance pour Canaux ADC TempA_ con 1 TempH_ con 2 Dureetonte con 1 ' de -1h à +59 mn ... ( 1/2 durée !!! ) Kelvin con 273 '*************************** seuils Alarmes ******************************** AlmVolt con 15 * 100 '>= Tension trop élevée 1/100 V AlmRpm con 3600 '>= Régime trop élevé T/Mn AlmAir con 90 + 273 '>= Temp Air Trop élevée °K ^ 82 AlmHuileL con 0 + 273 '<= Temp Huile trop basse °K AlmHuileH con 100 + 273 '>= Temp Huile trop élevée °K '************** Periodicités d'Entretien ( ordre croissant ! ) ************* Service1 con 10 ' Heures ServiceV con 20 Service2 con 25 Service3 con 50 Service4 con 100 Service5 con 300 DATA (0),0 (29) 'Raz des Mémoires si reprogrammation '***************************************************************************** ' 1er préchargement 22H31M29S '***************************************************************************** DATA @0, $1 DATA @4, $1 DATA @6, $16 ' 22 Heures DATA @10,$1F ' 31 Minutes DATA @12,$1D ' 29 Secondes DATA @14,$FF DATA @16,$0D ' 3583 Tr/mn DATA @22,$53 ' 83°C Air DATA @26,$59 ' 89°C Huile VERSION con 1 'N° de la révision '***************************************************************************** '***************************************************************************** 'Config processeur '***************************************************************************** ' '@ __CONFIG _CONFIG1L, _WDT_OFF_1L & _WDTPS_128_1L @ __CONFIG _CONFIG1H, _IESO_OFF_1H & _OSC_XT_1H & _FCMEN_OFF_1H @ __CONFIG _CONFIG2L, _BOREN_OFF_2L & _PWRT_ON_2L @ __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H '@ __CONFIG _CONFIG3L, _WDT_OFF_3L & _WDTPS_128_3L @ __CONFIG _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_PORTBE_3H @ __CONFIG _CONFIG4L, _STVREN_OFF_4L & _LVP_OFF_4L & _DEBUG_OFF_4L & _XINST_OFF_4L '@ __CONFIG _CONFIG4H, _WDT_ON_4H & _WDTPS_128_4H @ __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L @ __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H @ __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L @ __CONFIG _CONFIG6H, _WRTB_OFF_6H & _WRTC_OFF_6H & _WRTD_OFF_6H @ __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L @ __CONFIG _CONFIG7H, _EBTRB_OFF_7H '***************************************************************************** 'Config TIMERs T0CON = %00000010 ' 16Bits 1/8 prescaler, Horloge Système, OFF ' Utilisé pour détection sous regime ou arret T1CON = %00000000 '1/1 prescaler, Quartz 32,768 ' *** Géré par Elapsed Timer *** T3CON = %01110001 ' CCP SUR TMR3,1/8 prescaler,Horloge système,ON ' Mesure de la vitesse '***************************************************************************** 'Config CCP1 arret CCP2 CCP1CON = %00000101 ' Capture sur front montant CCP2CON = %00000000 'inhibition module CCP2 '***************************************************************************** 'Inhibition SSP SSPCON1.5 = 0 '***************************************************************************** 'Inhibition Comparateurs CMCON = 7 '***************************************************************************** 'Inhibition Reference interne CVRCON = 0 '***************************************************************************** 'Config Interruptions INTCON = %10000000 INTCON2 = %11110000 INTCON3 = %00000000 PIE1 = %00000100 PIE2 = %00000000 IPR1 = %00000001 IPR2 = %00000000 RCON = %10000000 '***************************************************************************** 'Config ADC '***************************************************************************** ADCON0 = %11000000 ' ADCON1 = %00011011 ' 3/1 ADCON2 = %10100110 ' Right Just., 8Tad, clock /64 '***************************************************************************** '***************************************************************************** 'Config et Prepositionnement E/S '***************************************************************************** PORTA = %00110000 PORTB = %00010000 PORTC = %00001000 'PORTD = 0 'PORTE = 0 TRISA = %00011111 TRISB = %00000110 TRISC = %00000111 'TRISD = %00000000 'TRISE = %00000000 ' '***************************************************************************** 'Alias E/S '***************************************************************************** 'MCLR/ sur Broche 1 par R/C/D Voltage var PORTA.0 'TENSION Batterie / 4 TempA var PORTA.1 'LM335 TempH var PORTA.2 'LM335 Vref var PORTA.3 'TL431 = 4.096v ... Raz var PORTA.4 'JUMPER Raz/Programmation AlRef var PORTA.5 'Alimentation référence TL431 Buzzer var PORTB.0 Contact var PORTB.1 ' + 12 v sous clé ( / 4 = 2 - 4 v !!! ) Selection var PORTB.2 'Poussoir sélection Affichage Signal var PORTB.3 'Sortie Survitesse AlLCD var PORTB.4 'Alimentation LCD BS 250 !!! 0 = ON : 1 = OFF RS var PORTB.5 E var PORTB.6 Alm var PORTB.7 'Sortie Alarme ' var PORTC.0 'Qz 32768 ' var PORTC.1 ' " Speed var PORTC.2 'Entrée compte-tours 1C/4T Alim var PORTC.3 'Autoalimentation D4 var PORTC.4 D5 var PORTC.5 D6 var PORTC.6 D7 var PORTC.7 'Buzzer var PORTD.0 'Sortie commande Buzzer 'Signal var PORTD.1 'Voyant Survitesse 'RS var PORTD.2 'E var PORTD.3 'D4 var PORTD.4 'D5 var PORTD.5 'D6 var PORTD.6 'D7 var PORTD.7 ' var PORTE.0 ' var PORTE.1 'AlRef var PORTE.2 '***************************************************************************** 'Types Variables '***************************************************************************** ' Result var WORD Volt var WORD Tension var WORD Tensionmoy var WORD Tair var WORD TAMax var WORD ' Valeur Maxi Split TairMax var WORD ' Valeur Maxi mémorisée Thuile var WORD THMax var WORD ' Valeur Maxi Split THuileMax var WORD ' Valeur Maxi mémorisée . . .
hé,hé
Alain




Bookmarks