/* ********************************************************************** * File Hello_it.C - Rel. 1.1 con uC/51 V. 1.20.4 * * GRIFO(R) via Dell'Artigiano 8/6 40016 S. Giorgio di Piano (BO) * * Hardware: CAN GM2.20 * * Tel. +39 051 892052 Fax. +39 051 893661 * * http://www.grifo.com http://www.grifo.it * * by Graziano Gaiba del 31.01.06 * ********************************************************************** 31/01/06: Hello_it.C - Rel 1.1 - By Graziano Gaiba Programma precaricato nei mini moduli. Effettua il lampeggiamento del LED di bordo. N.B. Per evitare problemi non eseguire operazioni complesse su una singola riga, specialmente all'interno di procedure sui relativi parametri e/o variabili locali. */ /****************** Header, costanti, strutture dati, ecc.*****************/ #include "canary.h" //#define FQZ 14745600 // F quarzo in Hz per CAN GM2 #define FQZ 20000000 // F quarzo in Hz per CAN GM2.20MHz /******************** Dichiarazione procedure e funzioni *******************/ void delay(unsigned int rit) /* Effettua un ritardo software di rit millisecondi, calibrato su un Clock di CPU con clock X1 da 14.7456 MHz o 20 MHz, a seconda della configurazione. */ { unsigned int r,rit1ms; if(FQZ==14745600) rit1ms=100; // Valore sperimentale per ritardo di 1 msec. con 80c32 else rit1ms=136; do { for (r=0 ; r0); } void init_cpu(void) /* Verifica la CPU montata sulla scheda e lo salva in apposita variabile. Effettua inoltre le apposite inizializzazioni: seriale, wait, ecc. */ { CKCON=0x00; // Setta X1 clock mode = standard mode AUXR=0x0C; // Seleziona ERAM su area dati esterna EECON=0x00; // Disabilita EEPROM del micro } /************************ Programma principale *****************************/ void main(void) { init_cpu(); // Inizializza tipo di CPU montata // Imposta come uscita la linea TTL collegata al LED P1_0=1; for(;;) { P1_0=0; // Attiva LED delay(200); // Pausa di 200 millisecondi P1_0=1; // Disattiva LED delay(200); // Pausa di 200 millisecondi } }