以单片机为控制器,对2路0-5V的模拟电压进行循环采集,采集的数据显示,并存入内存。超过界限时指示灯闪烁。
设计要求:
(1)对2路模拟信号输入进行循环采集,每路连续采集16次,取平均值保存和显示。
(2)分别设定每一路的上限值,若采集的平均值超过该界限值,则对应通道的指示灯闪烁10次后-直亮,指示灯闪烁时喇叭发声,以示警告。
网上只有不求平均值的想知道如果要添加计算平均值的话需要修改这个接线吗还是只需要修改代码就可以
主代码
void main()
{
while(1)
{
LED=0;
sound=0;
ADDC=0;ADDB=0;
init();
START=0;
OE=0;
START=1;
START=0;
while(EOC==0);
OE=1;
dat=P0;
dat=dat*19.53125;
display();
OE=0;
if(ADDA==1)
{
abc=dat*0.001;
if(abc>1.25)
{
sound=1;
LED=1;
delay(3500);
LED=0;
}
}
if(ADDA==0)
{
abc=dat*0.001;
if(abc>2.5)
{
sound=1;
LED=1;
delay(3500);
LED=0;
}
}
}
}
设计要求:
(1)对2路模拟信号输入进行循环采集,每路连续采集16次,取平均值保存和显示。
(2)分别设定每一路的上限值,若采集的平均值超过该界限值,则对应通道的指示灯闪烁10次后-直亮,指示灯闪烁时喇叭发声,以示警告。
网上只有不求平均值的想知道如果要添加计算平均值的话需要修改这个接线吗还是只需要修改代码就可以
主代码
void main()
{
while(1)
{
LED=0;
sound=0;
ADDC=0;ADDB=0;
init();
START=0;
OE=0;
START=1;
START=0;
while(EOC==0);
OE=1;
dat=P0;
dat=dat*19.53125;
display();
OE=0;
if(ADDA==1)
{
abc=dat*0.001;
if(abc>1.25)
{
sound=1;
LED=1;
delay(3500);
LED=0;
}
}
if(ADDA==0)
{
abc=dat*0.001;
if(abc>2.5)
{
sound=1;
LED=1;
delay(3500);
LED=0;
}
}
}
}