Seven Segmen

[KEMBALI KE MENU SEBELUMNYA]




1. Tujuan [kembali]

a. Merangkai dan menguji output pada mikrokontroller AVR (codevision)
b. Merangkai dan menguji input pada mikrokontroller AVR (codevision)
c. Merangkai dan menguji I/O pada mikrokontroller AVR (codevision)

2. Dasar Teori [kembali]

A. Mikrokontroller AVR (codevision)

CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi dengan fasilitas Integrated Development Environment (IDE) dan didesain agar dapat menghasilkan kode program secara otomatis untuk mikrokontroler Atmel AVR.

Pada CodeVisionAVR  terdapat kumpulan pustaka (library) untuk:

  • Modul LCD Alphanumeric
  • Philips I2C bus
  • National Semiconductor Sensor Temperatur LM75
  • Philips PCF8563, PCF8583, dan Maxim/Dallas Semiconductor Real Time Clock DS1302 dan DS1307
  • Maxim/Dallas Semiconductor 1 wire protocol
  • Maxim/Dallas Semiconductor Sensor Temperatur DS1820, DS18S20, dan DS18B20
  • Maxim/Dallas Semiconductor Termometer/Thermostat DS1621
  • Maxim/Dallas Semiconductor EEPROMs DS2430 dan DS2433
  • SPI
  • Power Management
  • Delays
  • Gray Code Conversion
  • MMC/SD/SD HC Flash memory cards low level access
  • Akses FAT pada MMC/SD/SD HC Flash memory card


CodeVisionAVR dapat menghasilkan kode program secara otomatis melalui fasilitas CodeWizardAVR Automatic Program Generator. Dengan adanya fasilitas ini maka penulisan program dapat dilakukan dengan cepat dan lebih efisien. Seluruh kode dapat diimplementasikan dengan fungsi sebagai berikut:

  • Identifikasi sumber reset
  • Mengatur akses memori eksternal
  • Inisialisasi port input/output
  • Inisialisasi interupsi eksternal
  • Inisialisasi timer/counter dan watchdog timer
  • Inisialisasi USART dan interupsi buffer untuk komunikasi serial
  • Inisialisasi komparator analog dan ADC
  • Inisialisasi interface SPI dan two wire interface (TWI)
  • Inisialisasi interface CAN
  • Inisialisasi I2C Bus, sensor suhu LM75, thermometer/thermostat DS1621, dan real time clock PCF8563, PCF8583, DS1302, DS1307
  • Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20
  • Inisialisasi modul LCD


Membuat Project dengan CodeVisionAVR. 

    Jalankan aplikasi CodeVisionAVR dengan cara melakukan klik ganda pada shortcut  ikon CodeVisionAVR yang ada pada Desktop atau klik START MENU cari file exe CodeVisionAVR.
 Gambar 1  Ikon CodeVisionAVR pada Desktop

  
            Sebuah Splash Screen akan muncul seperti ditunjukkan oleh Gambar 2. Informasi tentang versi yang dipakai dan keterangan evaluation akan terlihat.

 Gambar 2. Tampilan Splash Screen


            Beberapa detik kemudian aplikasi CodeVisionAVR akan muncul seperti yang ditunjukkan oleh Gambar 3.
  
  Gambar 3. IDE CodeVisionAVR


            Untuk memulai membuat  project  baru, pada menubar, pilih File → New, seperti yang ditunjukkan oleh Gambar 4a selain itu kita juga dapat membuka dengan cara klik icon seperti ditunjukkan pada gambar 4b yang berada pada Toolbar.

 Gambar 4a. Membuat file baru

 Gambar 4b. Icon untuk membuat file baru

            Anda harus membuat sebuah project sebagai induk desain dengan memilih Project, lalu klik tombol OK seperti pada Gambar 5.
 Gambar 5. Membuat project baru

            Berikutnya Anda akan ditanya apakah akan menggunakan CodeWizardAVR. Tentu saja lebih menyenangkan bila Anda memilih jawaban “ya” dengan cara menekan tombol Yes seperti pada Gambar 6.

Gambar 6. Memilih untuk menggunakan CodeWizardAVR

            Tampilan CodeWizardAVR yang sederhana namun lengkap ditunjukkan oleh Gambar 7. Pilih Chip dengan IC yang Anda gunakan. Sebagai contoh Anda memilih Chip ATmega8535. Tab-tab pada CodeWizardAVR menunjukkan fasilitas yang dimiliki oleh chip yang Anda pilih. Cocokkan pula frekuensi kristal yang Anda gunakan pada bagian Clock. Pengisian frekuensi clock digunakan  oleh software untuk menghitung rutin-rutin seperti delay agar diperoleh perhitungan yang cukup akurat.

Gambar 7. CodeWizardAVR pada tab Chip

            Selanjutnya merupakan inisialisasi dari PORT YANG DITUNJUKKAN OLEH Gambar 8. Terdapat 4 PORT, yaitu PORT A, PORT B, PORT C, dan PORT D. kita bisa menginisialisasi port-port ini sebagai INPUT ataupun sebagai OUTPUT. Selain itu kita dapat memilih aktif HIGH (1) atau aktif LOW (0) untuk OUTPUT ataupun INPUT.
Gambar 8. Seting Port

            Untuk selanjutnya yaitu merupakan inisialisasi LCD (Liquid Crystal Display). LCD alphanumeric yang dihubungkan dengan Port C haruslah mempunyai pengkawatan seperti yang ditunjukkan oleh Gambar 9. Pada tab LCD, pilihlah Port C.

Gambar 9. Seting LCD pada Port C


            Selanjutnya yaitu inisialisasi pada USART (Komunikasi Serial). Pertama pilih/centang pada bagian “Receiver “ dan ” Transmiter”, apabila menginginkan interupsi pada USART maka beri centang pula pada “Rx_Interrupt” dan “Tx_Interrupt”. Untuk Baud Rate pilih “9600”. Dan untuk Communication Parameters pilih “8 Data, 1 Stop, No Pariti. Ini merupakan seting sederhana dari USART. Seperti tampak pada gambar 10.


Gambar 10. Seting USART (Komunikasi Serial)

           
            Selanjutnya yaitu seting ADC (Analog to Digital Converter). Pertama centang pada bagian “ADC Enabled" dan untuk "Use 8 bits” apa bila kita centang berarti kita menggunakan ADC 8 bit, apabila tidak kita centang maka kita menggunakan 10 bit. Kemudian kita pilih Volt Ref, yaitu tegangan referensi dari ADC kita. Disini terdapat 3 pilihan yaitu dari PIN AREF, PIN AVCC, dan Int., Cap. On AREF. Untuk clock pilih 86.400 KHz.

Gambar 11. Seting ADC (Analog to Digital Converter)

            Setelah setting yang kita inginkan dari mikrokontroler selesai, maka seting CodeWizardAVR siap disimpan dalam file. Pada menu CodeWizardAVR, pilih File → Generate, Save and Exit, seperti yang ditunjukkan oleh Gambar 12.

Gambar 12. Menyimpan seting

            Agar file yang dihasilkan tidak berantakan, buatlah sebuah folder baru, untuk nama terserah dari anda.
            Kemudian masuk kedalam folder tersebut untuk menyimpan file-file yang dihasilkan oleh CodeWizardAVR. Yang pertama Anda diminta untuk memberikan nama file C yang dihasilkan. Misalnya beri nama “coba2”, lalu klik tombol Save. Lebih jelas pada Gambar 14. File tersebut nantinya akan mempunyai akhiran .C.

Gambar 14. Menyimpan file pertama


            Yang kedua Anda diminta untuk memberikan nama file project yang dihasilkan. Misalnya beri nama “coba2”, lalu klik tombol Save.  Lebih jelas pada Gambar 15. File tersebut nantinya akan mempunyai akhiran .prj.

Gambar 15. Menyimpan file kedua


            Yang terakhir Anda diminta untuk memberikan nama file project CodeWizard yang dihasilkan. Misalnya beri nama “coba”, lalu klik tombol Save. Lebih jelas pada Gambar 16. File tersebut nantinya akan mempunyai akhiran .cwp.

 Gambar 16. Menyimpan file ketiga 

            Setelah ketiga file disimpan maka akan muncul lembar kerja kita. Pada bagian atas merupakan nama dari projek kita. Selanjut pada bagian bawah dari nama projek yaitu merupakan program bahasa C yang merupakan program yang telah kita setting pada langkah awal (pada form inisialisasi). Jadi dari program “#include sampai // LCD module initialization lcd_init(16);” merupakan program yang telah kita setting pada langkah awal (pada form inisialisasi) yang ditunjukkan oleh Gambar 17-18.

Gambar 17. Lembar Kerja Dari Codevision AVR


            Sekarang Anda coba untuk menyisipkan instruksi utama. Instruksi ini ditambahkan pada badan program file coba.c, dibawah instruksi “while” seperti yang ditunjukkan oleh Gambar 18.

