Rabu, 06 Februari 2013

Membuat Program Lampu Berkedip dan Bergeser Atmega16

Dapat hal baru saat belajar praktek di sekolah, yaitu tentang ic microcontroller, awalnysa saya kira ini hal yang sangat rumit, bagaimana mungkin ic dapat di program sesuai dengan yang kita inginkan, ternyata hal yang saya kira itu salah, lumayan mudah menggunakan ic tersebut,
dan tidak membutuhkan alat dengan biaya besar untuk memasukan program yang dibuat ke dalam ic, untung di tempat praktek saya sudah di sediakan. itu lah awalnya kenapa saya bilang hal tersebut sangatlah rumit, bagi agan yang belum mengerti apa itu microcontroller masuk aja ke link ini http://ahmadnaziq.blogspot.com/2012/06/pengertian-microcontroller.html menurut saya isinya cukup mewakilkan semua,

dan program yang saya buat pertama kali adalah, lampu(led) berkedip dan bergeser dengan menggunakan microcontroller atmega16, saya menggunakan Basic Compiler (Bascom) Avr untuk memprogramnya, anda bisa mendownload softwarenya disini, atau anda bisa langsung download di situs resminya mcselec.

berikut sistem minimum atmega16 dengan output led



Komponen
Atmega16
Led
Crystal 12 Mhz
Kapasitor Keramik 100n
Elco 1u
Resistor 10k
Resistor 330
Button

dan berikut script Bascom-Avr nya
 cara 1
$regfile = "m16def.dat"                                     'jenis microcontroller atmega16
$crystal = 12000000                                         'crystal yang di gunakan

Config Portc = Output                                       'portA sebgai output
Portc = &B11111111


Do
'---berkedip---
Portc = &B00000000
Waitms 100                                                  'delay 100ms
Portc = &B11111111
Waitms 100                                                  'delay 100ms
Portc = &B00000000
Waitms 100                                                  'delay 100ms
Portc = &B11111111
Waitms 100                                                  'delay 100ms
Portc = &B00000000
Waitms 100                                                  'delay 100ms
Portc = &B11111111
Waitms 100                                                  'delay 100ms
'---bergeser ke kiri---
Portc = &B11111110
Waitms 100                                                  'delay 100ms
Portc = &B11111101
Waitms 100                                                  'delay 100ms
Portc = &B11111011
Waitms 100                                                  'delay 100ms
Portc = &B11110111
Waitms 100                                                  'delay 100ms
Portc = &B11101111
Waitms 100                                                  'delay 100ms
Portc = &B11011111
Waitms 100                                                  'delay 100ms
Portc = &B10111111
Waitms 100                                                  'delay 100ms
Portc = &B01111111
Waitms 100                                                  'delay 100ms
Portc = &B11111111
Waitms 100                                                  'delay 100ms
'---bergeser ke kanan---
Portc = &B01111111
Waitms 100                                                  'delay 100ms
Portc = &B10111111
Waitms 100                                                  'delay 100ms
Portc = &B11011111
Waitms 100                                                  'delay 100ms
Portc = &B11101111
Waitms 100                                                  'delay 100ms
Portc = &B11110111
Waitms 100                                                  'delay 100ms
Portc = &B11111011
Waitms 100                                                  'delay 100ms
Portc = &B11111101
Waitms 100                                                  'delay 100ms
Portc = &B11111110
Waitms 100                                                  'delay 100ms
Portc = &B11111111
Waitms 100                                                  'delay 100ms
Loop                                                        'kembali ke do


cara 2
$regfile = "m16def.dat"                                     'jenis microcontroller atmega16
$crystal = 12000000                                         'crystal yang di gunakan

Config Portc = Output                                       'portA sebgai output
Portc = &B11111111

Dim X As Integer
Dim Y As Byte

Do

'---berkedip---
X = 0
Do
Portc = &B00000000
Waitms 100
Portc = &B11111111
Waitms 100
X = X + 1
Loop Until X = 3

'---bergeser ke kiri---
Y = &B11111110
Do
Portc = Y
Waitms 100
Rotate Y , Left , 1
Waitms 100
Loop Until Y = &B11111110
Portc = &B11111111
Waitms 100

'---bergeser ke kanan---
Y = &B01111111
Do
Portc = Y
Waitms 100
Rotate Y , Right , 1
Waitms 100
Loop Until Y = &B01111111
Portc = &B11111111
Waitms 100

Loop                                                        'kembali ke do

Bagi agan yang ingin mencobanya namun belum mempunyai rangkaian sistem minimum, sebaiknya menggunakan software proteus untuk simulasi, jika belum punya dapat download disini,

download: Simulasi Proteus dan Script Bascom-Avr
Password Rar: ganyang-angkara.blogspot.com

moga bermanfaat bagi agan-agan yang ingin mencobanya,
moga berhasil mencobanya..

*..sesama blogger harus saling menghargai, jika agan-agan ingin mengcopas harap cantumkan alamat urlnya, Terimakasih..* 

2 komentar:

  1. lllah kok gitu ?
    kok buat tutorialnya kurang tepat gan itu

    BalasHapus
    Balasan
    1. maaf gan, maksudnya kurang tepat ..?

      terimakasih sebelumnya, sudah mengkoreksi

      Hapus