■ Tektronix 4010(4014) グラフィック・ターミナルへ描画 ■


 ミニコン(ミニ・コンピュータ)が活躍していた1970年代に、英数字とグラフィックが表示できるディスプレイ・ターミナル「Tektronix 4010(4014)」がありました。
 このターミナルにシリアル回線で送るコマンドが標準となり、ターミナル・エミュレータ・ソフトの「Tera Term」にも、このTEK4010(4014)端末エミュレーション機能が搭載されています。
 
 実際にはRS-232Cなどのシリアル回線でキャラクター文字と制御コードを送って、文字列やグラフを描画させています。
 よって、AVRなどのマイコンとの接続も、マイコンに内蔵されているUARTを使って「RS-232C」や「USB-シリアル変換」を経由し、「Tera Term」をインストールしたパソコンに接続するだけです。
 Arduinoボードには「USB-シリアル変換」機能も付いているので、ボード単体でパソコン画面にグラフを表示させる事もできます。
 
 AVRに接続する小型のLCDよりも遙かに大きく高解像度な画面と、その画面を簡単に印刷する機能を得る事ができます。



 
「Tera Term」のグラフィック表示画面
(AVRからデータを送った、パソコンの画面)

 
印 刷 (ハードコピー) A4の紙 横置き
(パソコンに接続された任意のプリンターにて)


参考: 4010ターミナルのカタログ Tektronix 4010 Computer Display Terminal


環境の準備
 
1.AVR回路

 
 ・UART(USART)を搭載したAVRマイコン回路に、「RS-232Cインターフェース」や
  「USB-シリアル変換モジュール」を経由して、パソコンに接続します。
  参考回路
   FT232RL USBシリアル変換モジュール[AE-UM232R]使用 パソコン通信 テスト
   グラフィックLCDで、RS-232Cターミナルの製作
 ・USBドライバーのインストールと、デバイスマネージャー画面で表示されるCOM番号を控えておいて
  下さい。
 
 ・UARTを内蔵していないAVRでも、任意のポートを使用したソフトウェアUARTを使用して接続する
  事ができます。
  (後に記載する組み込みプログラムとライブラリーの一部を変更する必要がります。)
 
 ・Arduinoボードには「USB-シリアル変換」が搭載されているので、追加のハードウェアの必要がなく、
  即座に描画をさせる事ができます。
 
2.ターミナル・エミュレーター・ソフト 「Tera Term」のインストール

 
 ・Tera Termの最新版をダウンロードしてインストールします。
  [teraterm-4.84.exe](記事作成時の最新版)を実行します。
 ・インストールは標準でOKです。
  詳細は「Tera Term インストール」で検索してみて下さい。
 
3.「Tera Term」の設定

 
 ・「RS-232Cインターフェース」や「USB-シリアル変換モジュール」は、パソコンに接続して
  動作状態にしておいて下さい。
 ・「Tera Term」を起動します。
 
○接続の設定。
 
・「Tera Term: 新しい接続」ウィンドウで、シリアル(E)に
 チェックを付けます。
・パソコンに接続したシリアル・インターフェースの
 ポートCOM番号を選択します。
 
・[OK]をクリックします。
○ボー・レートの設定。
 
・メニューバーから 設定(S) → シリアルポート(E) と進み
 「Tera Term: シリアルポート 設定」ウィンドウを開き
 ます。
 
・ボー・レート(B)欄で、通信をする速度を選択します。
 (Arduinoは、モデルによってボー・レートが違います)
 
・[OK]をクリックします。
○TEK4010モードへ自動切り替えの設定。
 
・メニューバーから 設定(S) → 端末(T) と進み、
 「Tera Term: 端末の設定」ウィンドウを開きます。
 
・自動切り替え(VT<->TEK)(U)にチェックを付けます。
 
・[OK]をクリックします。
○グラフィック画面の設定。
 
・メニューバーから コントロール(O) → TEKウィンドウを
 開く(O) と進み、「Tera Term VT TEK」ウィンドウを
 開きます。
 
・メニューバーから 設定(S) → フォント(F) と進み、
 「フォント」ウィンドウを開きます。
 
・フォントのサイズを変更する事で、グラフィック画面の
 大きさが変わりますから、パソコンの画面サイズに
 合わせて調整して下さい。
