Beruflich Dokumente
Kultur Dokumente
http://www.hpinfotech.com
Project :
Version :
Date : 30-Dec-2016
Author :
Company :
Comments:
*******************************************************/
#include <mega16a.h>
#include <stdlib.h>
#include <stdio.h>
#include <delay.h>
#include <ds1307.h>
#include <alcd.h>
float hujan;
char ph[8];
float kadar_ph,total,rata;
int i;
idata++;
}
// Standard Input/Output functions
#include <stdio.h>
ADMUX=adc_input | ADC_VREF_TYPE;
delay_us(10);
ADCSRA|=(1<<ADSC);
ADCSRA|=(1<<ADIF);
return ADCW;
void main(void)
// Port A initialization
// Port B initialization
// Port C initialization
// Port D initialization
// Timer/Counter 0 initialization
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
ASSR=0<<AS2;
TCNT2=0x00;
OCR2=0x00;
// INT0: On
// INT1: Off
// INT2: Off
MCUCSR=(0<<ISC2);
// USART initialization
// USART Transmitter: On
UBRRH=0x00;
UBRRL=0x4A;
// ADC initialization
ADMUX=ADC_VREF_TYPE;
// SPI initialization
// SPI disabled
// TWI disabled
i2c_init();
rtc_init(0,0,0);
// RS - PORTB Bit 0
// RD - PORTB Bit 1
// EN - PORTB Bit 2
// D4 - PORTB Bit 4
// D5 - PORTB Bit 5
// D6 - PORTB Bit 6
// D7 - PORTB Bit 7
// Characters/line: 16
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_gotoxy(0,1);
delay_ms(1000);
i=0;
total=0;
//rtc_set_time(23,17,0);
//rtc_set_date(0,3,1,17);
rtc_get_date(&hr,&tgl,&bln,&thn);
rtc_get_time(&hh,&mm,&ss);
lcd_clear();
lcd_gotoxy(0,0);
sprintf(date,"%02d/%02d/%02d",tgl,bln,2000+thn);
lcd_puts(date);
sprintf(time," %02d:%02d",hh,mm);
lcd_puts(time);
lcd_gotoxy(9,1);
lcd_putsf("pH=");
ftoa(rata,2,ph);
lcd_gotoxy(12,1);
lcd_puts(ph);
lcd_gotoxy(0,1);
lcd_putsf("CH=");
lcd_gotoxy(3,1);
ftoa(hujan,1,ch); //mengubah tipe data float ke data array dengan nilai hujan 1 angka dibelakang
koma
/*
lcd_gotoxy(0,1);
lcd_putsf("CH=");
lcd_gotoxy(3,1);
ftoa(tip_akhir,1,tampil_tip);
lcd_puts(tampil_tip);
*/
#asm("sei")
while (1)
rtc_get_date(&hr,&tgl,&bln,&thn);
rtc_get_time(&hh,&mm,&ss);
frq=idata;
hujan=frq*0.1;
idata=0;
}
/* if(count<0){
count=0;
tip_akhir=0;
totip=0;
totaltip=0;
if(PIND.2==0){
tip=((float)count/5);
tip_akhir=tip;
delay_ms(100);
tip=((float)count/5);
totip=totip+tip;
tip_akhir=tip;
totaltip=totip;
delay_ms(200);
tip_akhir=0;
totaltip=totip;
delay_ms(100);
tip=0;
totip=0;
*/
i++;
baca_ph=read_adc(0);
kadar_ph=(-22.2+8.09*(float)baca_ph*5/1024);
total=total+kadar_ph;
delay_ms(200);
if(i==5)
rata=total/5;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(date,"%02d/%02d/%02d",tgl,bln,2000+thn);
lcd_puts(date);
sprintf(time," %02d:%02d",hh,mm);
lcd_puts(time);
lcd_gotoxy(9,1);
lcd_putsf("pH=");
ftoa(rata,2,ph);
lcd_gotoxy(12,1);
lcd_puts(ph);
i=0;
total=0;
};
/* lcd_gotoxy(0,1);
lcd_putsf("CH=");
lcd_gotoxy(3,1);
ftoa(tip_akhir,1,tampil_tip);
lcd_puts(tampil_tip);
*/
/* lcd_gotoxy(7,1);
ftoa(totaltip,1,tampil_totaltip);
lcd_puts(tampil_totaltip); */
lcd_gotoxy(0,1);
lcd_putsf("CH=");
lcd_gotoxy(3,1);
ftoa(hujan,1,ch); //mengubah tipe data float ke data array dengan nilai hujan 1 angka dibelakang
koma
//serial
delay_ms(1000);