Advertisement
RuiViana

MPS_Contador

Feb 24th, 2017
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. unsigned long contador = 0;
  2.  
  3. #define bit4   4
  4. #define bit5   5
  5. #define bit6   6
  6. #define bit7   7
  7.  
  8. #define Com1   8
  9. #define Com2   9
  10. #define Com3   10
  11. #define Com4   11
  12. #define Com5   12
  13. #define Com6   13
  14.  
  15. byte dig[7];
  16. int j = 0;
  17. //------------------------------
  18. void setup()
  19. {
  20.   Serial.begin(9600);
  21.  
  22.   pinMode (bit4, OUTPUT);
  23.   pinMode (bit5, OUTPUT);
  24.   pinMode (bit6, OUTPUT);
  25.   pinMode (bit7, OUTPUT);
  26.   pinMode (Com1, OUTPUT);
  27.   pinMode (Com2, OUTPUT);
  28.   pinMode (Com3, OUTPUT);
  29.   pinMode (Com4, OUTPUT);
  30.   pinMode (Com5, OUTPUT);
  31.   pinMode (Com6, OUTPUT);
  32. }
  33. //------------------------------
  34. void loop()
  35. {
  36.   contador++;
  37.   for (int i = 0; i < 6; i++)
  38.   {
  39.     if  ((contador >> (i * 4) & 0x0000000F) == 0x0000000A)  contador = contador + 6 * ( pow(10, i));
  40.   }
  41.   Serial.print("contador "); Serial.println(contador, HEX);
  42.  
  43.   for (int i = 0; i < 6; i++)
  44.   {
  45.     dig[i] = contador >> (i * 4) & 0x0000000F;
  46.     Serial.print(" digito "); Serial.println(dig[i]);
  47.   }
  48.   digitalWrite(Com1, HIGH);
  49.   Display7Seg();
  50.   j++;
  51.   digitalWrite(Com1, LOW);
  52.   digitalWrite(Com2, HIGH);
  53.   Display7Seg();
  54.   j++;
  55.     digitalWrite(Com2, LOW);
  56.     digitalWrite(Com3, HIGH);
  57.   Display7Seg();
  58.   j++;
  59.     digitalWrite(Com3, LOW);
  60.     digitalWrite(Com4, HIGH);
  61.   Display7Seg();
  62.   j++;
  63.     digitalWrite(Com4, LOW);
  64.     digitalWrite(Com5, HIGH);
  65.   Display7Seg();
  66.   j++;
  67.     digitalWrite(Com5, LOW);
  68.     digitalWrite(Com6, HIGH);
  69.   Display7Seg();
  70.   j=0;
  71.     digitalWrite(Com6, LOW);
  72.   delay(200);
  73. }
  74. //-----------------------------
  75. void   Display7Seg()
  76. {
  77.   digitalWrite(bit4, (dig[j] & 0x08) );
  78.   digitalWrite(bit5, (dig[j] & 0x04) );
  79.   digitalWrite(bit6, (dig[j] & 0x02) );
  80.   digitalWrite(bit7, (dig[j] & 0x01) );
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement