zh=5000/f[i];
C=zh*100;
算法有問題,妳這麽做C的值都是100的倍數。
因為單片機計算能力有限,妳要把5000*100/f[i]計算好後再做成數組直接給c賦值,最好是能把TH0=(65536-C)/256;
TL0=(65536-C)%256;
這兩個步驟也在單片機外面完成,做成兩個數組。這樣不僅可以提高單片機的運行速度還能提高精度(音質)
13位的%
32也不對應該是%256.