HCS08の概要

【8 ビットHCS08 中央演算処理装置(CPU)】

【メモリ・オプション】

【低電力モード】

【クロック・ソース・オプション】

【システムの保護】

【ペリフェラル】

【入力/ 出力】

【開発サポート】

【パッケージ・オプション】

【各レジスタの指定方法】

HCS08マイコンをCodeWarrior で記述するとIO_MAP.hというヘッダファイルがリンクされます。
このヘッダファイルには下記のように指定したマイコンのペリフェラルに必要なレジスタが構造体として記述されています。
下記の例はMC9S08SH8のヘッダファイルの一部(PORTAデータレジスタ)です。
ポートAに8ビットデータを出力する場合はPTAD = 0xFF;と記述します。
ポートAの0ビット目だけをLowにする時はPTAD_PTAD0 = 0;と記述します。
マイコンに必要な全てのレジスタが定義されているので、他のレジスタについてもIO_MAP.hを確認して利用する事が出来ます。

/**************** registers I/O map ****************/

/*** PTAD - Port A Data Register; 0x00000000 ***/
typedef union {
byte Byte;
struct {
byte PTAD0 :1; /* Port A Data Register Bit 0 */
byte PTAD1 :1; /* Port A Data Register Bit 1 */
byte PTAD2 :1; /* Port A Data Register Bit 2 */
byte PTAD3 :1; /* Port A Data Register Bit 3 */
byte PTAD4 :1; /* Port A Data Register Bit 4 */
byte PTAD5 :1; /* Port A Data Register Bit 5 */
byte :1;
byte :1;
} Bits;
struct {
byte grpPTAD :6;
byte :1;
byte :1;
} MergedBits;
} PTADSTR;
extern volatile PTADSTR _PTAD @0x00000000;
#define PTAD _PTAD.Byte
#define PTAD_PTAD0 _PTAD.Bits.PTAD0
#define PTAD_PTAD1 _PTAD.Bits.PTAD1
#define PTAD_PTAD2 _PTAD.Bits.PTAD2
#define PTAD_PTAD3 _PTAD.Bits.PTAD3
#define PTAD_PTAD4 _PTAD.Bits.PTAD4
#define PTAD_PTAD5 _PTAD.Bits.PTAD5
#define PTAD_PTAD _PTAD.MergedBits.grpPTAD

#define PTAD_PTAD0_MASK 0x01
#define PTAD_PTAD1_MASK 0x02
#define PTAD_PTAD2_MASK 0x04
#define PTAD_PTAD3_MASK 0x08
#define PTAD_PTAD4_MASK 0x10
#define PTAD_PTAD5_MASK 0x20
#define PTAD_PTAD_MASK 0x3F
#define PTAD_PTAD_BITNUM 0x00

TOP BACK NEXT