●ファイル一覧
ダウンロード・ファイルは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)
コンパイルすると絶対パスに書き換わる個所です。上の例のようにパスを削除(相対パス)にしておけば、移動、リネームが可能になるはずです。