dort islem yapan hesap makinesi

Dependencies:   mbed TextLCD keypad

Committer:
marvas
Date:
Wed Feb 26 11:19:18 2020 +0000
Revision:
5:cfcb666662ff
Parent:
4:1df9a3a723ff
yeni keypad pin degistirildi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
detay 0:568acc58974f 1 #include "mbed.h"
detay 0:568acc58974f 2 #include "TextLCD.h"
detay 0:568acc58974f 3 #include "Keypad.h"
marvas 1:cb5c15635617 4 #include <iostream>
marvas 1:cb5c15635617 5
marvas 4:1df9a3a723ff 6 DigitalOut bzr(PB_7);
marvas 3:e22883906b56 7 Serial pc(USBTX,USBRX);
marvas 1:cb5c15635617 8
marvas 4:1df9a3a723ff 9 float sayi[4]= {0,0,0,0};
marvas 4:1df9a3a723ff 10 /*
marvas 4:1df9a3a723ff 11 sayi[0] girilen sayi
marvas 4:1df9a3a723ff 12 sayi[1] 1. sayi
marvas 4:1df9a3a723ff 13 sayi[2] 2sayi
marvas 4:1df9a3a723ff 14 sayi[3] sonuc
marvas 4:1df9a3a723ff 15 */
marvas 4:1df9a3a723ff 16 char basilantus,islem;
detay 0:568acc58974f 17 TextLCD lcd(PB_0,PA_4,PC_3,PC_2,PB_3,PA_10);
marvas 5:cfcb666662ff 18 Keypad key(PC_4, PB_13, PB_14,PB_15,PB_1,PB_2,PB_12,PA_11);
marvas 1:cb5c15635617 19 char key_table[] = {
marvas 4:1df9a3a723ff 20 '1', '2', '3', '+',
marvas 4:1df9a3a723ff 21 '4', '5', '6', '-',
marvas 4:1df9a3a723ff 22 '7', '8', '9', '*',
marvas 4:1df9a3a723ff 23 'C', '0', '=', '/'
detay 0:568acc58974f 24 };
marvas 1:cb5c15635617 25
detay 0:568acc58974f 26
marvas 1:cb5c15635617 27 int main()
marvas 1:cb5c15635617 28 {
marvas 4:1df9a3a723ff 29 pc.baud(115200);
marvas 1:cb5c15635617 30 // Init. RC522 Chip
marvas 4:1df9a3a723ff 31 uint32_t key_num;
marvas 1:cb5c15635617 32 while(true) {
marvas 1:cb5c15635617 33
marvas 1:cb5c15635617 34 while ((key_num = key.read()) != 0) {
marvas 4:1df9a3a723ff 35 bzr=1;wait_ms(10);bzr=0;
marvas 4:1df9a3a723ff 36 basilantus=*(key_table + key_num-1);
marvas 4:1df9a3a723ff 37 lcd.printf("%c",basilantus);
marvas 4:1df9a3a723ff 38 switch(basilantus) {
marvas 4:1df9a3a723ff 39 case '0'...'9'://if(basilantus>'0' && basilantus<'9')
marvas 4:1df9a3a723ff 40 sayi[0]=sayi[0]*10+(basilantus-'0');
marvas 4:1df9a3a723ff 41 break;
marvas 4:1df9a3a723ff 42 case '*'...'/':
marvas 4:1df9a3a723ff 43 /*case '-':
marvas 4:1df9a3a723ff 44 case '+':
marvas 4:1df9a3a723ff 45 case '*':
marvas 4:1df9a3a723ff 46 case '/':*/
marvas 4:1df9a3a723ff 47 islem=basilantus;
marvas 4:1df9a3a723ff 48 sayi[1]=sayi[0];
marvas 4:1df9a3a723ff 49 sayi[0]=0;
marvas 4:1df9a3a723ff 50 break;
marvas 4:1df9a3a723ff 51 case '=':
marvas 4:1df9a3a723ff 52 sayi[2]=sayi[0];
marvas 4:1df9a3a723ff 53 if(islem=='+')
marvas 4:1df9a3a723ff 54 sayi[3]=sayi[1]+sayi[2];
marvas 4:1df9a3a723ff 55 else if(islem=='-')
marvas 4:1df9a3a723ff 56 sayi[3]=sayi[1]-sayi[2];
marvas 4:1df9a3a723ff 57 else if(islem=='*')
marvas 4:1df9a3a723ff 58 sayi[3]=sayi[1]*sayi[2];
marvas 4:1df9a3a723ff 59 else if(islem=='/')
marvas 4:1df9a3a723ff 60 sayi[3]=sayi[1]/sayi[2];
marvas 4:1df9a3a723ff 61
marvas 4:1df9a3a723ff 62 lcd.printf("%.2f",sayi[3]);
marvas 4:1df9a3a723ff 63 for(char temizle=0; temizle<=3; temizle++) {
marvas 4:1df9a3a723ff 64 sayi[temizle]=0;
marvas 1:cb5c15635617 65 }
marvas 4:1df9a3a723ff 66 islem=0;
marvas 4:1df9a3a723ff 67 break;
marvas 4:1df9a3a723ff 68
marvas 4:1df9a3a723ff 69 case 'C':
marvas 1:cb5c15635617 70 lcd.cls();
marvas 4:1df9a3a723ff 71 for(char temizle=0; temizle<=3; temizle++) {
marvas 4:1df9a3a723ff 72 sayi[temizle]=0;
marvas 4:1df9a3a723ff 73 }
marvas 4:1df9a3a723ff 74 islem=0;
marvas 4:1df9a3a723ff 75 break;
marvas 4:1df9a3a723ff 76 }
marvas 1:cb5c15635617 77
marvas 1:cb5c15635617 78 }// while ((key_num = key.read()) != 0) {
marvas 1:cb5c15635617 79
marvas 1:cb5c15635617 80 }// while(true) {
marvas 1:cb5c15635617 81
marvas 1:cb5c15635617 82 }//main