1

私はPICマイクロコントローラーへの道を歩み始めています、そして私は簡単なことから始めたいと思います。すでに本を読んでみましたが、マイクロコントローラーの本というよりはCの本でした。ADC、タイマー、メモリバンクなどについて学びましたが、実際的な例はいくつか得られませんでした。

ピンの電圧をチェックしたり、 LEDをオンにしたりするための基本的な手順は何ですか?つまり、私はすべてのコードを要求しているのではなく、これらの基本的なタスクを実行する方法についてのガイドを要求しています。また、コードがマイクロコントローラーに依存していることを知っているので、16F628Aを使用しています。

4

2 に答える 2

4

このように LED を制御することは、マイクロコントローラーや電子機器に慣れるのに最適な方法です。データシートの読み方、低レベルのシステム構成の実行方法、電子回路の構築方法を学びます。しかし、既にご覧になっていると思いますが、最も単純なタスクであっても、最初は多少の調整と試行錯誤が必要です。幸いなことに、基本を理解すれば、同じ手法をマイクロコントローラーのクラス全体に適用でき、独自の関数ライブラリーを開発して、新しいプロジェクトの構築をますます簡単にすることができます。


16F628A にはメモリ マップド I/Oがあります。これは、その内部レジスタが特殊機能ピンの動作を制御することを意味します。

データシート(PDF) によると、28A には 2 つのアナログコンパレータがあります。各コンパレータは、28A の 3 つのピンに接続されています。入力には 2 つのピンが使用されます。比較する電圧に接続されています。3 番目のピンは出力に使用されます。コンパレータは、出力ピンの電圧を高くまたは低く設定することによって、どちらの入力電圧が高いかを示します。

28A には、別のピンに接続された基準電圧もあります。これにより既知の電圧が生成され、それをコンパレータ入力の 1 つに接続できます。テスト電圧をもう一方のコンパレータ入力に接続し、出力ピンを使用して LED を駆動します。次に、テスト電圧が基準よりも高い場合、LED がオンまたはオフになります。(28A は実際に構成可能です。どの条件で LED を点灯させるかを選択できます。)

データ シートには、コントロール レジスタに適切なビットを設定してコンパレータを構成する方法を示すアセンブリ コードが含まれています。

また、28A が LED を直接駆動できるかどうかも確認する必要があります。一部のデバイスには、適切な電流制限回路が内部に含まれています。それ以外の場合は、自分で提供する必要があります。

「16F628A アプリケーション ノート」(メーカーの提案) または「16F628A アプリケーション」(ユーザーが作成したアプリ) を Web 検索すると、うまくいくかもしれません。これは面白そうで、作者は彼のソフトウェアをあなたに電子メールで送信することを提案しています。たぶん、彼もいくつかのヒントを提供するでしょう。

幸運を!

于 2012-05-05T23:43:48.127 に答える
3

実際のコードは、使用しているコンパイラにわずかに依存し、ラッパー ライブラリを使用するかどうかに大きく依存します (ラッパーを呼び出すコードは、適切なレジスタを設定するよりも長くなることが多いため、お勧めしません)。

一般に、やりたいことは GPIO (汎用入出力) と呼ばれ、次のことを行う必要があります。

  1. GPIO ペリフェラル クロックが有効になっていることを確認します。PIC の場合、GPIO 用の個別のクロックがないため、ここでは何もしません。
  2. ピンを GPIO 機能用に構成します (ほとんどのピンには複数の目的があり、SPI コントローラー、アナログ - デジタル コンバーターなどに接続できます)。
  3. 出力端子の初期値を書き込みます。
  4. ピンの方向を設定します。(入力または出力)
  5. プルアップおよびプルダウン レジスタを構成するか、またはそれらを構成しません。
  6. 変更時の割り込みを構成します。(使いたい場合)
  7. 割り込みハンドラをインストールします。(使用している場合)PICは割り込みハンドラをメモリ内の特定の場所に配置するため、ここでは何も必要ありません。
  8. アプリケーションの必要に応じて GPIO ピンを読み書きします。
于 2012-05-05T23:45:11.693 に答える