Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

8
Contoh Dasar Pemrograman Kalkulator dengan microcontroller AVR C Codevision dgn simulasi proteus Sep 15 Posted by pccontrol Berikut ini contoh Program Kalkulator untuk Operasi aritmetik sederhana antara operand1 dan operand 2 hasil = operand1 operator operand2 Operator yg digunakan : X(kali), / (bagi), + (tambah), dan – (kurang) Contoh operasi aritmatik : hasil = 34 X 2 keterangan: 34 adalah operand1 X adalah operator 2 adalah operand2 Rangkaian Simulasi dengan Proteus Fl owchart Program

description

fhfhfj

Transcript of Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

Page 1: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

Contoh Dasar Pemrograman Kalkulator dengan microcontroller AVR C Codevision dgn simulasi proteusSep 15

Posted by pccontrol

Berikut ini contoh Program Kalkulator untuk Operasi aritmetik sederhana antara operand1 dan operand 2 hasil = operand1  operator  operand2 Operator yg digunakan :  X(kali), / (bagi), + (tambah), dan  – (kurang) Contoh  operasi aritmatik :   hasil = 34 X 2 keterangan: 34 adalah operand1 X adalah operator 2 adalah operand2 Rangkaian Simulasi dengan Proteus

Flowchart Program

Page 2: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

Ringkasan Program

12345678910111213141516171819

/*****************************************************CodeWizardAVR V1.24.8d ProfessionalChip type : ATmega16*****************************************************/#include <mega16.h>#include <delay.h>#include <lcd.h>#include <stdlib.h>#include <math.h>#define scanKeypad 1#define stopScan 0

 // Alphanumeric LCD Module functions#asm.equ __lcd_port=0x15 ;PORTC#endasm#include <lcd.h>

 int bacaKeyPad(void);float kalkulator(void); int operand1 = 0 , operand2 = 0 ;

Page 3: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

20212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

float hasil = 0 ;char kode=0 , bufferLCD[50] ; void main(void){

 PORTA=0x00;DDRA=0x0F;

 PORTC=0x00;DDRC=0x00;

 lcd_init(20);while (1){kalkulator();};}

 //==================int bacaKeyPad(void){char StatusBaca = scanKeypad ;while(StatusBaca==scanKeypad){

 PORTA.0 = 1 ;PORTA.1 = 0 ;PORTA.2 = 0 ;PORTA.3 = 0 ;if(PINA.4 == 1){return 7 ; StatusBaca = stopScan;}if(PINA.5 == 1){return 8 ; StatusBaca = stopScan;}if(PINA.6 == 1){return 9 ; StatusBaca = stopScan;}if(PINA.7 == 1){return 10; StatusBaca = stopScan;}//==========================================PORTA.0 = 0 ;PORTA.1 = 1 ;PORTA.2 = 0 ;PORTA.3 = 0 ;if(PINA.4 == 1){return 4 ; StatusBaca = stopScan;}if(PINA.5 == 1){return 5 ; StatusBaca = stopScan;}if(PINA.6 == 1){return 6 ; StatusBaca = stopScan;}if(PINA.7 == 1){return 11; StatusBaca = stopScan;}//==========================================PORTA.0 = 0 ;PORTA.1 = 0 ;PORTA.2 = 1 ;PORTA.3 = 0 ;if(PINA.4 == 1){return 1 ; StatusBaca = stopScan;}if(PINA.5 == 1){return 2 ; StatusBaca = stopScan;}if(PINA.6 == 1){return 3 ; StatusBaca = stopScan;}if(PINA.7 == 1){return 12; StatusBaca = stopScan;}//==========================================PORTA.0 = 0 ;PORTA.1 = 0 ;PORTA.2 = 0 ;PORTA.3 = 1 ;

Page 4: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

66676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111

if(PINA.4 == 1){return 15; StatusBaca = stopScan;}if(PINA.5 == 1){return 0 ; StatusBaca = stopScan;}if(PINA.6 == 1){return 14; StatusBaca = stopScan;}if(PINA.7 == 1){return 13; StatusBaca = stopScan;}StatusBaca = scanKeypad ;}}//==========================float kalkulator(void){int StatusBaca = scanKeypad ;kode = bacaKeyPad();if( kode < 10 ) // kalau angka 0-9 ditekan{operand1 = (operand1*10)+ kode ;

 itoa(kode , bufferLCD);                    // rubah kode ke ASCIIlcd_puts(bufferLCD);                      //tampilkan kode  operand1 yg ditekandelay_ms(50);}//==========================if( kode > 9 && kode < 16 ) // jika ditekan 10,11,12,13,14,15 (X, -, +, atau /){

 if(kode == 10)lcd_putchar('/') ;if(kode == 11)lcd_putchar('X') ;if(kode == 12)lcd_putchar('-') ;if(kode == 13)lcd_putchar('+') ;operator = kode;                      // simpan operator yg dipilih

 {kode = bacaKeyPad();

 if( kode < 10 ){operand2 = (operand2*10)+kode ;

 itoa(kode , bufferLCD);                    // rubah kode ke  ASCIIlcd_puts(bufferLCD);                        //tampilkan kode  operand2 yg ditekandelay_ms(50);

 }else if(kode == 14) //jika ditekan "=" laksanakan operasi{lcd_putchar('=');

 if(operator == 10){ // jika ditekan '/'hasil = operand1 / operand2 ;}if(operator == 11){ // jika ditekan 'X'hasil = operand1 * operand2 ;}

Page 5: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148

if(operator == 12){ // jika ditekan '-'hasil = operand1 - operand2 ;}if(operator == 13){ // jika ditekan '+'hasil = operand1 + operand2 ;}

 ftoa(hasil , 1 , bufferLCD);                // rubah hasil ke string ( string adalah array berisi ascii diakhiri NULL )lcd_puts(bufferLCD);                         // print hasil ke LCDdelay_ms(100);kode = 0 ;StatusBaca = stopScan ;}}}//==============================

 return 0;}

Page 6: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

Perbaikan kesalahan tampilan kode  pada tulisan diatas

Berikut ini foto hasil dari kode kalkulator sederhana  diatas  yg di terapkan pada microcontroller AVR board.

Page 7: Contoh Dasar Pemrograman Kalkulator Dengan Microcontroller AVR C Codevision Dgn Simulasi

About these ads

http://suparno-mikrokontroler.blogspot.co.id/2012/03/calculator-digital.html