All pastes #74139 Raw Edit

Anonymous

public c v1 · immutable
#74139 ·published 2006-06-28 18:24 UTC
rendered paste body
#include	<spi.h>#include	<xlcd.h>#include	<p18f452.h>#include	<timers.h>#include	<delays.h>#include	<stdlib.h>#include	<string.h>/* Set configuration bits for use with ICD2 / PICDEM2 PLUS Demo Board: * - set HS oscillator * - disable watchdog timer * - disable low voltage programming */#pragma config OSC = HS#pragma config WDT = OFF#pragma config LVP = OFF#pragma udataint ovrflw_count=0;              /*global variable*/#define CLEAR_DISPLAY	0x01void DelayFor18TCY(void);void DelayPORXLCD(void);void DelayXLCD(void);void clear_lcd(int line);void low_isr(void);void high_isr(void);#pragma code low_vector=0x18void interrupt_at_low_vector(void) { _asm GOTO low_isr _endasm }#pragma code /* return to the default code section *///#pragma interruptlow low_isr save=PROD/* *  Low Interrupt Subroutine */void low_isr(void) {    ovrflw_count++;    INTCONbits.TMR0IF = 0;    return;}/* *             MAIN */void main (void){    unsigned long int tmr;  int i;  char data_tmr[32];  char data_count[6];  TRISB=0b00000010;  PORTB=0;  TRISC=0b00000110;    OpenXLCD(FOUR_BIT & LINES_5X7);		// Init the LCD Display  while(BusyXLCD());   WriteCmdXLCD(DON&CURSOR_OFF&BLINK_OFF);  WriteDataXLCD('6');  while (PORTCbits.RC1==0);   /*wait for signal from transmitter*/      PORTB=4;  OpenTimer0( TIMER_INT_ON &               T0_16BIT &               T0_SOURCE_INT &               T0_PS_1_1 );  INTCONbits.GIE = 1;  while (PORTCbits.RC2==0);  /*wait for signal from reciever*/   CloseTimer0;  tmr = ReadTimer0();    OpenXLCD(FOUR_BIT & LINES_5X7);		// Init the LCD Display  while(BusyXLCD());   WriteCmdXLCD(DON&CURSOR_OFF&BLINK_OFF);  WriteDataXLCD('3');  ultoa(tmr,data_tmr);  itoa(ovrflw_count,data_count);  for (i=0;i<strlen(data_count);i++)   {    WriteDataXLCD(data_count[i]);  }  WriteDataXLCD(' ');  for (i=0;i<strlen(data_tmr);i++)   {    WriteDataXLCD(data_tmr[i]);  }  PORTB++;    while (1);}void clear_lcd(int line){    char ln;    int x;    if (line==2) ln = 0xC0;    else ln = 0x00;    while( BusyXLCD() );     SetDDRamAddr(ln);   // set line    for (x=0; x<16; x++)    {        while( BusyXLCD() );         WriteDataXLCD(' ');		// write a blank    }    while( BusyXLCD() );     SetDDRamAddr(ln);   // set back to beginning    return;}