>>593
 ADCの実現方法は、
 ADCの無いマイコンでポートを2つ使って実現する方法と同じです。

CPUin-------+
CPUout-抵抗-+--抵抗---信号源
          C
          |
         gnd

と配線します。CPU 側の抵抗とこの抵抗を同じとします。
CPUは固定長命令サイクルのループを繰り返し
 状態を読みながらプルアップ・プルダウンになるよう抵抗出力をH/Lします。
 ポート値がHならプルダウン ポート値がLならプルアップするわけです。
 そうすると、このH/L時間比と信号源電圧が比例するという仕掛けです。
 ΔΣ方式のADCと同じですね。

測定精度はCPUの入力スレッショルドがどれだけ安定しているかによるのですが
繰り返し精度は問題ない=校正すれば使えます。

サンプリングレートは(ループ時間*2^要求bit数) に逆比例します

>>578で書いたように、CPU内部に抵抗を内蔵して貰えたら、
 これと同じ方法でポート1本にC+RでADCが実現出来るという訳です。