Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. #include<detpic32.h>
  2. void delayms(unsigned int n)
  3. {
  4.     int CV=600;
  5.     volatile unsigned int i;
  6.     for(; n !=0;n--)
  7.        
  8.  
  9.     }
  10.  
  11.     void main(void)
  12.     {
  13.     // fazer um array que ative as várias posições
  14.  
  15.         static const unsigned char segments[] = {0x0004,0x0002,0x0001,0x0008,0x0010,0x0020,0x0040,0x0008};
  16.  
  17.  
  18.         // definir como saída os displays
  19.         TRISB = TRISB&0xFC00;// declara os displays como saída
  20.         // activar o display mais significativo
  21.         LATBbits.LATB8=1;
  22.         LATBbits.LATB9=0;
  23.    
  24.         // configuração ADC
  25.    
  26.         TRISBbits.TRISB14=1; // desliga de entrada digital
  27.         AD1PCFGbits.PCFG14=0; // configura como entrada analogiaca
  28.         AD1CON1bits.SSRC=7;
  29.         AD1CON1bits.CLRASAM=1;
  30.         AD1CON3bits.SAMC=16;
  31.         AD1CON2bits.SMPI=7;
  32.         AD1CHSbits.CH0SA=14;
  33.         AD1CON1bits.ON=1;   // o modulo esta pronto para dar inicio a conversão
  34.  
  35.    
  36.         while(1)
  37.         {
  38.         int i,soma;
  39.         int *p =(int*)(&ADC1BUF0);
  40.    
  41.         AD1CON1bits.ASAM=1;     // começa a fazer a conversão
  42.         while(IFS1bits.AD1IF==0);
  43.  
  44.  
  45.         for(i=0;i<8;i++)
  46.         {
  47.             LATB=(LATB&0xFF00)|segments[i];
  48.             soma = soma + p[i];
  49.             delayms(250*soma);
  50.         }
  51.     }
  52. }
  53.  
  54. include<detpic32.h>
  55. void delayms(unsigned int n)
  56. {
  57.     int CV=600;
  58.     volatile unsigned int i;
  59.     for(; n !=0;n--)
  60.     for(i=CV;i!=0;i--)
  61.     ;
  62.  
  63.     }
  64.  
  65.     void main(void)
  66.     {
  67.     // fazer um array que ative as várias posições
  68.  
  69.     static const unsigned char segments[] = {0x0004,0x0002,0x0001,0x0008,0x0010,0x0020,0x0040,0x0008};
  70.  
  71.  
  72.     // definir como saída os displays
  73.     TRISB = TRISB&0xFC00;// declara os displays como saída
  74.     // activar o display mais significativo
  75.     LATBbits.LATB8=1;
  76.     LATBbits.LATB9=0;
  77.    
  78.     // configuração ADC
  79.    
  80.     TRISBbits.TRISB14=1; // desliga de entrada digital
  81.     AD1PCFGbits.PCFG14=0; // configura como entrada analogiaca
  82.     AD1CON1bits.SSRC=7;
  83.     AD1CON1bits.CLRASAM=1;
  84.     AD1CON3bits.SAMC=16;
  85.     AD1CON2bits.SMPI=7;
  86.     AD1CHSbits.CH0SA=14;
  87.     AD1CON1bits.ON=1;   // o modulo esta pronto para dar inicio a conversão
  88.  
  89.    
  90.     while(1)
  91.     {
  92.     int i,soma;
  93.     int *p =(int*)(&ADC1BUF0);
  94.    
  95.     AD1CON1bits.ASAM=1;     // começa a fazer a conversão
  96.     while(IFS1bits.AD1IF==0);
  97.  
  98.  
  99.     for(i=0;i<8;i++)
  100.     {
  101.     LATB=(LATB&0xFF00)|segments[i];
  102.     soma = soma + p[i];
  103.     delayms(250*soma);
  104.     }
  105.     }
  106.  
  107.  
  108.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement