Advertisement
electronicosembebido

Codigo contador basico 4 digitos

Apr 25th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <16F84A.h>
  2.  
  3. #FUSES NOWDT                    //No Watch Dog Timer
  4. #FUSES XT                       //Crystal osc <= 4mhz
  5. #FUSES PUT                      //Power Up Timer
  6. #FUSES NOPROTECT                //Code not protected from reading
  7.  
  8. #use delay(clock=4000000)
  9.  
  10. #byte portb=0x06
  11. #byte porta=0x05
  12. #byte trisb=0x86
  13. #byte trisa=0x85
  14.    const byte display[16]={0b11000000,0b11111001,0b10100100,0b10110000,0b10011001,0b10010010,0b10000010,
  15.                            0b11111000,0b10000000,0b10010000,0b10001000,0b10000011,0b10100111,0b10100001,
  16.                            0b10000110,0b10001110};
  17.      byte d1,d2,d3,d4,a,i;
  18.  void saca()
  19. {
  20.        a=1;
  21.        
  22.        portb=display[d1];
  23.        porta=a;
  24.        delay_ms(10);
  25.        portb=0xff;
  26.        porta=0;
  27.        delay_ms(1);
  28.        a<<=1;
  29.        
  30.        portb=display[d2];
  31.        porta=a;
  32.        delay_ms(10);
  33.        portb=0xff;
  34.        porta=0;
  35.        delay_ms(1);
  36.        a<<=1;
  37.        
  38.        portb=display[d3];
  39.        porta=a;
  40.        delay_ms(10);
  41.        portb=0xff;
  42.        porta=0;
  43.        delay_ms(1);
  44.        a<<=1;
  45.        
  46.        portb=display[d4];
  47.        porta=a;
  48.        delay_ms(10);
  49.        portb=0xff;
  50.        porta=0;
  51.        delay_ms(1);
  52.        a<<=1;      
  53. }
  54.  
  55. void main()
  56. {
  57.    portb=0;porta=0;set_tris_a(0x00);set_tris_b(0x00);
  58.    d1=0;d2=0;d3=0;d4=0;
  59. while (true)
  60. {
  61.    for(i=0;i<10;i++){saca();}
  62.    d1++;
  63.    if (d1>9){d1=0; d2++;}
  64.    if (d2>9){d2=0;d3++;}
  65.    if (d3>9){d3=0;d4++;}
  66.    if (d4>9){d4=0;}
  67.  
  68. }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement