Nis
25th
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#include #include 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 { if (kontrol(s[n])) { // 1. numara for (i=0;i // 2.numara i2=0; for (i=(n+1);i a=atof(n1); b=atof(n2); printf(”\r\n%f”,hesapla(a,b,s[n])); } } } }
Dosyaları buradan indirebilirsiniz
