●ファイル一覧

ダウンロード・ファイルはZIPで圧縮してあります。解凍するとCPU、言語ごと、章、プロジェクトごとのフォルダが展開されます。[Common]フォルダを除く、各フォルダには、ソース・ファイル、プロジェクト・ファイルのほか、Hexaファイル、absファイルなどの成果ファイルも含まれています。

全ダウンロード・ファイルの一覧は"FileTreeList.txt"にあります。

フォルダの構成は、次表のようになっています。

フォルダ一覧
H8アセンブリ言語 PICアセンブリ言語 PIC C言語
[PICASM]
  [031]
  [032]
  [051]
  [052]
  [06]
  [071]
  [072]
  [081]
  [082]
  [111]
  [112]
  [121]
  [122]
  [131]
  [132]
  [133]
  [134]
  [135]
  [136]
  [161]
  [Common]
[H8ASM]
  [041]
  [042]
  [051]
  [052]
  [081]
  [082]
  [091]
  [092]
  [093]
  [094]
  [101]
  [102]
  [121]
  [122]
  [131]
  [132]
  [133]
  [134]
  [135]
  [136]
  [Common]
[PICC]
  [141]
  [142]
  [143]
  [143s]
  [144]
  [144s]
  [145]
  [151]
  [152]
  [153]
  [154]
  [161]
  [171]
  [181]
  [Common]

フォルダ名の数字
左から2桁の数字は章番号、その次の数字は連番を表しています。([06]だけは連番なし)


●サブルーチン、関数一覧

アセンブリ言語のサブルーチン名、C言語の関数名の一覧を次表に示します。ソースファイルの拡張子は、PICアセンブリ言語版は"asm"、H8アセンブリ言語版は"mar"、PIC C言語版は"c"となっています。
これらのルーチン、関数は"Common"フォルダにまとめてあります。

サブルーチン、関数一覧
サブルーチン、関数名 説 明 備 考
AppFnc アプリケーション共通ルーチン C言語版なし
Delay ディレイ関係 C言語版なし
Hexa 16進数表示 C言語版なし
Key キー入力、スイッチ入力関係 C言語版なし
Lcd LCD表示関係 C言語版なし
ComFunc.c 共通関数 C言語版のみ
LCD_custom.c LCDドライバ(H/Wに合わせてカスタマイズ済み) C言語版のみ
I2CHM I2Cハードウェア制御マスタ・ドライバ  
I2CHS I2Cハードウェア制御スレーブ・ドライバ  
I2CSM I2Cソフトウェア制御マスタ・ドライバ C言語版なし
I2CSM2 I2Cソフトウェア制御マスタ・ドライバ (低速バージョン)(*1) C言語版なし
I2CSS I2Cソフトウェア制御スレーブ・ドライバ C言語版なし
SPIHMS SPIハードウェア制御マスタ/スレーブ・ドライバ PIC版のみ
SPISMS SPIソフトウェア制御マスタ/スレーブ・ドライバ  
OW 1-Wireソフトウェア制御マスタ・ドライバ  

(*1)対ソフトウェア制御I2Cスレーブ用に連想レートを落としたもの。このドライバを使うアプリケーションでは、転送バイト間に2ms程度のインターバルが必要。


●注意事項

CCSC本体やMPLAB、H8アセンブラなどはダウンロード・ファイルには含まれていませんので、各自ご用意ください。なお、H8のプログラムを再アセンブルしH8 CPUへプログラムを書き込む際には、H8アセンブラに付属する"hterm.exe"と"3664.mot"も必要です。

●PIC MPLABのプロジェクト・ファイルについて

MPLABがインストールされている環境により、MPLABのプロジェクト・ファイルがそのまま使えない場合がります。その場合は、テキスト・エディタでプロジェクト・ファイル("*.mcp")を修正してください。参考までに、修正個所を以下に示します。
なお、リンカ・スクリプトのパスの修正( の部分)は、MPLAB上で、プロジェクト・ウィンドから一旦"16f877a.lkr"を登録解除したあとで、再設定しても構いません。

"main071.mcp"の場合

  [HEADER] magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} file_version=10.
  [PATH_INFO] dir_src= dir_bin= dir_tmp= dir_sin= dir_inc= dir_lib= dir_lkr=
  [CAT_FILTERS] filter_src=*.asm
  filter_inc=*.h;*.inc
  filter_obj=*.o
  filter_lib=*.lib
  filter_lkr=*.lkr
  [OTHER_FILES]
  file_000=no
  file_001=no
  file_002=no
  file_003=no
  file_004=no
  file_005=no
  file_006=no
  file_007=no
  [FILE_INFO]
  file_000=..\Common\AppFnc.asm
  file_001=..\Common\Hexa.asm
  file_002=..\Common\Key.asm
  file_003=..\Common\I2CHM.asm
  file_004=..\Common\Lcd.asm
  file_005=main071.asm
  file_006=..\Common\Delay.asm
  file_007=c:\Program Files\Microchip\MPASM Suite\LKR\16f877a.lkr
  [SUITE_INFO]
  suite_guid={6B3DAA78-59C1-46DD-B6AA-DBDAE4E06484}
  suite_state=
  [TOOL_SETTINGS]
  (以下省略)

 の部分はMPLABがインストールされているフォルダにより変わります。使用環境に合わせて修正する必要があります。

 の部分はダウンロード・ファイルでは相対パスに修正してありますが、一旦MPLABでアセンブルすると、使用環境に合わせて絶対パスに書き換わります。プロジェクト・フォルダを移動したり、リネームする場合はこの部分を修正する必要があります。

もし、これでうまくいかない場合は、MPLAB上でプロジェクトに含まれるソース・ファイルの登録を一旦解除してから、再設定する必要があります。プロジェクト・ウィンドゥの例を次に示します。


●PIC CCS-Cのプロジェクト・ファイルについて

CCSCのバージョンによっては、プロジェクト・ファイル("*.pjt")内で、ソース・ファイルが絶対パスで指定されている場合があります。ダウンロード・ファイルでは相対パスに修正してありますが、一旦コンパイルすると、絶対パスに戻ってしまいます(CCSCのバージョンにより違いあり)。プロジェクト・フォルダを移動したり、リネームする場合は、テキストファイルでプロジェクト・ファイルを書き換える必要があります。参考までにプロジェクト・ファイルの例を以下に示します。

"main181.pjt"の場合

  [PROJECT]
  Target=main181.HEX
  Development_Mode=
  Processor=0x877A
  ToolSuite=CCS
  
  [Directories]
  Include=C:\Program Files\CCSC\devices\;C:\Program Files\CCSC\dr
  Library=
  LinkerScript=
  
  [Target Data]
  FileList=main181.c
  BuildTool=C-COMPILER
  OptionString=+FM
  AdditionalOptionString=
  BuildRequired=1
  
  [main181.c]
  Type=4
  Path=
  FileList=
  BuildTool=
  OptionString=
  AdditionalOptionString=
  
  [mru-list]
  1=main181.c
  
  [Windows]
  0=0000 main181.c 0 0 796 451 3 0
  
  [Opened Files]
  1=main181.c
  2=
  3=
  4=
  5=
  [Units]
  Count=1
  1=main181.c (main)

 コンパイルすると絶対パスに書き換わる個所です。上の例のようにパスを削除(相対パス)にしておけば、移動、リネームが可能になるはずです。