CCS C ile Hesap Makinesi Proteus Simülasyonu

hesap-makinesi

 

Pic ile yapılan bu hesap makinesinde rs232 iletişimi kullanılarak klavyeden girilen sayılaramatematiksel işlem yapıldıktan bulunan sonuç terminale geri gönderilir.

Aşağıdaki kodu inceleyiniz.

#include <18f452.h>
#fuses hs,nowdt,noprotect,put,debug,nobrownout,nolvp,nocpd,nowrt
#use delay(clock=20000000)
#use rs232(baud=57600, xmit=PIN_C6, rcv=PIN_C7) 


#include "string.h"
#include <math.h>
#include <input.c>
#include <stdlib.h>


const char operant[6]={'+','-','*','/','='};

int1 kontrol(char c)
{
 int8 n;
 for (n=0;n<6;n++) if (c==operant[n]) return 1;
 return 0;
}

float hesapla(float a,float b,int8 o)
{
 switch (o)
 {
 case '*':
 return (a*b);
 break;
 case '+':
 return (a+b);
 break;
 case '-':
 return (a-b);
 break;
 case '/':
 return (a/b);
 break;
 case '=':
 return (a/b);
 break;
 }
 return 0;
}

void main()
{
 char s[100],n1[40],n2[40];
 int8 n,i,i2;
 float a,b;
 printf("\f\r\nHesap Makinesi");
 printf("\f\r\nwww.ccspic.com");
 printf("\r\nOrnek Kullanim:");
 printf("\r\n1+2.43 (enter'a basiniz).");
 printf("\r\n");
 while(1)
 {
 printf("\r\n>");
 get_string(s,100);
 for (n=0;n<strlen(s);n++)
 {
 if (kontrol(s[n]))
 {
 // 1. numara
 for (i=0;i<n;i++) n1[i]=s[i]; n1[i]=0;
 // 2.numara
 i2=0;
 for (i=(n+1);i<strlen(s);i++) n2[i2++]=s[i]; n2[i2]=0;
 a=atof(n1); b=atof(n2);
 printf("\r\n%f",hesapla(a,b,s[n]));
 }
 }
 }
}

 

Hesap Makinesi

 

Bu yazı CCS C Örnekleri kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.