現在通過運放把交流電輸入給單片機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 匯編看著太長,請問單片機怎么判斷交流電的頻率和幅值?謝謝!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234500.html
標籤:嵌入開發(WinCE)
上一篇:PCB板邊包銅
下一篇:無線模塊ESP8266配網
