pada kesempatan hari ini saya akan mencoba membuat program untuk tombol cerdas cermat, degan menggunakan atmga 8535 dan program bascom.
cara kerja program
jika tombol di tekan maka seven segmen akan mengeluarkan angka sesuai dengan tombol yang di tekan, lampu led akan meyala sesuai degan tombol yang di tekan , dan buzer juga akan berbunyi,
jika tombol tidak di tekan seven segmen akan mati, lampu led akan meyala berjalan dari atas ke bawah buzer tidak berbunyi.
ini program nya :
' barlianno pemahaman if
then else
$regfile = "m8535.dat"
$crystal = 1000000
Buz Alias Portd.4
Config Portc = Output 'dipasang seven segmen comon anoda
Config Portb = Output 'dipasang led
Config Porta = Input 'di pasang tombol
Ddrd.4 = 1 'di pasang buzer
Portb = 0
Portc = 0
Porta = &HFF 'heksa ff=11111111
Do
If Pina = &B11111110 Then
Buz = 1 'heksa f9= 1111 1001 akan muncul angka1
Portc = &HF9
Portb = &B00000001
Bitwait Pina.0 , Set
Elseif Pina = &B11111101 Then
Buz = 1 'heksa a4=1010 0100 muncul anka 2
Portc = &HA4
Portb = &B00000011
Bitwait Pina.1 , Set
Elseif Pina = &B11111011 Then
Buz = 1
Portc = &HB0 'heksa b0=1011 0000 akanmuncul anka 3
Portb = &B00000111
Bitwait Pina.2 , Set
Elseif Pina = &B11110111 Then
Buz = 1
Portc = &H99 'heksa 99=10011001 muncul anka 4
Portb = &B00001111
Bitwait Pina.3 , Set
Elseif Pina = &B11101111 Then
Buz = 1
Portc = &H92 'heksa92=10010010 muncul angka 5
Portb = &B00011111
Bitwait Pina.4 , Set
Elseif Pina = &B11011111 Then
Buz = 1
Portc = &H82 'heksa82= 10000010 muncul angka 6
Portb = &B00111111
Bitwait Pina.5 , Set
Elseif Pina = &B10111111 Then
Buz = 1
Portc = &HF8 'heksaf8= 11111000 muncul angka 7
Portb = &B01111111
Bitwait Pina.6 , Set
Elseif Pina = &B01111111 Then
Buz = 1 'heksa 80=10000000 muncul angka 8
Portc = &H80
Portb = &B11111111
Bitwait Pina.7 , Set
Else
Buz = 0 'buzer tidak buyi
Portc = &HFF 'seven segmen mati
Portb = &B00000000 'led mati
Waitms 50
Portb = &B00000001 'led 1 yala
Waitms 100
Portb = &B00000010 'led 2 yala
Waitms 100
Portb = &B00000100 'led 3 yala
Waitms 100
Portb = &B00001000 'led 4 yala
Waitms 100
Portb = &B00010000 'led 5 yala
Waitms 100
Portb = &B00100000 'led 6 yala
Waitms 100
Portb = &B01000000 'led 7 yala
Waitms 100
Portb = &B10000000 'led 8 yala
Waitms 100
End If
Loop
End
$regfile = "m8535.dat"
$crystal = 1000000
Buz Alias Portd.4
Config Portc = Output 'dipasang seven segmen comon anoda
Config Portb = Output 'dipasang led
Config Porta = Input 'di pasang tombol
Ddrd.4 = 1 'di pasang buzer
Portb = 0
Portc = 0
Porta = &HFF 'heksa ff=11111111
Do
If Pina = &B11111110 Then
Buz = 1 'heksa f9= 1111 1001 akan muncul angka1
Portc = &HF9
Portb = &B00000001
Bitwait Pina.0 , Set
Elseif Pina = &B11111101 Then
Buz = 1 'heksa a4=1010 0100 muncul anka 2
Portc = &HA4
Portb = &B00000011
Bitwait Pina.1 , Set
Elseif Pina = &B11111011 Then
Buz = 1
Portc = &HB0 'heksa b0=1011 0000 akanmuncul anka 3
Portb = &B00000111
Bitwait Pina.2 , Set
Elseif Pina = &B11110111 Then
Buz = 1
Portc = &H99 'heksa 99=10011001 muncul anka 4
Portb = &B00001111
Bitwait Pina.3 , Set
Elseif Pina = &B11101111 Then
Buz = 1
Portc = &H92 'heksa92=10010010 muncul angka 5
Portb = &B00011111
Bitwait Pina.4 , Set
Elseif Pina = &B11011111 Then
Buz = 1
Portc = &H82 'heksa82= 10000010 muncul angka 6
Portb = &B00111111
Bitwait Pina.5 , Set
Elseif Pina = &B10111111 Then
Buz = 1
Portc = &HF8 'heksaf8= 11111000 muncul angka 7
Portb = &B01111111
Bitwait Pina.6 , Set
Elseif Pina = &B01111111 Then
Buz = 1 'heksa 80=10000000 muncul angka 8
Portc = &H80
Portb = &B11111111
Bitwait Pina.7 , Set
Else
Buz = 0 'buzer tidak buyi
Portc = &HFF 'seven segmen mati
Portb = &B00000000 'led mati
Waitms 50
Portb = &B00000001 'led 1 yala
Waitms 100
Portb = &B00000010 'led 2 yala
Waitms 100
Portb = &B00000100 'led 3 yala
Waitms 100
Portb = &B00001000 'led 4 yala
Waitms 100
Portb = &B00010000 'led 5 yala
Waitms 100
Portb = &B00100000 'led 6 yala
Waitms 100
Portb = &B01000000 'led 7 yala
Waitms 100
Portb = &B10000000 'led 8 yala
Waitms 100
End If
Loop
End
cara jalannya program baskom
PORTA di seting input Porta = &HFF
PORTB di seting output Portb = 0 karna nantinya akan di pasang led yang katodaya ke groud
PORTC di seting output
PORTD di seting outputBuz Alias Portd.4 dan haya keluar di pin 4 saja Ddrd.4 = 1
pembacaan prgram jika
Do
If Pina = &B11111110 Then
Buz = 1 'heksa f9= 1111 1001 akan muncul angka1
Portc = &HF9
Portb = &B00000001
Bitwait Pina.0 , Set
Elseif Pina = &B11111101 Then
Buz = 1 'heksa a4=1010 0100 muncul anka 2
Portc = &HA4
Portb = &B00000011
Bitwait Pina.1 , Set
jika tombol ditekan pina sama degan &B11111110 maka buyikan buzer,port c munculkan angka 1 dan led yala 1, jika tidak pina sama dengan &B11111101 maka buyikan buzer port c munculkan anka 2 dan led meyala 2 buah
danb seterusnya
proteusnya:
semoga bermanfaat telah di uji coba di lab barlianno,
Terima kasih mas. Tapi kok setelah saya coba dgn proteus 8 kok ngak jalan simulasinya ya. Dimana kesalahan saya. Tolong penjelasannya. Rangkaian sudah benar dan persis sama dgn yg di posting tsb.
BalasHapus