;***************************************************************************** ; ; Ce programme est destiné à tester la Maquette à PIC16F877. ; ; On stimule tous les ports, sauf le port B et les 3 bits LSB du Port C ; pour mesure à l'oscilloscope ; ; Les 3 bits LSB du Port C et le port B est utilisé pour l'affichage et le clavier ; ; Programme TEST877b.INC ; mise à jour 31/03/00 ; Auteur WEISS Jacques ; ;***************************************************************************** ;***************************************************************************** list p=16f877 #include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _HS_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_OFF & _CPD_OFF ;***************************************************************************** ; Déclarations TEST877b ;***************************************************************************** RESET_V EQU 0x0000 ; Address of RESET Vector ISR_V EQU 0x0004 ; Address of Interrupt Vector OSC_FREQ EQU D'20000000' ; l'Oscillateur est à une fréquence de 4 MHz ; misc. TABLE_INDEX EQU 0x30 ; Index to table strings COUNT EQU 0x31 ; A counter COMPTEUR EQU 0x32 CNT_TMP EQU 0x33 CLAVIER EQU 0x34 ;***************************************************************************** ; Déclarations LCD ;***************************************************************************** LCD_DATA EQU PORTB ; Lignes de données du LCD LCD_DATA_TRIS EQU TRISB LCD_CTRL EQU PORTC ; Lignes de Contrôle du LCD LCD_LINE0 EQU 0x00 LCD_LINE1 EQU 0x40 ; PORTC bits LCD_E EQU 0 ; LCD Enable control line LCD_RW EQU 1 ; LCD Read/Write control line LCD_RS EQU 2 ; LCD Register-Select control line ; misc. LCD_TEMP EQU 60 ; LCD (variable temporaire) ;***************************************************************************** ; Déclarations DELAY ;***************************************************************************** DELAY EQU 0x40 ; utilisé dans DELAYxxx X_DELAY EQU 0x41 ; utilisé dans X_DELAYxxx ;***************************************************************************** ; Déclarations KBD ;***************************************************************************** KBD_TEMP EQU 0x50 ; variable temporaire KBD_INDEX EQU 0x51 ; index KBD_ROW EQU 0x52 ; Rangée ;***************************************************************************** LIST