Microcontroller 从模拟电压转换为PIC ADC后的适当样本。
如果我在500毫秒时从压力传感器读取模拟信号。我的指导老师告诉我,您应该使ADC Timr0中断是您从模拟示波器(500毫秒)读取的两倍。2fc。我的代码在下面。 我应该将计时器0配置为20Hz或更低或更高吗Microcontroller 从模拟电压转换为PIC ADC后的适当样本。,microcontroller,pic,mikroc,microc,Microcontroller,Pic,Mikroc,Microc,如果我在500毫秒时从压力传感器读取模拟信号。我的指导老师告诉我,您应该使ADC Timr0中断是您从模拟示波器(500毫秒)读取的两倍。2fc。我的代码在下面。 我应该将计时器0配置为20Hz或更低或更高吗 enter code here char temp[5]; unsigned int adc_value; char uart_rd; int i; unsigned int d[10]={0}; int average
enter code here
char temp[5];
unsigned int adc_value;
char uart_rd;
int i;
unsigned int d[10]={0};
int average = 0;
int counter =0;
void interrupt(){
if (INTCON.T0IF) {
INTCON.T0IF = 0 ;// clear T0IF (Timer interrupt flag).
}
TMR0 = 178;
}
void main() {
temp[0]='1';
temp[1]='2';
temp[2]='3';
temp[3]='4';
temp[4]=' ';
OSCCON= 0x77; //8MHz
ANSEL = 0b00000100; //ANS2
CMCON0 = 0X07; //
TRISA = 0b00001100;
UART1_Init(9600);
TMR0 = 178 ;
//CMCON0 = 0X04; // turn off compartor.
OPTION_REG = 0x87; //
INTCON =0xA0;
while(1){
average= ADC_Read(2);
temp[0] = average/1000+48;
temp[1] = (average/100)%10+48;
temp[2] = (average/10)%10+48;
temp[3] = average%10+48;
for (i=0;i<5; i++)
{
UART1_Write(temp[i]);
}
}
}
在此处输入代码
炭温[5];
无符号整数adc_值;
查乌拉尔路;
int i;
无符号整数d[10]={0};
整数平均=0;
int计数器=0;
无效中断(){
if(INTCON.T0IF){
INTCON.T0IF=0;//清除T0IF(计时器中断标志)。
}
TMR0=178;
}
void main(){
温度[0]=“1”;
温度[1]='2';
温度[2]='3';
温度[3]='4';
温度[4]='';
OSCCON=0x77;//8MHz
ANSEL=0b00000100;//ANS2
CMCON0=0X07//
TRISA=0b00001100;
UART1_Init(9600);
TMR0=178;
//CMCON0=0X04;//关闭比较器。
选项_REG=0x87//
INTCON=0xA0;
而(1){
平均值=ADC_读数(2);
温度[0]=平均值/1000+48;
温度[1]=(平均/100)%10+48;
温度[2]=(平均/10)%10+48;
温度[3]=平均值%10+48;
对于(i=0;i当对一个信号进行预采样时,在给定的采样周期内,您并没有捕获所有信息,而只是部分信息
奈奎斯特-香农采样定理声称,如果你能在某个给定频率以上进行实际采样,你就能得到信号有限带宽的所有信息。这个频率是该带宽最大频率的两倍
如果你不遵守这个频率,你会受到一种称为混叠的影响
您可以在此处了解更多信息:当对信号进行预采样时,您没有捕获所有信息,而是在给定采样周期内仅捕获部分信息
奈奎斯特-香农采样定理声称,如果你能在某个给定频率以上进行实际采样,你就能得到信号有限带宽的所有信息。这个频率是该带宽最大频率的两倍
如果你不遵守这个频率,你会受到一种称为混叠的影响
您可以在此处了解更多信息:您的讲师可能正在参考,请参阅第二段,或在internet上搜索采样率和信号频率。您的讲师可能正在参考,请参阅第二段,或在internet上搜索采样率和信号频率。