Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. #include <REGX52.H>
  2. char val = 0x00;
  3. int flag = 0;
  4. void handle(int i){
  5.     if (i == 0){
  6.         if (P2_4 == 0){val = (val * 0x10) + 0x01;}
  7.         else if (P2_5 == 0) {val = (val * 0x10) + 0x02; }
  8.         else if (P2_6 == 0) {val = (val * 0x10) + 0x03; }
  9.     }
  10.     else if (i == 1){
  11.         if (P2_4 == 0){val = (val * 0x10) + 0x04; }
  12.         else if (P2_5 == 0) {val = (val * 0x10) + 0x05; }
  13.         else if (P2_6 == 0) {val = (val * 0x10) + 0x06; }
  14.     }
  15.     else if (i == 2){
  16.         if (P2_4 == 0){val = (val * 0x10) + 0x07; }
  17.         else if (P2_5 == 0) {val = (val * 0x10) + 0x08; }
  18.         else if (P2_6 == 0) {val = (val * 0x10) + 0x09; }
  19.     }
  20.     else if (i == 3){
  21.         if (P2_4 == 0){val = 0x00; }
  22.         else if (P2_5 == 0) {val = (val * 0x10); }
  23.         else if (P2_6 == 0) {P1 = val; }
  24.     }
  25. }
  26. int i = 0;
  27. int j = 0;
  28. void main(){
  29.     char tab[4];
  30.     tab[0] = 0xFE;
  31.     tab[1] = 0xFD;
  32.     tab[2] = 0xFB;
  33.     tab[3] = 0xF7;
  34.    
  35.     while(1)
  36.     {
  37.         P2 = tab[i];
  38.         if (P2 != tab[i]){
  39.             if (flag == 0){
  40.               handle(i);
  41.                 flag = 1;
  42.                 j = i;
  43.             }
  44.         }
  45.         else if (j == i && P2 == tab[i]){
  46.             flag = 0;
  47.             }
  48.         i = (i + 1) % 4;
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement