Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "avr\io.h"
- #define F_CPU 16000000UL
- #include <util\delay.h>
- char t[]= {1,2,3,4,5,6,7,8,9,10,0,11};
- char sor, x, oszlop, szam;
- char fgv(void)
- {
- sor=0;
- while(1)
- {
- PORTC=(1<<(sor+3));
- _delay_ms(50);
- x=(~PINC)&7;
- if (x) break;
- sor++;
- if (sor==4) sor=0;
- }
- oszlop=0;
- while((x=x>>1)) oszlop++;
- szam=t[3*sor+oszlop];
- return szam;
- }
- int main()
- {
- DDRA=0xff;
- DDRC=0x78;
- char eredmeny;
- char szam1,szam2,muv;
- szam1=fgv();
- muv=fgv();
- szam2=fgv();
- if(muv==11) { eredmeny=(szam1+szam2); }
- if(muv==10) { eredmeny=(szam1*szam2); }
- char t1[2],i;
- for(i=0;i<4;i++)
- {
- t1[i]=(eredmeny%10);
- eredmeny/=10;
- }
- while(1)
- {
- for(i=0;i<4;i++)
- {
- PORTA=128+(i<<4)+t1[i];
- _delay_ms(5);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement