Cara membuat simulasi lcd running text dengan menggunakan proteus

18
CARA MEMBUAT SIMULASI LCD RUNNING TEXT DENGAN MENGGUNAKAN PROTEUS & CODEVISION AVR Posted by : Muhammad NurohmanSelasa, 25 November 2014 Hai Teman Mikon kali ini saya akan menulis artikel tentang bagaimana caranya membuat Running Text LCD dengan menggunakan aplikasi Proteus dan Code Vision AVR untuk menulis programnya. Dan IC yang saya gunakan kali ini adalah IC Atmega 16 yang memiliki 4 port dan 40 Pin, untuk mengetahui lebih jauh tentang Atmega 16 silahkan kunjungi situs berikut Atmega16. Baiklah Langkah Pertama yang harus kita lakukan adalah buka software Proteus anda, jika belum terinstal silahkan download pada link berikut ini Proteus 7.1 . Jika sudah terinstal silahkan buka software proteus lalu pilih komponen komponen yang dibutuhkan (Lihat pada gambar). Komponen :

Transcript of Cara membuat simulasi lcd running text dengan menggunakan proteus

Page 1: Cara membuat simulasi lcd running text dengan menggunakan proteus

CARA MEMBUAT SIMULASI LCD RUNNING TEXT DENGAN MENGGUNAKAN PROTEUS & CODEVISION AVRPosted by : Muhammad NurohmanSelasa, 25 November 2014Hai Teman Mikon kali ini saya akan menulis artikel tentang bagaimana caranya membuat Running Text LCD dengan menggunakan aplikasi Proteus dan Code Vision AVR untuk menulis programnya. Dan IC yang saya gunakan kali ini adalah IC Atmega 16 yang memiliki 4 port dan 40 Pin, untuk mengetahui lebih jauh tentang Atmega 16 silahkan kunjungi situs berikut Atmega16.  

Baiklah Langkah Pertama yang harus kita lakukan adalah buka software Proteus anda, jika belum terinstal silahkan download pada link berikut ini Proteus 7.1  . Jika sudah terinstal silahkan buka software proteus lalu pilih komponen komponen yang dibutuhkan (Lihat pada gambar).

Komponen :

Page 2: Cara membuat simulasi lcd running text dengan menggunakan proteus

Cara memilih komponen diatas bagi kalian yang belum mengetahuinya silahkan cari pada Menubar yang berada disebelah kiri yang bernama (Komponen Mode) berada pada tepatnya di bawah kursor. Lihat Gambar :

Keterangan : 1. Bulatan Warna Orange adalah Component Mode2. Bulatan Warna Merah adalah Pick From Library (Untuk Mencari    Komponen dengan cara mengetik nama komponen tersebut).3. Bulatan Warna Hijau untuk membuat Ground Dan Power

Langkah selanjutnya adalah membuat rangkaian LCD Running Text dengan cara mengklik kiri komponen yang berada dalam kotak kemudian letakan kedalam papan gambar dengan cara mengklik kiri. Silahkan ikutin gambar berikut.

Rangkaian

Page 3: Cara membuat simulasi lcd running text dengan menggunakan proteus

CARA MEMBUAT PROGRAM DENGAN MENGGUNAKAN AVR

Jika Rangkaian sudah selesai mari kita buat AVR codenya untuk memasukkannya kedalam Chip Atmega16 agar rangkaian dapat bekerja sesuai dengan apa yang kita inginkan (Running Text Berjalan).Baiklah langkah peratama dalam pengkodingannya adalah dengan cara membuka aplikasi AVR, bagi kalian yang belum punya silahkan download pada link berikut CodeVisionAVR ,

jika sudah silahkan jalankan AVR anda kemudian Pilih File kemudian New ketika ada

pilihan Create New File pilihlah Project kemudian Yes  lalu pilih AVR Chips Type, karna kita menggunakan Atmega16 maka kita pilih pilihan pertama atau yang paling atas

kemudian OK. dan akan keluar tampilan sebagai berikut.

Page 4: Cara membuat simulasi lcd running text dengan menggunakan proteus

Keterangan1. Pilihlah Chip Atmega16 pada menu Chip2. Ubah Clock menjadi 12.000000 Hhz

Jika sudah kliklah menu Ports yang berada disebelah Chip Karna disini kita menggunakan PORT A maka PORT A lah yang harus kita ubah silahkan lihat gambar berikut :

Page 5: Cara membuat simulasi lcd running text dengan menggunakan proteus

Keterangan :Pada Port A silahkan ubah Data Direction menjadi seperti gambar disamping dengan cara klik pada tulisan in menjadi out. Kemudian pada Pullup/Output Value karna disini kita menggunakan Low Aktiv makan dirubah yang tadinya 0 menjadi 1 bisa lihat pada gambar dengan cara mengklik pada angka 0 tersebut menjadi angka 1 dari bit 0 sampai bit 7.

Kemudian karna kita menggunakan LCD maka pada bagian Alphanumeric LCD harus diaktivkan dengan cara lihat pada gambar dibawah ini :

Page 6: Cara membuat simulasi lcd running text dengan menggunakan proteus

Beri Centang pada Enable Alphanumeric LCD Support (yang diberi tanda merah).

Jika sudah simpan dengan cara mengkilik gambar yg berbentuk seperti gear, Lihat pada gambar :

Page 7: Cara membuat simulasi lcd running text dengan menggunakan proteus

Klik yang diberi tanda warna merah Kemudian simpan didalam folder yang akan anda buat gunakan nama yang sama agar anda tidak bingung dalam mencarinya nanti karna akan ada 3x Saves.

Jika sudah Silahkan anda tulis Codenya seperti berikut

/*****************************************************This program was produced by theCodeWizardAVR V2.05.0 EvaluationAutomatic Program Generator© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.com

Project : Version : Date    : 11/23/2014Author  : Freeware, for evaluation and non-commercial use onlyCompany : Comments: 

Chip type               : ATmega16Program type            : ApplicationAVR Core Clock frequency: 12.000000 MHz

Page 8: Cara membuat simulasi lcd running text dengan menggunakan proteus

Memory model            : SmallExternal RAM size       : 0Data Stack size         : 256*****************************************************/

#include <mega16.h>#include <delay.h>// Alphanumeric LCD Module functions#include <alcd.h>

// Declare your global variables herechar kolom =0;void main(void){// Declare your local variables here

// Input/Output Ports initialization// Port A initialization// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 PORTA=0xFF;DDRA=0xFF;

// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;DDRB=0x00;

// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In

Page 9: Cara membuat simulasi lcd running text dengan menggunakan proteus

Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;DDRC=0x00;

// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;DDRD=0x00;

// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 Stopped// Mode: Normal top=0xFF// OC0 output: DisconnectedTCCR0=0x00;TCNT0=0x00;OCR0=0x00;

// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: Timer1 Stopped// Mode: Normal top=0xFFFF// OC1A output: Discon.// OC1B output: Discon.// Noise Canceler: Off// Input Capture on Falling Edge// Timer1 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: Off

Page 10: Cara membuat simulasi lcd running text dengan menggunakan proteus

TCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;

// Timer/Counter 2 initialization// Clock source: System Clock// Clock value: Timer2 Stopped// Mode: Normal top=0xFF// OC2 output: DisconnectedASSR=0x00;TCCR2=0x00;TCNT2=0x00;OCR2=0x00;

// External Interrupt(s) initialization// INT0: Off// INT1: Off// INT2: OffMCUCR=0x00;MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x00;

// USART initialization// USART disabledUCSRB=0x00;

Page 11: Cara membuat simulasi lcd running text dengan menggunakan proteus

// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;SFIOR=0x00;

// ADC initialization// ADC disabledADCSRA=0x00;

// SPI initialization// SPI disabledSPCR=0x00;

// TWI initialization// TWI disabledTWCR=0x00;

// Alphanumeric LCD initialization// Connections specified in the// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:// RS - PORTA Bit 0// RD - PORTA Bit 1// EN - PORTA Bit 2// D4 - PORTA Bit 4// D5 - PORTA Bit 5// D6 - PORTA Bit 6// D7 - PORTA Bit 7// Characters/line: 8lcd_init(16);lcd_clear();lcd_gotoxy(0,0);lcd_putsf("NAMA");

Page 12: Cara membuat simulasi lcd running text dengan menggunakan proteus

while (1)      {      // Place your code here      for (kolom=0; kolom<=15; kolom++){      lcd_clear();      lcd_gotoxy(0,0);      lcd_putsf("NAMA :");      lcd_gotoxy(kolom,1);      lcd_putsf("M. NUROHMAN");      delay_ms(50);      }      }}Catatan : Pada Bagian Header ditambahkan Fungsi delay dengan cara menuliskan #include <delay.h> 

Jika sudah selesai silahkan anda Built The Project, Lihat Gambar :

Klik yang diberi tanda warna merah jika tidak ada eror warning makan Code anda tersebut sudah benar.

Kemudian Jika sudah selesai kita kembali lagi pada Rangkaian LCD Running Text yang tadi kita buat di software Proteus, Klik 2x pada IC Atmega16 untuk memasukkan kode AVR yang barusan kita buat lalu akan keluar tampilan seperti berikut ini.

Page 13: Cara membuat simulasi lcd running text dengan menggunakan proteus

Klik yang diberi tanda warna merah, kemudian cari dimana anda tandi menyimpan folder AVR yang telah dibuat, kemudian carilah foler EXE lalu double Klik pada foler EXE tsb kemudian akan tampil beruba file yang berekstensi Intel Hex File double klik pada file tersebut kemduian OK.

Setelah semuanya selesai kini anda dapat mensimulasikan LCD Running Text tersebut dengan cara klik Play yang berada pada sisi bawah kiri Proteus kemudian nama yang bertuliskan M. Nurohman akan berjalan dari kiri ke kanan dan untuk hasilnya silahkan lihat gambar dibawah ini.

LCD Running Text BerjalanSemoga artikel kali ini bermanfaat bagi kalian semua, terima kasih atas perhatiannya semoga bermanfaat amiiin :) Suksess Selalu

Page 14: Cara membuat simulasi lcd running text dengan menggunakan proteus

Latihan berikut ini untuk membuat tampilan LCD berjalan di baris ke 2 nya (running text). LCD 16x2 diletakan di PortB sedangkan mikrokontroler memakai ATmega8535. Untuk merubah kecepatan dalam menjalankan text-nya dirubah dengan nilai di delay-nya. Delay dalam satuan ms.Compiler yang dipakai adalah Codevision AVR dan simulasi Proteus.Jika ada yang ingin men-download program dan simulasi di proteus silahkan ke link berikut ini:http://www.4shared.com/rar/n9yqh5_b/Text_Running.html

Berikut Listing Program Running Text di Codevision AVR;

/*****************************************************Chip type : ATmega8535Program type : ApplicationAVR Core Clock frequency: 12.000000 MHzMemory model : SmallExternal RAM size : 0Data Stack size : 128*****************************************************/

#include (mega8535.h>#include (lcd.h>#include (delay.h> #include (string.h>#include (stdio.h>

// Alphanumeric LCD Module functions#asm.equ __lcd_port=0x18 ;PORTB#endasm

// Standard Input/Output functions

// Global variableschar buffer_lcd[]="Selamat datang di Blogger Mohammad Ardi.Berbagi dalam ilmu pengetahuan.Semoga latihan ini bisa memperdalam ilmu pemprograman di codevision avr.";

// Function prototypevoid sett_REGs(void);void tampilan(void);

Page 15: Cara membuat simulasi lcd running text dengan menggunakan proteus

// Main routine (super loop)void main(void){sett_REGs(); lcd_init(16);_lcd_ready();lcd_clear();for(;;){// Endless loop, podo karo "while(1)" tampilan(); }}

// Setting registervoid sett_REGs(void){//Define I/O DDRA = 0x00;PORTA = 0x00;DDRB = 0xFF;PORTB = 0x00; DDRC = 0x00;PORTC = 0x00;DDRD = 0xFF;PORTD = 0x00;} 

// Display routine :Dvoid tampilan(void){unsigned int i,j,k;char lcd_number = 16;unsigned int data_len = strlen(buffer_lcd);_lcd_ready();lcd_clear();lcd_gotoxy(0,0);lcd_putsf("Codevision AVR");for (i=lcd_number; i>=1; --i){lcd_gotoxy(i,1); for (j=0; j<(lcd_number-i); j++){lcd_putchar(buffer_lcd[j]);} delay_ms(100); }; k=0; for (i=0; i<=data_len; i++){k++; lcd_gotoxy(0,1); for (j=0; j<16; j++){if (buffer_lcd[j+k] == NULL){return;}lcd_putchar(buffer_lcd[j+k]); }delay_ms(100);}; }