78K0S
78K0Sファミリとは、日本電気(NEC、現在のルネサス エレクトロニクス)が開発したマイクロコントローラである。単一電源(2.2V以上。自己フラッシュ機能を使用する場合は2.7V以上)のみで動作可能であり、動作クロック範囲は1MHz~10MHzである。
![](http://up.wiki.x.io/wikipedia/commons/thumb/a/aa/Upd78f222.jpg/300px-Upd78f222.jpg)
特徴
編集データシート・プログラミング環境・フラッシュ回路図が無償公開されており、安価に開発・使用が可能である。フラッシュ回路製作に使用する部品も入手が容易である(完成品はルネサス エレクトロニクス・サンハヤトから販売されている)
8MHz内蔵クロック/480kHzウォッチドッグタイマが内蔵されており、内蔵クロックのみ使用する場合には外付け回路として「リセット端子プルアップ抵抗」「電源安定用コンデンサ」のみで動作する。
CMOSロジックであるが、LEDドライブ等の大電流用オープンドレインポートが用意されている。また静電気(サージ)対策も施されている。
命令は可変長である。1命令に要する実行クロック数は最短2クロック/最長10クロックである。
アーキテクチャ
編集- 8Bit(リトルエンディアン)
- メモリ空間:0000-FFFF
- 0080-:オプションバイト
- FF00-FFFF:ポート・内蔵ペリフェラル制御レジスタ(SFR)
- FE20-FF1Fはショートアドレッシング可能(saddr)
- レジスタ
- 特殊レジスタ
- PC(プログラムカウンタ)/PSW(プログラムステータスワード)/SP(スタックポインタ)
- 汎用レジスタ
- A(R0)/X(R1)/B(R2)/C(R3)/D(R4)/E(R5)/H(R6)/L(R7)
- 条件付でレジスタペア「AX(RP0)/BC(RP1)/DE(RP2)/HL(RP3)」として使用可能(メモリアクセスは偶数アドレス限定)
- 特殊レジスタ
- フラッシュメモリ(1ブロック256Byte。プログラムコード及びバックアップ用データエリア兼用)
- 内部高速RAM(スタック共用)
- 使用頻度の高い関数はテーブル定義可能(CALLT)
- 「saddr」はレジスタを介する事無く演算可能。
- 「CALLT」と「saddr」はコードサイズの削減を目的としたショート命令が用意されている。
シリーズ
編集基本的に内蔵機能によりシリーズ分けされており、内蔵メモリサイズにより細分されている。
(一部機能を制限した廉価版も同一シリーズ内に存在する)
以下にオールフラッシュ製品を列挙する。
- 78K0S/KA1+
- 78K0S/KB1+
- 78K0S/KU1+
- 78K0S/KY1+
その他
編集- 内蔵高速RAMは命令フェッチ不可である。
- 純正品はSOPパッケージであるが、78K0S/KA1+はサンハヤトよりDIPパッケージ(78K0S/KA1PCX)が販売されている。但し評価用であり保証は無い(純正品は標準水準以上であり、特性が保証される)