8048マイクロコントローラの実験方法
Table of Contents
- はじめに
- 8048ファミリーとは
- 8048ファミリーの特徴
- 外部ROMとのインターフェース
- テスト回路の構築
- プログラムの作成と書き込み
- LED点滅プログラムのテスト
- ボタン入力の追加
- タイマー割り込みを使用したLEDパターンの生成
- 結論
はじめに
本記事では、8048ファミリーのマイクロコントローラを使った実験について説明します。回路の構築やプログラムの作成、LEDの点滅やボタン入力の制御など、さまざまな内容を取り上げます。また、なぜこの実験を行うのか、8048ファミリーがどのようなデバイスなのかについても触れます。
1. 8048ファミリーとは
8048ファミリーは、1970年代に広く使用されたマイクロコントローラの一つです。自動車の応用やビデオゲームシステムなど、さまざまな製品に組み込まれていました。特に、8048ファミリーは、類似の成功を収めた8051シリーズの前身となるデバイスです。
2. 8048ファミリーの特徴
8048ファミリーデバイスは、ROMプログラムメモリの容量とRAMの容量によって区別されます。1K、2K、または4KのROMメモリを搭載し、64バイト、128バイト、または256バイトのRAMを持っています。これらのデバイスは、組み込み制御やセンシングアプリケーションにおいて、限られたメモリ容量でも十分な機能を提供できます。
Pros:
- 古いテクノロジーを使った面白い実験が可能
- 8051シリーズの前身であるため、8051の理解にも役立つ
Cons:
- I/O用ピンが制約されるため、外部デバイスとの接続に制限がある
3. 外部ROMとのインターフェース
8048ファミリーデバイスは、外部ROMデバイスとのインターフェースにおいて、データバスとアドレスバス用のI/Oポートを使用します。一部のピンはI/Oポートとして使用できず、外部ROMデバイスとの接続に利用されます。EEPROMプログラマブルなバージョンの8048ファミリーも存在しますが、本記事では外部ROMを使用した構成を扱います。
4. テスト回路の構築
LED点滅のための簡単な回路を構築します。リセット信号の生成、アドレスラッチ、EEPROMデバイスなどを用意します。リセット信号は、MAX708というチップを使用して生成します。アドレスラッチはHTT573を使用し、外部アドレスをキャプチャします。EEPROMデバイスへの制御信号はPSEN信号を使用し、外部ROMの有効化制御に使います。
5. プログラムの作成と書き込み
8048ファミリーデバイスのプログラムは、ROMの先頭にリセットベクタがあります。このプログラムでは、リセット時にアドレス16にジャンプするよう設定し、その後にループ処理を実行します。アセンブラを使用してプログラムを作成し、作成したプログラムをEEPROMに書き込みます。
6. LED点滅プログラムのテスト
作成したLED点滅プログラムをテスト回路に書き込み、動作を確認します。指定したアドレスから命令をフェッチし、低位アドレスラインが切り替わることを確認します。
7. ボタン入力の追加
回路にボタンを接続し、ボタンの押下状態を検知するプログラムを作成します。ボタンが押されるとLEDが点灯し、リリースされると消灯するように制御します。
8. タイマー割り込みを使用したLEDパターンの生成
タイマー割り込みを使用して、周期的なLEDのパターンを生成します。タイマー割り込みのベクタはプログラマが指定するアドレスに設定されます。タイマーイベント処理関数では、パターンを切り替えてLEDを制御します。
9. 結論
8048ファミリーデバイスは興味深い実験対象であり、プログラミングも比較的容易です。古いテクノロジーに触れることで、培われたスキルや知識を活用することができます。
FAQ
Q: 8048ファミリーのデバイスはどのようなアプリケーションに使用されますか?
A: 8048ファミリーデバイスは、自動車やビデオゲームシステムなどの様々なアプリケーションに組み込まれていました。
Q: 8048ファミリーデバイスはどのように外部ROMデバイスと接続されますか?
A: 8048ファミリーデバイスは、データバスとアドレスバス用のI/Oポートを使用して外部ROMデバイスに接続します。
Q: プログラムを書き込むためのソフトウェアは何を使用しますか?
A: 本記事では、asm48アセンブラとMini Proソフトウェアを使用してプログラムを書き込みます。
Q: 8048ファミリーデバイスを使用してLEDを制御する際、どのような回路が必要ですか?
A: LEDを制御するためには、リセット信号生成ICやアドレスラッチなどの回路が必要です。
Q: 8048ファミリーデバイスのプログラムを作成するためには、どのような開発環境が必要ですか?
A: 本記事では、asm48アセンブラを使用してプログラムを作成し、Mini Proソフトウェアを使用してプログラムを書き込みます。
参考リソース:
- asm48アセンブラ: リンク
- Mini Proソフトウェア: リンク