飞翔Boss

  • 1 主题
  • 2 帖子
  • 240 积分
  • 身份:LV1 技术小白
  • E币:229

单片机AD采集正弦波怎么判断频率?

2020-12-14 14:52:30 显示全部楼层
现在通过运放把交流电输入给单片机PIC16F877A的AD口,程序代码是汇编,故没怎么看懂,程序中这样写的好像是判断采集次数来判断波形是50HZ或者60HZ,而且为了判断交流电的幅值通过累加后与一固定值做比较的,AD是10位AD故程序中采集的值与0x7f差的绝对值累加和与一数值做比较,请问这是什么道理?因为AD是10位且采样的时候运放把交流波形抬到5V的中点左右,即交流电的0V与2.5V相重合,故采集到的值0X7F做减法我可以理解,但不明白的如下:运放电路图和运放输出到AD口的电压波形如图所示。但疑问如下
1.程序中每400US处理AD程序一次,且通过AD采集的次数与24做比较来判断波形是50HZ或者60HZ 这是什么道理?
2.为什么每次采集的值累加和与一固定值做比较来判断输入电压的幅值是220V或者380V

程序中有段注释 如下
;(半周期采样幅值累加值 < #0x0350)  
请问0x0350是怎么得来的?

我们的这款产品是PIC 汇编看着太长,请问单片机怎么判断交流电的频率和幅值?谢谢! 运放电路1.png
您需要登录后才可以评论 登录 | 立即注册

最新评论

楼层直达:

moyanming2013

  • 118 主题
  • 375 帖子
  • 1254 积分
  • 身份:LV4 高级技术员
  • E币:777
moyanming2013 2020-12-14 20:38:31 显示全部楼层
电压区间值应该是预定义的吧,所以根据读到的值做曲线

飞翔Boss

  • 1 主题
  • 2 帖子
  • 240 积分
  • 身份:LV1 技术小白
  • E币:229
飞翔Boss 2020-12-15 14:24:58 显示全部楼层
moyanming2013 发表于 2020-12-14 20:38
电压区间值应该是预定义的吧,所以根据读到的值做曲线

电压区间值是预定义,但为什么定义为固定值依据是什么?
快速回复
2
10
广告
关闭 热点推荐上一条 /8 下一条
快速回复 返回列表