Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессорная техника Сторожок / dig filtr — копия
.c/*
* 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;
} //
}
Соседние файлы в папке Микропроцессорная техника Сторожок