Advertisement
bsddeamon

rebound_calc.c

Mar 5th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.74 KB | None | 0 0
  1. // rebound_calc.c
  2. // Calcule le temps de rebondissement d’un
  3. // bouton poussoir branche en pull-up sur
  4. // un bit de port du DS89C450.
  5. // Hacker: Samuel Duclos
  6. // Creative Commons licensed
  7.  
  8. #include "MonDallas.h"
  9. #include <stdio.h>
  10.  
  11. // Changez a volonte...
  12. #define BUTTON P1_3
  13.  
  14. void main(void) {
  15.   UI bounce = 0xDC00;
  16.  
  17.   SCON0 = 0x50;
  18.   TMOD |= 0x21; // Timer 0 mode 16 bits.
  19.   TH0 = 0xDC; // 10ms
  20.   TH1 = 0xFF;
  21.   PCON = 0x80;
  22.   TR1 = 1;
  23.   TI_0 = 1;
  24.  
  25.   printf("Branchez BUTTON et pesez dessus…\n");
  26.  
  27.   while (BUTTON);
  28.   while (!BUTTON);
  29.   TR0 = 1;
  30.  
  31.   while (!TF0) { if (BUTTON) { bounce = (TH0 << 8) + TL0; } }
  32.  
  33.   printf("Temps de rebond d’environ %f millisecondes.\n", (65536 - bounce) / 921.6);
  34.  
  35.   while (1);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement