Minggu, 26 Februari 2012

Simulasi Komunikasi Serial dengan Proteus


Buat para newbie di bidang Mikrokontroler  untuk mempelajari komunikasi serial mungkin akan sedikit repot. Karena sekarang udah jarang PC dan laptop yang masih menyediakan port serial atau biasa disebut DB9. Atau bahkan ada yang ingin belajar programing mikro tapi ga punya hardwarenya. Nah trus gimana donk biar bisa tetep mempelajari komunikasi serial..?? Buat yang ingin mempelajari komunikasi serial dan ga punya laptop ato pc yang masih ada port serial nya kita bisa memakai software2 ini.. 

untuk membuat port serial virtual kita  bisa memakai software vspe. Silahkan download disini http://www.eterlogic.com/downloads/SetupVSPE.zip

VSPE adalah software simulasi port serial yang memungkinkan kita membuat port serial virtual, Hal ini mampu menciptakan berbagai perangkat virtual untuk mengirim / menerima data. Tidak seperti port serial biasa, perangkat virtual memiliki kemampuan khusus: misalnya, perangkat yang sama dapat dibuka lebih dari sekali oleh berbagai aplikasi, yang dapat berguna dalam banyak kasus. Dengan VSPE Anda dapat berbagi data port fisik serial untuk beberapa aplikasi, mengekspos port serial untuk jaringan lokal (melalui protokol TCP), membuat pasangan perangkat virtual port serial dan sebagainya.
Untuk simulasi mikrokontroler kita bisa menggunakan Software proteus. 

Proteus adalah sebuah software untuk mendesain PCB yang juga dilengkapi dengan simulasi pspice pada level skematik, sebelum rangkaian skematik diupgrade ke PCB shingga sebelum PCBnya di cetak kita akan tahu apakah PCB yang akan kita cetak sudah benar atau tidak.

Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang kita buat.

Software ini bagus digunakan untuk desain rangkaian mikrokontroller. Proteus juga bagus untuk belajar elektronika seperti dasar2 elektronika sampai pada aplikasi mikrokontroller. Software ini jika di install menyediakan banyak contoh aplikasi desain yang disertakan sehingga kita bisa belajar dari contoh2 yang sudah ada.

Setelah semua software siap. sekarang tinggal instal software dan pembuatan proramnya..
1. Instal VSPEnya trus jalankan.. pada menu device pilih create
2. pada device type pilih pair kemudian tekan next.. dan finish..
3. selamat kita sudah membuat virtual port COMx --> COMy. hasil di penulis yaitu COM1 <==> COM2


4. Disini kita menggunakan mikrokontroller ATmega8535. sekarang buat rangkaian seperti ini di proteus.


5. Masukan source code C ini. Jangan lupa di compile dulu pake CVAVR dengan frekuesi 8Mhz

/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 27/02/2012
Author : Bayu Sasongko
Company : Teknik Elektro, University Of Lampung
Comments:


Chip type : ATmega8535
Program type : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
*****************************************************/

#include

// Standard Input/Output functions
#include
#include

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A 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
PORTA=0x00;
DDRA=0x00;

// 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 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=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
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: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

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

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

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

while (1)
{
// Place your code here
printf("Bayu Sasongko ");
printf("http://etekno.blogspot.com ");
delay_ms(100);
};
}

6. Setelah di compile, load programnya di proteus dan pilih setingg CKSEL fuses nya "int.RC 8Mhz"  karena kita tadi memakai frekuesi 8 Mhz di progarmnya. Atur juga settingan DB9di proteusnya, pilih physical port-nya COM1 dan setiingan lainnya seperti gambar dibawah ini


7.  Buka hyperterminal pilih connecting using COM2 (beda sama langkah sebelumnya), setting bit per second = 9600, data bit=8, parity=none, stop bit=1, dan flow control =none, klik apply

8. Jalankan rangkain di proteus dan lihat di hyperterminal




9. Selain hiperterminal bisa juga dengan menggunakan Visual basic, LabView atau Software lainnya sesuai dengan kreatifitas anda untuk menampilkan datanya. Jika anda memakai windows 7 ternyata hiperterminalnya hilang atau sengaja dihilangkan oleh microsoft. tenang kita bisa mengakalinya, baca di postingan saya berikutnya.

Selamat berkreasi.

Tidak ada komentar:

Posting Komentar