dort islem yapan hesap makinesi
Dependencies: mbed TextLCD keypad
main.cpp@5:cfcb666662ff, 2020-02-26 (annotated)
- 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?
User | Revision | Line number | New 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 |