マイクロコンピュータ制御プログラミング入門

電気・電子系 教科書シリーズ 16

マイクロコンピュータ制御プログラミング入門

本書は Z80CPUを取り上げ,初中級者を対象にプログラミングの原点を理解するために書かれたものである。CPUの基本的な動きや2進数,16進数について学んだ後,C言語による制御プログラムで実際に動かすことに挑戦をする。

ジャンル
発行年月日
2006/09/11
判型
A5
ページ数
244ページ
ISBN
978-4-339-01196-8
マイクロコンピュータ制御プログラミング入門
在庫あり
2営業日以内に出荷致します。

定価

3,300(本体3,000円+税)

カートに入れる

購入案内

  • 内容紹介
  • 目次
  • 著者紹介

本書は Z80CPUを取り上げ,初中級者を対象にプログラミングの原点を理解するために書かれたものである。CPUの基本的な動きや2進数,16進数について学んだ後,C言語による制御プログラムで実際に動かすことに挑戦をする。

I部 Z80-CPUとアセンブリ言語

1. マイクロプロセッサ
1.1 マイクロプロセッサとは
1.2 マイクロプロセッサの種類
1.3 マイクロプロセッサの応用

2. Z80プロセッサ
2.1 Z80ファミリー
2.2 Z80のアーキテクチャ
2.3 Z80のプログラム実行過程
2.4 Z80の動作のタイミング
 2.4.1 フェッチサイクル(M1サイクル)
 2.4.2 エクゼキューションサイクル

3. 機械語とアセンブリ言語
3.1 機械語とは
3.2 アセンブリ言語とは
3.3 命令とプログラム
演習問題

4. Z80アセンブリ言語仕様
4.1 ステートメントの構成
4.2 アセンブリプログラムの書き方・見方
4.3 定数
4.4 文字とラベル
4.5 オペコードとオペランド
4.6 疑似命令
演習問題

5. Z80命令セット
5.1 Z80命令セット概要
5.2 転送命令
5.3 算術演算命令
 5.3.1 8ビット演算命令
 5.3.2 16ビット演算命令
 5.3.3 インクリメントとデクリメント命令
5.4 論理演算命令
5.5 ローテート・シフト命令
 5.5.1 ビットごとの回転と移動
 5.5.2 4ビット単位の回転
5.6 ジャンプ命令とFレジスタ
 5.6.1 ジャンプ命令
 5.6.2 F(フラグ,flag)レジスタ
 5.6.3 特殊ジャンプ
5.7 サブルーチン命令
 5.7.1 サブルーチン関係命令
 5.7.2 PUSH,POP命令
5.8 ビット操作命令
5.9 入出力命令
 5.9.1 レジスタから一つのデータ(1バイト)を入出力する
 5.9.2 メモリから二つ以上のデータを一度に入出力する
5.10 ブロック関係命令
5.11 基本CPU制御命令
 5.11.1 CPU制御命令
 5.11.2 割込み関係命令
演習問題

II部 周辺LSIとC言語プログラミング

6. Cコンパイラ
6.1 C言語の必要性
6.2 Cコンパイラとは
6.3 SDCC
6.4 開発環境の導入
 6.4.1 必要なもの
 6.4.2 Z80系マイコンの紹介
 6.4.3 プログラミングの必要条件
演習問題

7. SDCC基本プログラミング
7.1 プログラミングの手順
7.2 C言語の基礎文法
 7.2.1 プログラムの記述
 7.2.2 関数
 7.2.3 ポインタ
 7.2.4 構造体とビットフィールド
7.3 レジスタ等におけるビット機能の定義方法
7.4 SDCCにおける制限
7.5 コンパイル
7.6 ライブラリとヘッダファイル
 7.6.1 ライブラリファイルの作成
 7.6.2 ヘッダファイルの作成
 7.6.3 メインプログラムでの記述
 7.6.4 ライブラリとメインプログラムの結合
7.7 変数の型,サイズ
7.8 ポートアドレス定義
7.9 インラインアセンブル
 7.9.1 インラインアセンブルとその必要性
 7.9.2 SDCCでの記述方法
 7.9.3 インラインアセンブリ文法
7.10 オプション一覧
演習問題

8. パラレル入出力
8.1 Z80-PIO
 8.1.1 Z84C20におけるアドレス割当て
 8.1.2 モード
 8.1.3 制御語レジスタ
 8.1.4 データレジスタ
8.2 8255A
 8.2.1 モード0(ハンドシェイクなし単方向入出力)
 8.2.2 モード1(ハンドシェイク付き単方向入出力)
 8.2.3 モード2(ハンドシェイク付き双・単方向入出力)
8.3 プログラミング
 8.3.1 Z80-PIOの場合
 8.3.2 8255Aの場合
演習問題

9. CTC
9.1 Z80-CTCの概要
9.2 チャネル制御語と時定数,カウント値,割込みベクトル
9.3 CTCのモード
 9.3.1 カウンタモード
 9.3.2 タイマモード
9.4 書込み手順
 9.4.1 フロー
 9.4.2 チャネル制御語の設定
 9.4.3 時定数の設定
 9.4.4 割込みベクトルの設定
9.5 プログラミング

10. シリアル入出力
10.1 シリアル入出力とは
10.2 Z84C15内蔵SIO,Z84C4xの概要
10.3 チャネルの初期設定
10.4 1バイトデータの送信
 10.4.1 送信バッファが空であることを確認
 10.4.2 データの送信
10.5 1バイトデータの受信
 10.5.1 受信有効の確認
 10.5.2 データの受信
10.6 プログラミング

11. 割込み
11.1 割込みとは
11.2 マスク可能な割込みとマスク不可能な割込み
11.3 割込みモード
 11.3.1 モード0
 11.3.2 モード1
 11.3.3 モード2
 11.3.4 割込みモードの指定
 11.3.5 割込みの許可,禁止
11.4 割込みルーチンの定義
11.5 Z80ファミリー周辺デバイスを使った割込み

12. 応用プログラミング
12.1 パソコン-マイコン間通信
 12.1.1 パソコンを使用したデバッグ環境構築
 12.1.2 ターミナルソフトを使用する
 12.1.3 エスケープシーケンスによるコンソール制御
12.2 Z84C15ライブラリ
12.3 LED点灯制御/スイッチ入力
12.4 ステッピングモータ制御
 12.4.1 ステッピングモータの概要
 12.4.2 制御方法
12.5 DCモータ制御
 12.5.1 正逆回転制御
 12.5.2 PWM制御
演習問題

13. 状態遷移表によるプログラミング
13.1 条件分岐の限界
13.2 ステートマシンの構成手順
 13.2.1 状態遷移図の作成
 13.2.2 状態遷移表の作成
 13.2.3 状態遷移表の配列化
 13.2.4 現在の状態を保持する変数を宣言する
 13.2.5 条件を決定する
 13.2.6 条件により,状態を遷移させる
 13.2.7 状態に応じて処理を分岐させる
13.3 「ステートマシン構成型プログラミング」を実践する
演習問題

引用・参考文献
演習問題解答

柚賀 正光(ユガ マサミツ)

千代谷 慶(チヨヤ ケイ)