Search / Pencarian

Senin, 02 April 2012

Akses port 16 bit di AVR





Sering kita dihadapkan tugas kuliah atau pekerjaan yang mengharuskan kita untuk dapat mengatur keluaran I/O dari 2 Port microcontroller. Kebetulan , ini ada yang menanyakan di forum robot di facebook saya. Kemudian saya coba untuk membuatnya, walaupun saya belom bisa bascom he,..he..he.. Tapi berbekal help di bascom alhamdulillah akhirnya bisa juga.
Berikut codenya:

$regfile = "m16def.dat"
$crystal = 11059200
Config Debounce = 30

Const Ditekan = 0
Const Dilepas = 1
Config Pinc.0 = Input
Config Pinc.1 = Input
Config Porta = Output
Config Portb = Output

Dim A As Long
Dim Temp As Long

Dim Lsb As Byte
Dim Msb As Byte

Declare Sub Kiri()
Declare Sub Kanan()

A = &B0000000000000001
Portc.0 = 1
Portc.1 = 1
Lsb = A
Do
' =============================================================
Debounce Pinc.0 , 0 , Kiri , Sub
Debounce Pinc.1 , 0 , Kanan , Sub
If A = 65536 Then
A = 1
Lsb = A
End If

' If A = 0 Then
' A = &B1000000000000000
' Temp = A
' Shift Temp , Right , 8
' Msb = Temp
' End If

Porta = Lsb
Portb = Msb
' ===============================================================
Loop
End

Sub Kiri()
Shift A , Left , 1
Temp = A
Lsb = A And &H00FF
Shift Temp , Right , 8
Msb = Temp
End Sub

Sub Kanan()
Shift A , Right , 1
Temp = A
Lsb = A And &H00FF
Shift Temp , Right , 8
Msb = Temp
End Sub
By: Kurniawan Nur Widyosusanto SoekamTi

Tidak ada komentar:

Posting Komentar