回路的には入力の2本のラインが一旦NOTゲートを通っているだけで、後はフリップフロップと同じである。
入出力の対応表は次の通りである。
入力1 | 入力2 | 出力1 | 出力2 |
S | R | Q |  ̄Q |
H | H | 不定 | 不定 |
H | L | H | L |
L | H | L | H |
L | L | L | H |
RSフリップフロップのタイミングチャートは次のようになる。
現在の出力Q, ̄Qの状態をQn, ̄Qnとするとき、入力S,Rの状態により、出力は次の表のように変化する。ただし、Qn+1は変化後の出力Qの値である。即ち、S=0,R=0のとき出力は入力前の出力と同一、S=0,R=1のとき常にQn+1=0となる。また、S=1,R=0のときは、常にQn+1=1に設定される。S,Rが共に1となることは禁止されており、出力状態は定義されていない。
上の図を見るとわかるように、NANDゲートが2つ、NOTゲートが2つ必要となるが、実際には74LS00のICがひとつで十分である。なぜなら、74LS00にはNANDゲートが4つ組み込まれており、その中の2つをNOTゲート2つとして使えばよいのである。なお、NANDゲートをNOTゲートにするには入力のところを繋げればよいとすでに述べてある。
 ̄S【セットバー】は、「この入力が0のときに意味をなす」という意味する。また、Rに対しても ̄R【リセットバー】というのもある。Sを ̄S、Rを ̄Rと書き換えることができる。
つまりこれら ̄S、 ̄Rを利用すると次を意味する。
RSフリップフロップの状態遷移図
74HC00を使用して、RSフリップフロップの実験してみよう。74HC00の中にはNANDゲートが4つあるので、その中の2つを利用すればRSフリップフロップが実現できる。
回路図
回路図
TC74HC00APでRSフリップフロップを構成して、LEDの点灯によりデータが保持されているかをチェックする。回路図をみてわかるようにSW1とSW2は押しボタンであり、それを押し続けているときにLになり、離しているときにHになることに注意。
[1]SW2を押し続けた状態
H/Lの関係は次のようになるので、LEDが光るはずだ。
実際に実験するとLEDが光っていることがわかる。
[2]SW2を押してから離した状態
H/Lの関係は次のようになるので、LEDが光り続けるはずだ。
実際に実験するとLEDが光り続けていることがわかる。
[3]SW1を押し続けた状態
H/Lの関係は次のようになるので、LEDが消灯するはずだ。
実際に実験するとLEDが光り続けていることがわかる。
[4]SW1を押してから離した状態
H/Lの関係は次のようになるので、LEDが消灯し続けるはずだ。
実際に実験するとLEDが光り続けていることがわかる。
ポイントはスイッチを押していない状態であっても、押したときの状態を保持するということである。
チャタリングとは、機械式の接点スイッチでLを供給するような場合、接点は一挙動では接触しないのが普通で、数[μS]の間に、数回ON/OFFを繰り返す。その結果、幅の細い数発のパルスが発生し、これをチャタリングと呼び、デジタル回路では誤作動の原因となるので、チャタリング防止回路が重要となる。
例:RSフリップフロップを使って、エッジトリガ式Dフリップフロップのチャタリングを防止できる。 ◇