theasus
Joined: 31 May 2009 Posts: 79
|
DS1302 problem working with 18f4550 |
Posted: Sun Feb 21, 2010 4:03 am |
|
|
I can use DS1302 with PIC16F877A. But I can't use DS1302 with 184550.
I couldn't understand the problem. Nothing appears on LCD.
Here is my code:
Code: |
#include <18F4550.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout detected
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES LVP //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES NOMCLR //Master Clear pin enabled
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define use_portd_lcd TRUE
#include <lcd.c>
#include <DS1302.c>
byte hour,minute,second;
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_vref(FALSE);
lcd_init();
rtc_init();
rtc_set_datetime(21,02,10,6,12,52);
while(true)
{
rtc_get_time(hour,minute,second);
printf(lcd_putc,"\nTime:%02d:%02d:%02d",hour,minute,second);
delay_ms(1000);
}
}
|
|
|