Академический Документы
Профессиональный Документы
Культура Документы
UVTRON
Konfigurasi Pin :
<mega8535.h>
<stdio.h>
<delay.h>
int uvtron;
char data[16];
#include <lcd.h>
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
Rubah sesuai
dengan kebutuhan
atau spesifikasi
trainer
PORTD=0x00;
DDRD=0x00;
3) List Program :
#include <mega8535.h>
#include <delay.h>
#include <stdio.h>
int kompas;
unsigned char derajat[16];
#asm
.equ __i2c_port=0x12 ;PORTD
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
#include <i2c.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTC
#endasm
#include <lcd.h>
// Inisialisasi i2c
int kompas_read()
{
int data;
i2c_start();
//initiate transaction
i2c_write(0xC0);
//0xC0=alamat kompas
delay_us(50);
i2c_write(0x02);
//alamat akses 16bit = 0x02-0x03
delay_us(50);
i2c_start();
//repeated start
i2c_write(0xC1);
//baca alamat 0xC0
delay_us(50);
data=i2c_read(1);
//baca MSB
data=data<<8;
data|=i2c_read(0);
//baca LSB
i2c_stop();
//generate stop
return data;
}
// Declare your global variables here
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
// I2C Bus initialization
i2c_init();
// LCD module initialization
lcd_init(16);
while (1)
{
// Place your code here
kompas=kompas_read();
sprintf(derajat,"derajat=%d",kompas);
lcd_gotoxy(0,0);lcd_puts(derajat);
delay_ms(500);
};
}
3. PING
Konfigurasi Pin PING Ultrasonik Sensor :
PORTD=0x00;
DDRD=0x00;
//distance=(counter*0.034442)/2;
sprintf(Baris1,"Counter=%5d uS",counter);
sprintf(Baris2,"Jarak: %3.2f cm",distance);
lcd_gotoxy(0,0);lcd_puts(Baris1);
lcd_gotoxy(0,1);lcd_puts(Baris2);
delay_ms(200);
lcd_clear();
};
}
5)
6)
4. GP2D12
Konfigurasi Pin GP2D12 :
3) List Program
#include
#include
#include
unsigned
<mega8535.h>
<delay.h>
<stdio.h>
char data[16];
3) List Program
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
int putaran;
bit flag;
// Timer 0 output compare interrupt service routine
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
TCNT0=1;
if (!flag) putaran++;
else putaran--;
}