※この設定では、サイズを16に変更してあります。
 
・[OK]をクリックします。
○画面色の設定。
 
・メニューバーから 設定(S) → ウィンドウ(W) と進み、
 「Tera Term: ウィンドウの設定」ウィンドウを開きます。
 
・カラーエミュレーション(C): にチックを付けます。

・初期値では背景色が[白]ですが、[反転(E)] をクリック
 すると、背景色を[黒]に変えることができます。
・カラーエミュレーション(C): にチックを付けて、背景色が
 [黒]の場合は、印刷時も背景が黒になりますから
 用途に合わせて使い分けて下さい。

・[OK]をクリックします。
○変更した設定の保存。
 
・メニューバーの VT-ウィンドウ(O) をクリックします。

・メニューバーから 設定(S) → 設定の保存(S) と進み、
 「Tera Term: 設定の保存」ウィンドウを開きます。
 
・保存(S)をクリックします。

 ・次回「Tera Term」起動時からも、保存した設定で動作します。



プログラムの使い方
 
・BASCOM-AVRをインストールしておいて下さい。 BASCOM-AVR (DEMO) のインストール

専用ライブラリの保存。
 
 ・BASCOM-AVRで制御する際には、専用のライブラリを組み込む必要があります。
 ・以下のライブラリ「TEK4010emu.lib」を、
  C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\ に保存して下さい。
 
ライブラリ  TEK4010emu.lib (7KB)

グラフィック画面の描画テスト。
 
 ・以下の描画テストプログラム「TEK401x-TestJP.bas」を、任意のフォルダーにダウンロードして下さい。
 ・BASCOM-AVRを起動して、保存した「TEK401x-TestJP.bas」を開き、コンパイルした後にAVRに
  書き込むと、「Tera Term」のグラフィック・ウィンドウに、冒頭に掲載した画面が表示されます。
 
プログラム  BASCOM-AVR用 ソースファイル  TEK401x-TestJP.bas (8KB)
 テキスト形式 ソースファイル  TEK401x-TestJP.TXT (8KB)

グラフィック画面の印刷。 (ハードコピー)
 
 ・グラフィックを表示した「Tera Term VT TEK」ウィンドウのメニューバーから ファイル(F) → 印刷(P) と
  進み、「印刷」ウィンドウでプリンターの選択と設定を行い、印刷(P)をクリックして印刷します。
 ・印刷時の大きさもフォント・サイズに影響されますから、用紙のサイズや用紙方向によって
  フォント・サイズで画面の大きさを調節して下さい。
 ・カラーエミュレーション(C): にチックを付けて背景色が[黒]の場合は、印刷時も背景が黒で印刷
  されますから、用途に合わせて背景の設定を変えて下さい。

Arduinoボードへの書き込み
 
 ・Arduinoボードの場合もBASCOM-AVRをインストールして、BASCOM-AVRから描画プログラムの
  書き込みが出来ます。
  プログラム制作環境の準備 (BASCOM-AVR)
 ・前記のライブラリも、同様に組み込んで下さい。
 
  $regfile = "m328pdef.dat"  Arduinoボードに搭載されているAVRチップに合わせます。
  $baud = 115200  Arduinoボードのモデルによって、ボー・レートが違います。
 
描画テストプログラムの解説。
 
 $regfile = "m88pdef.dat"  任意のAVRを選択して、対応するレジ ファイルを指定します。
 $crystal = 16000000     AVRの動作周波数を設定します。
 
 $hwstack = 64   変更の必要がなければ、このまま記述して下さい。
 $swstack = 32   変更の必要がなければ、このまま記述して下さい。
 $framesize = 24  変更の必要がなければ、このまま記述して下さい。
  
 $baud = 9600  ターミナルのボーレートを設定します。
 
 ※以下の点線部分は、各自のプログラムの冒頭に必ず記述(コピー)して下さい。
 '--------- Include a control instruction of TEK4010. ---------
 Dim _temptx As Byte 'Internal variables of the library.
  〜 〜 中略 〜 〜
 ' Tekalpha <ターミナルをキャラクターモードに戻します。>
 '-------------------------------------------------------------

 
 ※これ以降に、各自のプログラム および TEK4010(4014)用のグラフィック描画命令を記述します。
 
