Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
20.02.2016
Размер:
1.33 Кб
Скачать
/* 
 * File:   dig filtr.c
 * Author: user
 *
 * Created on 9 ??????? 2014 ?., 16:54
 */

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include "signal.h"
#include <p33fxxxx.h>
#include <stdbool.h>
#define SPS 9600UL
#define Trc 0.001f
#define K (SPS*Trc)

/*
 * 
 */
 uint16_t Dacc,Dout,Din;
void delay() {
    int counter = 0;
    for (counter = 0; counter<2; counter++) {
        ;
    }
}
void main(void)
 {
         TRISA=0x0002; //RA1-analog vhod
    TRISB=0x0000; //portB na vyhod
    ADPCFG = 0xFFFD; // AN1=0 vhod ??? ??????????
    AD1CON1 = 0x0000; // neavtomat start preobraz ASAM=/1
    AD1CHS0 = 0x0001; //AN1=0 prisoedinyem 0 mux
    AD1CSSL = 0; // net skanirovaniya vhodov
    AD1CON2bits.SMPI = 0; // SMPI=0,preryvanye posle kajdogo preobrazov
    AD1CON3bits.SAMC = 01;//=1*Tad T-avtovyborki
    AD1CON3bits.ADCS = 01;//=1*33ns=Tad sinhronizaciya
    AD1CON1bits.ADON = 1; // vklyuch ADC
    // return 0;

  while (1) {
      AD1CON1bits.SAMP = 1; // nachalo vyborki
//int i=1;
//while(i<10) i=i++; // Z 100 mS
delay ();
AD1CON1bits.SAMP = 0; // nachat preobrazov
while (!AD1CON1bits.DONE); // end?
static uint16_t Dacc=0x0000;
static uint16_t Dout=0;
uint16_t Din=ADC1BUF0;
 Dacc = Dacc + Din - Dout;
 Dout = Dacc/(uint16_t)K;
 PORTB=Dout; //poluchit ADC znachenie
//PORTB=ADC1BUF0;
} // 

}

Соседние файлы в папке Микропроцессорная техника Сторожок