Advertisement
Guest User

muvelet

a guest
Nov 20th, 2013
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.87 KB | None | 0 0
  1. #include "avr\io.h"
  2. #define  F_CPU 16000000UL
  3. #include <util\delay.h>
  4.  
  5. char t[]= {1,2,3,4,5,6,7,8,9,10,0,11};
  6. char sor, x, oszlop, szam;
  7.  
  8. char fgv(void)
  9. {
  10.     sor=0;
  11.     while(1)
  12.     {            
  13.         PORTC=(1<<(sor+3));
  14.         _delay_ms(50);    
  15.         x=(~PINC)&7;      
  16.         if (x) break;      
  17.         sor++;
  18.         if (sor==4) sor=0;
  19.     }
  20.     oszlop=0;
  21.     while((x=x>>1)) oszlop++;    
  22.     szam=t[3*sor+oszlop];      
  23.     return szam;
  24. }
  25.  
  26. int main()
  27. {
  28.     DDRA=0xff;
  29.     DDRC=0x78;
  30.     char eredmeny;
  31.     char szam1,szam2,muv;
  32.     szam1=fgv();
  33.     muv=fgv();
  34.     szam2=fgv();
  35.    
  36.     if(muv==11) {  eredmeny=(szam1+szam2); }
  37.     if(muv==10) {  eredmeny=(szam1*szam2); }
  38.    
  39.     char t1[2],i;
  40.     for(i=0;i<4;i++)
  41.     {
  42.         t1[i]=(eredmeny%10);
  43.         eredmeny/=10;
  44.     }
  45.     while(1)
  46.     {
  47.         for(i=0;i<4;i++)
  48.         {
  49.             PORTA=128+(i<<4)+t1[i];
  50.             _delay_ms(5);
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement