4.2.1 全チャンネル共通の設定をするコントロールレジスタ



CH0〜CH4の全チャンネルに共通する設定を行うコントロールレジスタは6つあります.

アドレス名称略称R/W初期値
H'FF60 タイマスタートレジスタ TSTR R/W H'E0
H'FF61タイマシンクロレジスタTSNCR/WH'E0
H'FF62 タイマモードレジスタ TMDR R/W H'80
H'FF63タイマファンクションコントロールレジスタTFCRR/WH'C0
H'FF90タイマアウトプットマスタイネーブルレジスタTOERR/WH'FF
H'FF91タイマアウトプットコントロールレジスタTOCRR/WH'FF

その中のタイマスタートレジスタ,タイマモードレジスタの2つについて説明します.

a) TMDR(タイマモードレジスタ)(H'FFFF62)

 ITUのそれぞれのチャネル(CH0〜CH4)に対し,動作モードを設定するレジスタです.PWMモードを設定するビットや,CH2の位相計数モードなどを設定するビットを併せ持っています.それぞれのチャネルに対し,PWM欄(CH0ならPWM0,CH1ならPWM1)を1にセットすると,対応するチャネルがPWMモードに設定されます.本実験では位相係数モードなどは使用しないので,MDF(位相係数モード),FDIR(フラグディレクション)は0にセットします.

Bit 7 6 5 4 3 2 1 0
略称 - MDF FDIR PWM4 PWM3 PWM2 PWM1 PWM0
初期値 1 1 1 0 0 0 0 0
例:CH0のみをPWMモードに設定 1 0 0 0 0 0 0 1
例:CH0〜3をPWMモードに設定 1 0 0 0 1 1 1 1
プログラム例)

MOV.B #B'10000001,R0L ;TMDRにB'10000001を入れます
MOV.B R0L, H'FFFF62 ;PWM0に1を入力し,CH0をPWMモードに設定します

位相係数(MDF)
2つの外部クロック入力の位相差でカウンタ(TCNT2)がアップ/ダウン動作させるモードです.位相計数モードはチャネル2 のみがもつ機能です.
フラグディレクション(FDIR)
カウンタTCNT2がオーバーフローしたときにオーバーフローフラグを1にセットします.

これらMDF,FDIRは本実験では使用しないので,0にセットします.

b) TSTR(タイマスタートレジスタ)(H'FFFF60)

CH0〜CH4のカウンタTCNTに対し,カウント動作の開始/停止を設定します.STR0〜STR4がCH0〜CH4に対応しており,それぞれのチャネルに対応するSTRに1をセットすると,対応するカウンタTCNTがカウント動作を開始します.0をセットするとカウント動作が停止されます.

Bit 7 6 5 4 3 2 1 0
略称 - - - STR4 STR3 STR2 STR1 STR0
初期値 1 1 1 0 0 0 0 0
例:CH0のみカウンタ動作を開始する 1 1 1 0 0 0 0 1
プログラム例)

MOV.B #B'11100001,R0L ;TSTRにB'11100001をいれます
MOV.B R0L, H'FFFF60 ;STR0に1を入力し,カウンタTCNT0のカウント動作を開始します

 


[山口研究室] <back | index | next >