68HC11 (または、6811 やHC11 と略記)は、モトローラ による8ビットマイクロコントローラ のファミリであり、現在はフリースケール・セミコンダクタ が製造している。68HC11はMC6800 マイクロプロセッサ から派生したCISC マイクロコントローラである。68HC11は68HC05 マイクロコントローラよりも高価であるが強力であり、バーコード リーダ、ホテルのカードキーライター、アマチュア向けのロボットやその他の多くの組み込みシステム で使われている。
MC68HC11A8は48ピンのDIP や、写真のような52ピンのPLCC で提供されている。
内部的には、HC11の命令セット はMC6800 にYインデックスレジスタ を加えたものであり、上位互換性がある(Yレジスタを扱う命令は、1バイトプレフィックスの0x 18が付いたオペコード を使用する)。HC11は2つの8ビット アキュムレータ のAとB、2つの16ビット インデックスレジスタ のXとY、ステータスレジスタ 、16ビットスタックポインタ とプログラムカウンタ を持つ。加えて、いくつかの命令はAとBのレジスタを組み合わせ、16ビットのDレジスタとして扱う。
HC11ファミリ向けの標準的なブートローダは、BUFFALO("Bit User Fast Friendly Aid to Logical Operation")と呼ばれる(ブートアップ時にシリアルポートにBUFFALOのプロンプトが見える場合は、ボード上のフラッシュメモリが消去されている可能性がある)。全てのHC11のモデルが、BUFFALOブートローダを内蔵しているわけではない。68HC11A0とA1はブートローダを内蔵していないが、A8は内蔵している。
HC11のバージョンの差により、アルファベットで名前がつけられたポートの数は異なる。最も一般的なバージョンは5つのポート(A,B,C,D,E)があるが、ポートを3つしか持っていないものもある(バージョンD3)。ポートD以外の各ポートはそれぞれ8ビットである。ポートDは6ビットである(チップのバリエーションによっては、Dも8ビットである)。HC11は内蔵のプログラムとRAM (1から768バイト)、または最大64キロバイト の外部メモリで動作する。外部メモリを使用する場合、ポートBとCがアドレスバス とデータバス として使用される。この場合ポートCは、アドレスの低位バイトとデータの両方で使用するため時分割多重 となる。
ポート変換ユニットのMC68HC24をHC11と合わせて使用することが出来る。外部のアドレスバスに置かれた場合は、MC68HC24はポートBとCの機能として動作する。ポートAは入力のキャプチャ、出力の比較、パルスアキュムレータ、他のタイマ機能を持つ。ポートDはシリアルI/Oの機能を、ポートEはAD変換器 の機能を持つ。
Freescale 68HC12 は68HC11を強化したバージョンである。
Freescale 68HC16 マイクロコントローラは、68HC11のアップグレードとして、ほとんど互換性のある16ビット プロセッサを意図している。
外部リンク
この記事は2008年11月1日以前にFree On-line Dictionary of Computing から取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。