そうか、10進数をBCDにするのは難しくないか
シリアルポートが受信するとFreq変数に数値として実周波数を納めるようにしているから、周波数の増減は実周波数分加減すればいいか
最小分解能は10Hzなので10,100,1K,1M単位で増減すればいい
それを1/10にしてIntToStr関数で文字列にしとけば、後はシリアルポート送信時に二桁分に'$'付けて16進数に変えるので、簡単じゃないか。
IntToStr(Freq div 10)に周波数により'0'を左に加えるようにして四桁のBCDを作ればいいんだな。