Ceriwis  

Go Back   Ceriwis > HOBI > Komputer & Teknologi > Programming

Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman.

Reply
 
Thread Tools
  #1  
Old 20th November 2011
Linuxmania Linuxmania is offline
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)

Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


 


All times are GMT +7. The time now is 01:24 PM.


no new posts