FAQ |
Calendar |
![]() |
|
Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman. |
![]() |
|
Thread Tools |
#1
|
|||
|
|||
![]()
malam agan2 smua ada yg pernah pake DT-Sense flame detector dari IE gak?
ane kebingungan conversi ke bascom'a ![]() 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) |
![]() |
|
|