簡単な組み込みプログラミング: カウンターとPWMをプログラムする方法

発行者

2番目のビデオでは、基本的なカウンターを使用した設計を紹介します。PWMを統合する方法と設計を構成する方法について学習します。

前のビデオでは、メイン ループで、各関数間で遅延を使用してLEDピンを駆動していました。これは貴重なリソースを無駄に消費するため、一般的には悪いスタイルです。LEDのオン/オフを切り替えるより良い方法は、PWM (パルス幅変調)、タイマー、カウンターを使用することです。

まず、基本的なカウンターを設計しましょう。基本カウンターのデータシートを開くと、基本カウンターは2ビットから32ビットのカウンターまでプログラム可能であることがわかります。カウンターの出力はバスです。バスのどのビットがLEDを駆動するかを選択できます。

私たちのプロジェクトでは、シンプルな2ビット カウンターが設計されています。つまり、4つの値は00、01、10、11で、その後00にロールオーバーします。プッシュ ボタンが入力クロックに接続され、LEDピンがカウンターのビット0に接続されている場合、ボタンが押されるたびにLEDが切り替わります。ユーザーがボタンを2回押してLEDを切り替えるようにしたい場合は、バスのライン1に接続するだけです。その場合、記述するコードはありません。したがって、マイクロコントローラをコンパイルしてフラッシュするだけで、LEDが切り替わります。

前回と同様に、スイッチ ボタンの代わりに、LEDを1 Hzで点滅させたいと思います。そのため、スイッチ ボタンの代わりに、クロック コンポーネントが基本カウンターのクロック入力に接続されます。デフォルトのクロックは48MHzで、最大65536で分割できます。したがって、10ビットカウンターとライン9に接続された赤色LEDを使用して1kHzクロックを構成することが可能です。2 10 = 1,024の場合、LEDは約1ヘルツで点滅します。 繰り返しますが、Cコードを書く必要はなく、マイクロコントローラをコンパイルしてプログラムするだけです。

より複雑で多用途なコンポーネントは、タイマー カウンターPWMコンポーネントを表すTCPWMです。PWMとして設定してみましょう。計算を簡単にするために、クロックは32kHz、PWMの周期は32,000カウント、PWMの比較は16,000に設定されます。TCPWMコンポーネントのライン出力は赤色LEDに接続されています。カウンター値が0と比較値の間にあるときはLEDはオフになり、カウンター値が比較値と期間値の間にあるときはLEDはオンになります。

今回は、1行のCコードが必要です。TCPWMコンポーネントはPWMという名前で、プロジェクトをビルドするとAPIが生成されます。APIに関するすべての情報はデータシートに記載されています。PWMを実行するには、関数PWM_Start() を呼び出す必要があります。 このプログラムをコンパイルすると、LEDが1 Hzで点滅します。周波数または比率を変更するには、周期と比較レジスタの値を変更するだけです。


最新ビデオ

Sorry, your filter selection returned no results.

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here