R6522:DDRBが入力モードでも矩形波出力がされる。

JR-100ではR6522のPB7に生成される矩形波をスピーカーに接続し、音声出力として用いています。このR6522のPB7に矩形波を出力するための条件として、データシートには以下の記載があります。 A precaution to take in the use of PB7 as the timer output concerns the Data Direction Register contents for PB7.  Both DDRB bit 7 and ACR bit 7 must be 1 for PB7 to function as the timer output.  If … “R6522:DDRBが入力モードでも矩形波出力がされる。” の続きを読む

R6522:Timer1の1サイクルの長さ

R6522が持つ2つのタイマーのうちタイマー1は、設定した初期値(Nとする)の間隔でI/OポートBのPB7ピンの信号を反転させる機能を持っています。つまりNの値を変えることで任意の周波数の矩形波を出力できるのです。JR-100ではこれを利用して、PB7にスピーカーを接続していて、任意の音程の音を鳴らすことができます。 さて、R6522のデータシートによると、PB7の反転周期は初回がN+1.5サイクル、2回目以降はN+2サイクルとあります。図の説明ではタイマーが0になるたびに初期値Nがロードされデクリメントを続けるとあるので、一見するとNサイクル周期になるような気がします。それなのになぜなぜN+ … “R6522:Timer1の1サイクルの長さ” の続きを読む

R6522のシフトレジスタの挙動が分からない

R6522のシフトレジスタの挙動をデータシートをもとに調べていますが、理解できないところが多い。 モード0: SRが無効になるモードなのに、CB1の立ち上がりエッジでCB2にシフトアウトするように読める。(“In this mode the microprocessor can write or read the SR and the SR will shift on each CB1 positive edge shifting in the value on CB2”) モード1: T2カウンタの下位バイト(Nとする)のタイムアウトごとにシフトするはずだが、添えられ … “R6522のシフトレジスタの挙動が分からない” の続きを読む