Gambar 18. Menambahkan inti program


            Setelah program utama telah ditambahkan, kemudian pilih menu Project → Compile untuk melakukan kompilasi seperti yang ditunjukkan oleh Gambar 19a, atau dengan klik icon seperti pada Gambar 19b pada menu Toolbar. Lalu kotak dialog seperti ditunjukkan Gambar 20 akan muncul. Klik tombol OK.

Gambar 19a. Melakukan kompilasi


Gambar 19b. Icon untuk melakukan kompilasi


            Setelah kita kompail dan tidak ada informasi error (apabila terdapat informasi warning program kita masih dapat dijalankan/tidak apa-apa) pada program kita, selanjutnya klik tombol OK yang berada pada kanan bawah.
Gambar 20. Informasi hasil kompilasi


            Setelah itu kita buka file tempat dimana kita menyimpan projek kita tadi. Kemudian buka file folder bernama ‘Exe’ seperti ditunjukkan pada Gambar 21.

Gambar 21. Folder ‘Exe’ tempat projek kita


            Setelah itu akan muncul file ber-extensi ‘hex’. File inilah yang nantinya akan kita downloadkan ke dalam mikrokontroler kita.

Gambar 22. File Hex

B. SEVENT SEGMENT

Layar tujuh segmen ini seringkali digunakan pada jam digital, meteran elektronik, dan perangkat elektronik lainnya yang menampilkan informasi numerik. Layar tujuh segmen ini terdiri dari 7 buah LED yang membentuk angka 8 dan 1 LED untuk titik/DP. Angka yang ditampilkan di seven segmen ini dari 0-9. Cara kerja dari seven segmen disesuaikan dengan LED. LED merupakan komponen diode yang dapat memancarkan cahaya. kondisi dalam keadaan ON jika sisi anode mendapatkan sumber positif dari Vcc dan katode mendapatkan sumber negatif dari ground.



 

3. Rangkaian [kembali]

 

4. Flowchart [kembali]

 

5. Listing Program [kembali] 

#include <mega128.h>                           // library atmega128
#include <delay.h>                             // mendeklarasikan delay
void main(void)                                //fungsi utama
{
PORTD = 0x00;                                  // menyatakan kondisi awal port D logika low
DDRD = 0xff;                                   // menyatakan port D sebagai output
PORTA = 0x00;                                  // menyatakan kondisi awal port A logika low
DDRA = 0x00;                                   // menyatakan port A sebagai input
while(1)                                       // fungsi perulangan
{
if(PINA. 0==1)                                 // jika pin A.0 logika high
{
    PORTD=0x3F;                                // menampilkan angka 0 pada seven segment
    delay_ms(50);                             // delay 100ms     
    PORTD=0x6;                                 // menampilkan angka 1 pada seven segment
    delay_ms(50);                             // delay 100ms
    PORTD=0x5B;                                // menampilkan angka 2 pada seven segment  
    delay_ms(50);                             // delay 100ms
    PORTD=0x4F;                                // menampilkan angka 3 pada seven segment
    delay_ms(50);                             // delay 100ms
    PORTD=0x66;                                // menampilkan angka 4 pada seven segment
    delay_ms(50);                             // delay 100ms       
    PORTD=0x6D;                                // menampilkan angka 5 pada seven segment
    delay_ms(50);                             // delay 100ms
    PORTD=0x7D;                                // menampilkan angka 6 pada seven segment
    delay_ms(50);                             // delay 100ms       
    PORTD=0x7;                                // menampilkan angka 7 pada seven segment
    delay_ms(50);                             // delay 100ms
    PORTD=0xFF;                                // menampilkan angka 8 pada seven segment
    delay_ms(50);                             // delay 100ms       
    PORTD=0x6F;                                // menampilkan angka 9 pada seven segment
    delay_ms(50);                             // delay 100ms
}
else
{
     PORTD = 0x00;                             // seven segmen mati                   
}
}
}

 

6. Video [kembali]

 


7. Link Download [kembali] 

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.

Text Widget

Rangkaian dan Program Sistem Minimum 8086 untuk Aplikasi

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1.Tujuan 2.Alat 3. Dasar Teori 4. Rangkaian 5. Flowchart  6. Listing Program 7. Vide...

Formulir Kontak

Nama

Email *

Pesan *

Cari Blog Ini

Blogroll

Blogger templates

Pages

Boxed / Fluid

Pages - Menu