ソフトウェアUARTを使用する場合。
 
 ・UARTを内蔵していないAVRでも、任意のポートを使用したソフトウェアUARTを使用して接続する
  事ができます。
 
 ・ソフトウェアUARTの宣言をします。
  $baud = 9600 の代わりに、
  Open "comd.3:9600,8,N,1" For Output As #1  詳細はOPEN命令を参照。
 
 ・組み込みプログラムの下記の部分を変更して下さい。
  変更前 _temptx = &H1F : Printbin _temptx  '[US] Changes Terminal to Alpha Mode.
  変更後 _temptx = &H1F : Printbin #1 , _temptx  '[US] Changes Terminal to Alpha Mode.
 
 ・ライブラリ「TEK4010emu.lib」をメモ帳などのテキストエディタで開き、下記の部分を変更して下さい。
  変更前 25行目 *BASIC: Printbin _temptx
  変更後 25行目 *BASIC: Printbin #1 , _temptx
 
描画命令の解説。
 
 ・キャラクター画面とグラフィック画面を消去します。
Tekcls
 
 ・キャラクターとグラフィックの描画色を設定します。
Tekcolor Color
  0 = Black, 1 = Red, 2 = Green, 3 = Yellow, 4 = Blue, 5 = Magenta, 6 = Cyan, 7 = White
 
 ・直線を引きます。 (X = 0〜1023 , Y = 0〜778 , Vector-Type = 0〜23)
Tekline X(start) , Y(start) , X(end) , Y(end) , Vector-Type
  X(start) , Y(start) : XとYの始点座標 , X(end) , Y(end) : XとYの終点座標
  Vector-Type : 0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 短い破線 , 4: 長い破線 注.
 
 ・ボックスを描画します。 (X = 0〜1023 , Y = 0〜778 , Vector-Type = 0〜23)
Tekbox X(left corner) , Y(top position) , X(right corner) , Y(bottom position) , Vector-Type
  X(left corner) , Y(top position) : 箱のX,Y左上座標
  X(right corner) , Y(bottom position) : 箱のX,Y右下座標
  Vector-Type : 0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 短い破線 , 4: 長い破線 注.
 
 ・1ドットの点を描画します。 (X = 0〜1023 , Y = 0〜778)
Tekpset X(location) , Y(location)
  X(location) , Y(location) : 点のX,Y座標
 
 ・文字の描画位置を指定します。 (X = 0〜1023 , Y = 0〜778)
Teklocate X(location) , Y(location)
  X(location) , Y(location) : 文字のX,Y座標
  ※ 指定する文字の座標は、文字を形成するキャラクタードットの左下の位置です。
  ※ この後に送る文字列の位置を指定する命令なので、この命令だけでは何も描画されません。
 
 注.Vector-Typeは、マニュアルと実際の描画に違いがあるようです。
   0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 長い破線 , 4: 長い破線 , 5: 二点鎖線
 

 
 ・ターミナルをグラフモードにして、線種を指定します。 (Vector-Type = 0〜23)
Tekgraph Vector-Type
  Vector-Type : 0: 直線 , 1: 点線 , 2: 一点鎖線 , 3: 短い破線 , 4: 長い破線 注.
  ※ 連続した折れ線グラフを書く際に、Tekplot命令に先立ち記述します。
 
 ・グラフの線分を描画します。 (X = 0〜1023 , Y = 0〜778)
Tekplot X(location) , Y(location)
  X(location) , Y(location) : 線分のX,Y座標
  ※ 連続した折れ線グラフを書く際に、Tekgraph命令を記述した後に使用します。
  ※ Tekgraph命令でグラフモードに入った後の一番始めの座標は開始点となり、描画はされません。
  ※ 二番目以降のTekplot命令が終点となり、線分間の線が描画されます。
  ※ その後に送られる座標はすべて終点となり、線分間の線が連続して描画されます。
 
 ・ターミナルをキャラクターモード(Alpha)に戻します。
Tekalpha
  ※ Tekplot命令でのグラフ描画が終了した際には、必ずこの命令を記述して下さい。
 

 






   電子工作の部屋 Top へ 前のページへ戻る