Login to Website

Login dengan Facebook

 

Post Reply
Thread Tools
  #1  
Old 20th November 2011
Linuxmania
Ceriwiser
 
Join Date: Nov 2011
Posts: 392
Rep Power: 14
Linuxmania mempunyai hidup yang Normal
Default konversiin bascom'a dong agan2 smua

malam agan2 smua ada yg pernah pake DT-Sense flame detector dari IE gak?

ane kebingungan conversi ke bascom'a tolongin gan, buat skripsi neh..



contoh program yg udah jadi dlm bhs.c bgni neh gan (bawaan CD)



Chip type : AT90S2313

Clock frequency : 4,000000 MHz

Memory model : Tiny

External SRAM size : 0

Data Stack size : 32

************************************************** ***/



#include

#include



// I2C Bus functions

#asm

.equ __i2c_port=0x12 ;PORTD

.equ __sda_bit=2

.equ __scl_bit=3

#endasm

#include



// Declare your global variables here



void main(void)

{

// Declare your local variables here

unsigned char nilaiApiAwal,nilaiApi,status;



PORTD.4 = 0;

DDRD.4 = 1;

PORTD.5 = 1;

DDRD.5 = 0;



// I2C Bus initialization

i2c_init();



delay_ms(1500);



while (1)

{

// Place your code here



while (PIND.5); // tunggu tombol ditekan



i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul DT-SENSE

i2c_write(0x03); // Perintah �Autoscan�

i2c_stop(); // Stop Condition



do { // tunggu



i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul DT-SENSE

i2c_write(0x00); // Perintah �Cek Status�

i2c_stop(); // Stop Condition



delay_ms(15); // delay 15 ms



i2c_start(); // Start Condition

i2c_write(0xE1); // Baca ke modul DT-SENSE

status = i2c_read(0); // Data Status

i2c_stop(); // Stop Condition



} while (status==0); // sampai proses autoscaning selesai





if (status==2) { // jika api ditemukan



i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul DT-SENSE

i2c_write(0x02); // Perintah �Baca data raw�

i2c_stop(); // Stop Condition



delay_ms(15); // delay 15 ms



i2c_start(); // Start Condition

i2c_write(0xE1); // Baca ke modul DT-SENSE

nilaiApiAwal = i2c_read(0); // baca nilai api awal

i2c_stop(); // Stop Condition





do {



PORTD.4 = 1; // nyalakan kipas

delay_ms(2000); // selama 2 detik

PORTD.4 = 0; // matikan kipas



i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul DT-SENSE

i2c_write(0x02); // Perintah �Baca data raw�

i2c_stop(); // Stop Condition



delay_ms(15); // delay 15 ms



i2c_start(); // Start Condition

i2c_write(0xE1); // Baca ke modul DT-SENSE

nilaiApi = i2c_read(0); // baca nilai api

i2c_stop(); // Stop Condition



} while (((int)nilaiApiAwal-(int)nilaiApi)

Sponsored Links
Space available
Post Reply




Switch to Mobile Mode

no new posts