Search This Blog

Thursday, 24 November 2016

UJIAN AKHIR SEMESTER : MIKROKONTROLLER


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

 

  1. Gambarkan diagram blok AVR atmel dan jelaskan Fungsi dari bagian bagiannya!
  2. Jelaskan Prinsip – prinsip dasar penggunaan BASCOM  ( Inisialisasi,deklarasi,...) sebagai bahasa pemograman AVR ATMEL.
  3. Gambarkan diagram blok I/O port AVR ATMEL dan jelaskan prinsip kerjanya !
  4. Berdasarkan soal no.3 berikan contoh 2 Instruksi I/O dan terangkan berdasarkan contoh
  5. Buat program membaca port input yang mempunyai 8 bit dipswitch dan dikeluarkan pada port output 8 LED dengan atip low
  6. 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.
  7. 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.
  8. Jelaskan pengertian subrutin dan berikan contoh programnya,jelaskan.  

 

 

 

 

 

 

 

 

JAWABAN

  1. Gambar Blok Diagram AVR atmel
     
    Description: C:\Users\CHOIRUL\Downloads\mikro3.jpg
     
     
    Fungsi dari masing masing port :

•    VCC (Power Supply) dan GND(Ground)
•    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.


  1. Prinsip-prinsip dasar penggunaan BASCOM
    Tabel 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.

 

Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggykD8AW7gz_hiC-Fm7-HfIJyQMXcKcUiZE5i2jBLo-UJLFfMcd4u7hZMxipjA2ptczb52r32T9y4VcS0BROgq1pdX_DvX4dpvkZnCPH4Zxe36e7p25EwdYEPa5ZO_lbjZPDX-6NvNfSw/s400/1.jpg

 

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 :

 

  1. Saluran O/I sebanyak 32 buahyaituportA, portB, portCdanportD.
  2. ADC 10 bit sebanyak 8 saluran.
  3. Tiga unit timer/counter dengankemampuanpembanding.
  4. CPU yang terdiriatas 32 buah register
  5. Watchdog timer dengan timer internal
  6. SRAM sebesar 512 byte
  7. Memory flash sebesar 8 kbytedengankemampuan read while write
  8. Unit interupsi internal daneksternal
  9. Porantarmuka SPI
  10. EEPROM sebesar 512 byte yang dapat deprogram saatoperasi
  11. Antarmukakomparator analog
  12. Port USART untukkomunikasi serial
     
     
     

  1. Diagram blok I/O port AVR ATMEL dan prinsip kerjanya
    Untuk Port A dan Port C
     
    Untuk Port B dan Port D
     
     
     
     
  2. Contoh 2 Instruksi I/O dan terangkan
    'Koneksi Pin dan Port Led
     
    $crystal = 12000000
    $regfile = "m8535.dat"
     
    Config Pind.0 = Output
    Config Pind.7 = Output
     
    $sim
    Dim A As Bit
    Dim B As Bit
     
    Do
       A = 0
       Pind.0 = A
       B = 0
       Pind.7 = B
       Wait 3
     
       A = 1
       Pind.0 = A
       B = 1
       Pind.7 = B
       Wait 3
     Loop
     
    End
     
  3. 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 Byte
     
    ConfigPorta = Input
    ConfigPortc = Output
     
    Data1 = 1
     
    Do
       Data1 = Pina
    Portc = Data1
    Loop
    End
     
  4. 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

 

 

  1. 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

 

 

 

  1. 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

 

 

 

 

 

 

1 comment:

  1. The 5 Best Casino | MapyRO
    We 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

    ReplyDelete