Keil Rarm LPC2148 Proje_3 2Kanal ADC Rtc(Saat-Tarih)

Başlatan ahmet2004, 09 Haziran 2009, 20:42:52

ahmet2004

Lpc2148  2 kanal ADC Rtc saat ve tarih uygulama kodları...

Xtal = 12Mhz

seriPort 115Kbaud

/***************************************
 * Keil RealaRM:  Saat + Adc + Tarih   *
 * Yayinlayan: ahmet2004    		   *				
 * versiyon:   1.5	                   *
 ***************************************/
//*
#include <LPC214x.H>
#include <stdio.h>
#include <math.h>

#define CRYSTAL_FREQUENCY FOSC
#define PLL_FACTOR        PLL_MUL
#define VPBDIV_FACTOR     PBSD
#define SCB_SCS_GPIO0M      (0x00000001)
#define SCB_SCS_GPIO1M      (0x00000002)

extern void init_serial (void);

/***********************************************************************
*
*                ANA   PROGRAM 
*
*************************************************************************/
int main(void)
{
    unsigned int valADC1=0,valADC2=0;
	double volt1=0.000;
    double volt2=0.000;
    char volt1goster[17];
    char volt2goster[17];
    	
	SCS = SCB_SCS_GPIO0M | SCB_SCS_GPIO1M;		

    CCR = 0x11;      // 32767Hz xtal etkilendirme 

    PINSEL1 |= 0x05000000;  // AD0.1 AD0.2
		
	init_serial();

	IOSET0 = 0x00FFFF00;
 
 while (1)
 {       
    AD0CR = 0x00210602; 	   					// Adc kanal1 ayarla
    AD0CR  |= 0x01000000;                       // Analog çevrim baslat 
    while ((AD0GDR & 0x80000000) == 0);         // Analog çevrim bitmesini bekle 
    valADC1 = ((AD0DR1 >> 6) & 0x03FF);         // Analog degeri ayarla

    AD0CR = 0x00210604; 	   					// Adc kanal2 ayarla
    AD0CR  |= 0x01000000;                       // Analog çevrim baslat
    while ((AD0GDR & 0x80000000) == 0);         // Analog çevrim bitmesini bekle 
    valADC2 = ((AD0DR2 >> 6) & 0x03FF);	        // Analog degeri ayarla

    volt1 = valADC1 * 3.3 / 1024.0;
    volt2 = valADC2 * 3.3 / 1024.0;

    sprintf(volt1goster,"\n\rAdc1: %1.3fv - ",volt1);
    sprintf(volt2goster,"Adc2: %1.3fv\n\r",volt2);

    printf("www.picproje.org");

    printf(volt1goster);
    printf(volt2goster );

    printf("Saat: %02d Dakika: %02d Saniye: %02d \n\r",HOUR,MIN,SEC);
    printf("YIL: %04d AY: %02d GUN: %02d \n\r\n\r",YEAR,MONTH,DOM);
    
    //************************ Program Sonu ***************************
};
}

ahmet2004


M_B

Merhaba ahmet2004 hocam Bir sey sormak istiyorum.
Programda Saat , dakika , ay,yil bigileri nerden geliyor.
Programa dahil edilmesi gereken bir başlık dosyası mı var?
Lpc2148 işlemcisini mimarisini bilmem.
Programi tam olarak kavrayamadım yoksa gözden kacırdığım bir şey mi var.

Teşekkürler
Mehmet
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

ahmet2004

M_B tam düşündüğün gibi rtc.c ve serial.c dosyaları KeilRarm da

projeye eklendiklerinden derleme yapılıyor.Philips NXP LPc sayfalarından

bu dosyalara ulaşılabilir.