Jangan Lupa sertakan Sumber saat Copy Paste, Tinggalkan Komentar untuk Semangat Nge-Blog, kunjungin Blog Pertama KLIK DISINI
NAMA : HADIYAH WIDAD PITALOKA
NPM
: P2.31.38.0.14.013
PRODI : D – III TEKNIK ELEKTROMEDIK
KELAS : A.1
DOSEN : HENDRA MARWAZI ST,MT
UJIAN AKHIR SEMESTER MIKROKONTROLLER
D3 TEKNIK ELEKTROMEDIK
- Gambarkan diagram blok AVR atmel dan jelaskan Fungsi dari bagian bagiannya!
- Jelaskan Prinsip – prinsip dasar penggunaan BASCOM ( Inisialisasi,deklarasi,...) sebagai bahasa pemograman AVR ATMEL.
- Gambarkan diagram blok I/O port AVR ATMEL dan jelaskan prinsip kerjanya !
- Berdasarkan soal no.3 berikan contoh 2 Instruksi I/O dan terangkan berdasarkan contoh
- Buat program membaca port input yang mempunyai 8 bit dipswitch dan dikeluarkan pada port output 8 LED dengan atip low
- Buat program baca data port input 8 bit dipswitch,dan konversikan nilai biner tersebut ke decimal yang ditampilkan pada port output 3 digit dengan decoder 74ls47 dan 3 7 segment,gambarkan rangkaian bloknya dan jelaskan programnya.
- Diketahui 3 buah push button dipasang pada port input,dan 8 LED dipasang pada port C.Buat program bila push button 1 ditekan maka LED akan hidup dan mati sebanyak sepuluh kali,bila push button 2 ditekan maka LED pada PC.7 yang hidup akan bergeser kekanan,bila push button 3 ditekan maka LED pada PC.0 yang hidup akan bergeser kekiri.
- Jelaskan pengertian subrutin dan berikan contoh programnya,jelaskan.
JAWABAN
- Gambar Blok Diagram AVR atmelFungsi dari masing masing port :
• VCC (Power Supply) dan GND(Ground)
• Port A (PA7..PA0)
• Port A (PA7..PA0)
Port A berfungsi sebagai
input analog pada konverter A/D. Port A juga sebagai suatu port I/O 8-bit
dua arah, jika A/D konverter tidak digunakan. Pin - pin Port dapat
menyediakan resistor internal pull-up (yang dipilih untuk masing-masing
bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan
keduanya sink tinggi dan kemampuan sumber. Ketika pin PA0 ke PA7
digunakan sebagai input dan secara eksternal ditarik rendah, pin–pin akan
memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Port
A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu
habis.
• Port B (PB7..PB0)
Pin B adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Pin B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, Pin B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
• Port C (PC7..PC0)
Pin C adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Pin C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. pin C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
• Port D (PD7..PD0)
Pin D adalah suatu pin I/O
8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa
bit). Pin D output buffer mempunyai karakteristik gerakan simetris dengan
keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin D yang
secara eksternal ditarik rendah akan arus sumber jika resistor pull-up
diaktifkan. Pin D adalah tri-stated manakala suatu kondisi reset menjadi
aktif, sekalipun waktu habis.
• RESET (Reset input)
• XTAL1 (Input Oscillator)
• XTAL2 (Output Oscillator)
• AVCC adalah pin penyedia tegangan untuk Port A dan Konverter A/D.
• AREF adalah pin referensi analog untuk konverter A/D.
- Prinsip-prinsip dasar penggunaan BASCOMTabel intruksi dasar bascom avr
Intruksi
|
Keterangan
|
DO....LOOP
|
Perulangan
|
GOSUB
|
Memaggil
prosedur
|
IF....THEN
|
Percabangan
|
FOR.....NEXT
|
Perulangan
|
WAIT
|
Waktu
tanda detik
|
WAITMS
|
Waktu
tanda mili detik
|
WAITUS
|
Waktu
tanda micro detik
|
GOTO
|
Loncat
ke alamat memori
|
SELECT....CASE
|
Percabangan
|
Kontruksi bahasa BASIC pada BASCOM AVR
Setiap bahasa pemprograman mempunyai standar penulisan
program. Konstruksi dari program bahasa BASIC harus mengikuti aturan
sebagai berikut:
$regfile = “header”
’inisialisasi
’deklarasi variabel
’deklarasi konstanta
Do
’pernyataan-pernyataan
Loop
end
Pengarah preprosesor
$regfile = “m16def.dat” merupakan pengarah pengarah
preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam
hal ini adalah file m16def.dat yang berisi deklarasi register dari
mikrokonroller ATmega 16, pengarah preprosesor lainnya yang sering digunakan
ialah sebagai berikut:
$crystal = 12000000 ‘menggunakan crystal clock
12 MHz
$baud =
9600
‘komunikasi serial dengan baudrate 9600
$eeprom
’menggunakan
fasilitas eeprom
Tipe Data
Tipe data merupakan bagian program yang paling penting
karena sangat berpengaruh pada program. Pemilihan tipe data yang tepat maka
operasi data menjadi lebih efisien dan efektif.
Tabel
Tipe Data pada BASCOM AVR
No
|
Tipe
|
Jangkauan
|
1234
5
6
7
8
|
Bit,Byte,Integer,Word
Long
Single
Double
String
|
0 atau 1,0 – 255,-32,768 – 32,7670 – 65535
-2147483648 – 2147483647
1.5 x 10^–45 – 3.4 x 10^38
5.0 x 10^–324 to 1.7 x 10^308
>254 by
|
Konstanta
Konstanta merupakan suatu nilai dengan tipe data
tertentu yang tidak dapat diubah-ubah selama proses program berlangsung.
Konstanta harus didefinisikan terlebih dahulu diawal program.
Contoh
: Kp = 35,
Ki=15, Kd=40
Variabel
Variabel adalah suatu pengenal (identifier) yang
digunakan untuk mewakili suatu nilai tertentu di dalam proses program yang
dapat diubah-ubah sesuai dengan kebutuhan. Nama dari variable terserah sesuai
dengan yang diinginkan namun hal yang terpenting adalah setiap variabel
diharuskan :
Terdiri dari gabungan huruf dan angka dengan karakter
pertama harus berupa huruf, max 32 karakter.
Tidak boleh mengandung spasi atau symbol-simbol khusus
seperti : $, ?, %, #, !, &, *, (, ), -, +, = dan lain sebagainya kecuali
underscore.
Deklarasi
Deklarasi sangat diperlukan bila akan menggunakan
pengenal (identifier) dalam suatu program.
Deklarasi Variabel
Bentuk umum pendeklarasian suatu variable adalah Dim
nama_variabel AS tipe_data
Contoh : Dim x As Integer ‘deklarasi x bertipe integer
Deklarasi Konstanta
Dalam Bahasa Basic konstanta di deklarasikan langsung.
Contohnya : S = “Hello world” ‘Assign string
Deklarasi Fungsi
Fungsi merupakan bagian yang terpisah dari program dan
dapat dipanggil di manapun di dalam program. Fungsi dalam Bahasa Basic ada yang
sudah disediakan sebagai fungsi pustaka seperti print, input data dan untuk
menggunakannya tidak perlu dideklarasikan.
Deklarasi buatan
Fungsi yang perlu dideklarasikan terlebih dahulu
adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi
adalah :
Sub Test ( byval variabel As type)
Contohnya : Sub Pwm(byval Kiri As Integer , Byval
Kanan As Integer)
Operator
Operator Penugasan
Operator Penugasan (Assignment operator) dalam Bahasa
Basic berupa “=”.
Operator Aritmatika
* : untuk perkalian
/ : untuk pembagian
+ : untuk pertambahan
- : untuk pengurangan
% : untuk sisa pembagian (modulus)
Operator Hubungan (Perbandingan)
Operator hubungan digunakan untuk membandingkan
hubungan dua buah operand atau sebuah nilai / variable, misalnya :
=
’Equality X = Y
<
’Less than X < Y
>
’Greater than X > Y
<= ’Less
than or equal to X <= Y
>=
’Greater than or equal to X >= Y
Operator Logika
Operator logika digunakan untuk membandingkan logika
hasil dari operator-operator hubungan. Operator logika ada empat macam, yaitu :
NOT ‘Logical complement
AND ‘Conjunction
OR ‘Disjunction
XOR ‘Exclusive or
Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit dari
data yang ada di memori. Operator bitwise dalam Bahasa Basic :
Shift A, Left, 2 : Pergeseran bit ke kiri
Shift A, Right, 2 : Pergeseran bit ke kanan
Rotate A, Left, 2 : Putar bit ke kiri
Rotate A, right, 2 : Putar bit ke kanan
Pernyataan Kondisional (IF-THEN – END IF)
Pernyataan ini digunakan untuk melakukan pengambilan
keputusan terhadap dua buah bahkan lebih kemungkinan untuk melakukan suatu blok
pernyataan atau tidak. Konstruksi penulisan pernyatan IF-THEN-ELSE-END IF pada
bahasa BASIC ialah sebagai berikut:
IF pernyataan kondisi 1 THEN
‘blok pernyataan 1 yang dikerjakan bila kondisi 1
terpenuhi
IF pernyataan kondisi 2 THEN
‘blok pernyataan 2 yang dikerjakan bila kondisi 2
terpenuhi
IF pernyataan kondisi 3 THEN
‘blok pernyataan 3 yang dikerjakan bila kondisi 3
terpenuhi
Setiap penggunaan pernyataan IF-THEN harus diakhiri
dengan perintah END IF sebagai akhir dari pernyatan kondisional.
Gambar 1 Diagram
alir Pernyataan Kondisional (IF-THEN – END IF)
Pernyataan Kondisional (SELECT-CASE-END SELECT)
Pernyataan ini digunakan untuk melakukan pengambilan
keputusan terhadap banyak kondisi. Konstruksi penulisan pernyatan SELECT-CASE-END
SELECT pada bahasa BASIC ialah sebagai berikut:
SELECT CASE var
CASE ‘kondisi1 : ‘blok perintah1
CASE ‘kondisi2 : ‘blok perintah2
CASE ‘kondisi3 : ‘blok perintah3
CASE ‘kondisi4 : ‘blok perintah4
CASE ‘kondisi5 : ‘blok perintah5
CASE ‘kondisi’n’ : ‘blok perintah’n’
END SELECT ‘akhir dari pernyatan SELECT CASE
Sebagai bahasa pemograman AVR atmel mempunyai 12
prinsip yaitu :
- Saluran O/I sebanyak 32 buahyaituportA, portB, portCdanportD.
- ADC 10 bit sebanyak 8 saluran.
- Tiga unit timer/counter dengankemampuanpembanding.
- CPU yang terdiriatas 32 buah register
- Watchdog timer dengan timer internal
- SRAM sebesar 512 byte
- Memory flash sebesar 8 kbytedengankemampuan read while write
- Unit interupsi internal daneksternal
- Porantarmuka SPI
- EEPROM sebesar 512 byte yang dapat deprogram saatoperasi
- Antarmukakomparator analog
- Port USART untukkomunikasi serial
- Diagram blok I/O port AVR ATMEL dan prinsip kerjanyaUntuk Port A dan Port CUntuk Port B dan Port D
- Contoh 2 Instruksi I/O dan terangkan'Koneksi Pin dan Port Led$crystal = 12000000$regfile = "m8535.dat"Config Pind.0 = OutputConfig Pind.7 = Output$simDim A As BitDim B As BitDoA = 0Pind.0 = AB = 0Pind.7 = BWait 3A = 1Pind.0 = AB = 1Pind.7 = BWait 3LoopEnd
- Buat program membaca port yang mempunyai 8 bit dipswitch dan dikeluarkan pada port output 8 LED denganatip low.$crystal = 12000000$regfile = "m8535.dat"Dim Data1 As ByteConfigPorta = InputConfigPortc = OutputData1 = 1DoData1 = PinaPortc = Data1LoopEnd
- Buatlah Program baca Port Input 8 bit dipswitch dan konfersikan nilai binner tersebut ke desimal yang ditampilkan pada port output 3 digit dengan 3 decorder 74ls47 dan 3 7 segmen, gambarkan rangkaian bloknya dan jelaskan programnya.
'Program 3 7seg anode
$crystal
= 1000000
$regfile
= "m8535.dat"
Dim
Dataku As Byte
Dim
Data3 As Byte
Dim
Pulih As Byte
Dim
Sbg As Byte
Dim
Data2 As Byte
Config
Porta = Output
Config
Portc = Output
Config
Portd = Input
Do
Portd = &B11101011
Dataku = Portd
Data3 = Dataku / 100
Pulih = Data3 * 100
Sbg = Dataku - Pulih
Data2 = Sbg / 10
'puluha
Pulih = Data2 * 10
Sbg = Data2 - Pulih
Portc = Data3 'ratusan
Shift Data2 , Left , 4
Data2 = Sbg + Data2
Porta = Data2
Loop
End
- Diketahui 3 buah push button dipasang pada port input,dan 8 LED dipasang pada port C.Buat program bila push button 1 ditekan maka LED akan hidup dan mati sebanyak sepuluh kali,bila push button 2 ditekan maka LED pada PC.7 yang hidup akan bergeser kekanan,bila push button 3 ditekan maka LED pada PC.0 yang hidup akan bergeser kekiri.$regfile = "m16def.dat"$crystal = 1000000
Dim A As Byte
Dim B As Byte
' deklarasi sub rutin
Declare Sub Kiri ( )
Declare Sub Kanan ( )
Declare Sub Kedip ( )
Declare Sub Mati ( )
Config Portc = Output
Do
Call Kiri ( )
Call Kanan ( )
Call Kedip ( )
Call Mati ( )
Loop
End
'Sub Rutin Kiri
Sub Kiri ( )
A = 1
For B = 0 To 8
Portc = A
Shift A , Left , 1
Wait 1
Next
End Sub
'Sub Rutin Kiri
Sub Kanan ( )
A = 128
For B = 0 To 8
Portc = A
Shift A , Right , 1
Wait 1
Next
End Sub
'Sub Rutin Kedip
Sub Kedip ( )
For B = 0 To 8
Portc = 0
Wait 1
Portc = 255
Wait 1
Next
End Sub
'Sub Rutin Kiri
Sub Mati ( )
Portc = 00
Wait 1
End Sub
- Pengertian subrutin dan berikan contoh programnya,jelaskan.Subrutin adalah kumpulan perintah yang ditunjukan untuk menangani sesuatu tindakan dengan tujuan untuk memudahkan pembuatan program mengingat subrutin bisa dipanggil berkali-kali dalam suatu program. Subrutin melibatkan argumen yang dipakai sebagai upaya untuk menyertakan suatu nilai dari luar.Contoh program Subrutin :$regfile = "m16def.dat"$crystal = 1000000
Dim A As Byte
Dim B As Byte
' deklarasi sub rutin
Declare Sub Kiri ( )
Declare Sub Kanan ( )
Declare Sub Kedip ( )
Declare Sub Mati ( )
Config Portc = Output
Do
Call Kiri ( )
Call Kanan ( )
Call Kedip ( )
Call Mati ( )
Loop
End
'Sub Rutin Kiri
Sub Kiri ( )
A = 1
For B = 0 To 8
Portc = A
Shift A , Left , 1
Wait 1
Next
End Sub
'Sub Rutin Kiri
Sub Kanan ( )
A = 128
For B = 0 To 8
Portc = A
Shift A , Right , 1
Wait 1
Next
End Sub
'Sub Rutin Kedip
Sub Kedip ( )
For B = 0 To 8
Portc = 0
Wait 1
Portc = 255
Wait 1
Next
End Sub
'Sub Rutin Kiri
Sub Mati ( )
Portc = 00
Wait 1
End Sub
The 5 Best Casino | MapyRO
ReplyDeleteWe also have reviews on the 사천 출장샵 Casino. 강원도 출장안마 We've 군산 출장샵 tested 3 casinos from the top brands in the industry. We'll tell you 김제 출장마사지 what to 충청북도 출장안마 expect from