Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

April 23, 2024, 06:10:23 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 167
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 125
Total: 125

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

cara bikin program counter dengan bascom-AVR?

Dimulai oleh caturpermadi, April 06, 2013, 07:35:45 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

caturpermadi

saya mau tanya kalo bikin program counter dengan supply counter eksternal gimana caranya ya?
saya pakai bahasa bascom-AVR trus menggunakan mikrokontroller atmega8, terakhir coba berhasil tapi pas di download n d coba di alat gagal  ???
trus pas saya simulasiin lg malah jadi gagal.
kira2 ada solusinya ga?

ni listing program saya :

$regfile = "m8def.dat"
$crystal = 4000000

Config Lcdpin = Pin , E = Portc.1 , Rs = Portc.0 ,
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5,
Config Lcd = 16 * 2

Config Timer1 = Counter , Edge = Falling
Enable Interrupts
Enable Ovf1
On Ovf1 Int_counter1

Dim Rpm As Integer
Dim Kontrol As Byte
Dim Nyala As Byte

Config Portb.5 = Output

Ddrd.5 = 0
Portd.5 = 1

Ddrd.6 = 0
Portd.6 = 1

Ddrd.7 = 0
Portd.7 = 1

Cursor Off
Kontrol = 0
Nyala = 0

Cls
Locate 1 , 1
Lcd "Please Wait"
Waitms 100
Locate 1 , 12
Lcd "."
Waitms 30
Locate 1 , 13
Lcd "."
Waitms 30
Locate 1 , 14
Lcd "."
Waitms 30
Locate 1 , 15
Lcd "."
Waitms 30
Locate 1 , 16
Lcd "."
Waitms 30
Cls

Do
'--------------------------pilih
If Pind.7 = 0 Then
Nyala = Nyala + 1
End If

If Nyala = 1 Then
Portb.5 = 1
End If

If Kontrol = 0 Then
Gosub Awal
End If

If Kontrol = 1 Then
Gosub Penghitungan
End If

If Kontrol = 2 Then
Goto Shutdown
End If

If Pind.6 = 0 Then
Kontrol = Kontrol + 1
End If
Waitms 50

Loop

Awal:
Locate 1 , 1
Lcd "Tekan 'START'"
Waitms 150
Locate 2 , 1
Lcd "untuk memulai"
Waitms 150
Return

Penghitungan:
   Counter1 = 0
   Rpm = 0
   Start Timer1
    Wait 5
   Stop Timer1
    Rpm = Rpm + Counter1
    Rpm = Rpm * 3

   Locate 1 , 1
   Lcd "Respiratory Rate"
   Locate 2 , 1
   Lcd "Hasil="
   Locate 2 , 7
   Lcd "    "
   Locate 2 , 7
   Lcd Rpm
   Locate 2 , 10
   Lcd "/menit"
   Wait 2
Return

Shutdown:
   Cls
   Locate 1 , 1
   Lcd "Thank you"
   Waitms 150
   Cls
   Locate 1 , 1
   Lcd "This device is"
   Locate 2 , 1
   Lcd "powering down..."
   Wait 2
   Portb.5 = 0
   Wait 1

Int_counter1:
  Rpm = Rpm + 65535
Return