2012-03-24 31 views
-1

6 ledは、ランダムに点滅するようにプログラムする必要があります。合計3回点滅します。 6つのLEDのうち3つのLEDのどれかが点滅するはずです。ランダムに点滅するLED

私はアイデアを得ていません。どうすればいいですか。これを達成するために守らなければならないアルゴリズムや手順についてご案内してください。

コードはhc11用で、アセンブリーで記述する必要があります。

+1

2^6 = 64パターンあります。それらのサブセットのみが正確に3ビットが1に設定されています。それらのリストを書き留めて、そのリストを索引付けするランダムな整数を生成します。 –

答えて

1

私はあなたのデバイスの正確なスペックに精通していませんが、LEDの設定はちょっとした設定の問題です。 sudo-random numberジェネレータにアクセスできない場合は、乗算を混乱させ、サブレジスタの値を投げ捨てて安価なものにすることができます。 (試行錯誤すると、遠くに行くことができます。)生成するすべての値は、静的レコードを保持して次の値を設定する必要があります。あなたはmod/shift/etcすることができます。あなたがあなたのLEDの1つのためのビットの場所にダウンする任意の値。あなたの1をランダムなオフセットだけシフトして結果のランダムな位置にします。一度に3つのランダムなポジションをすべて必要とする場合は、ランダムポジションを3回見つけて、リピートを繰り返すかどうかを再試行し、結果をまとめてLED駆動値を取得してください。 (011010、100011、...)

これが役に立ちます。それはかなり基本的なエクササイズです。