AVRコントローラー。 AVR - それは何ですか? 自動予約エントリーの割り当て。 AVRはどのように機能しますか?
電力供給源は完全に信頼できるものではなく、時にはオフラインになることがあり、消費財に悪影響を及ぼします。 これは重要なデバイスには受け入れられないため、2 つ以上の追加の電源から電力が供給されます。 それらを接続する場合は、ATS デバイスが使用されます。 これが何であるかは、「予備の自動入力」という略語の解読によって説明されます。 これは、2 つ以上の電源入力を持つ消費者への無停電電源装置を作成する方法です。 これは、メイン入力が失われた場合にバックアップ入力が自動的に接続されることによって保証されます。
両方の電源を同時に接続できます。 この方法の欠点は、短絡電流が大きいこと、損失が大きいこと、およびネットワークの保護が複雑であることです。 予備は通常、主電源をオフにするスイッチング デバイスを使用して導入されます。 予備電力は負荷に対応する必要があります。 それが十分でない場合は、最も重要なコンシューマのみが接続されます。
ATSの要件
- トリガー後のリザーブの素早い導入
- 短絡を除き、停電が発生した場合は常にオンになります。
- 消費者側で強力な負荷を起動するときの電圧降下に対する応答の欠如。
- 1 回限りの操作。
分類
デバイスは動作原理に応じて分類されます。
- 一方的。 回路には、電源とバックアップの 2 つのセクションが含まれています。 後者は主電圧が失われたときに接続されます。
- 両面。 どの回線も現用またはバックアップのいずれかになります。
- 回復可能なAVR。 主電源が復旧すると自動的に前回路が動作し、バックアップ回路がオフになります。
- 自動回復はありません。 主電源による動作モードは手動で設定します。
AVRの動作原理
低電圧ネットワークでは、保護回路(ATS回路など)の電圧を制御する特別なリレーを使用すると便利です。 すべての機器が頻繁な電源切り替えに耐えられるわけではないため、ここでは ATS が推奨されます。 AVRとはどのようなものですか? それは何ですか?またどのように機能しますか? このデバイスは、簡単な図からはっきりとわかります。
- リレーEL-11は三相電圧を制御し、相の不均衡、断線、交流を監視します。
- 負荷の接続には強力な接点を備えた電磁リレーが使用されます。 通常モードでは、メイン入力コイルはそこから電力を供給され、その接点 KM 1 を使用して電源を負荷に接続します。
- 主回路の電圧がなくなるとリレーKM1がOFFし、バックアップ入力に接続されているリレーKM2のコイルに電力が供給されます。
この ATS 回路は、スイッチング負荷が数十キロワットに達する個人の家庭、工業用および管理用の建物で使用できます。 この方式の欠点は、大電流用のリレーの選択が複雑なことです。 低電力消費者のスイッチングには依然として適していますが、重負荷の場合は、ATS スターターまたはトライアックを使用することをお勧めします。
追加の動力源として欠かせないのはガソリンですが、後者は効率と出力が大きいため広く使用されています。 市場では、幅広い高過負荷保護システムが提供されています。
AVRの動作
AVRはどのように機能しますか? 需要家への電力供給の信頼性はどの程度なのでしょうか? デバイスは 3 つのカテゴリに分類されます。 住宅の電力供給は最も低い部類に入ります。 電源に頻繁に障害が発生する場合は、家庭用電化製品の耐久性と快適な生活条件がこれに依存するため、家に予備を設置することをお勧めします。 無停電電源装置は、主に電子機器に使用されるバッテリーを使用してアパートに設置されています。 発電機は個人家庭のバックアップ電源として最も一般的です。
最も単純な形式では、ガソリン発電機が切り替えスイッチを介して家の電源に接続されます。 これにより、住宅への自動電源がオフになっていないときにリザーブを誤って入力した場合のショートを防止します。 スイッチは 3 つの位置から選択され、中央の位置では電気が完全に遮断されます。
発電機に自動始動装置を装備し、入力を切り替えるコンタクタを使用してキャビネットから制御する場合は、ATS を自動モードで自分で設置することができます。 オートメーションは、Easy リレー コントローラーなどのマイクロプロセッサ制御で動作します。 ATS リザーブの入力には電圧センサーが使用されます。 電源を切るとすぐに発電機のエンジンが始動します。 動作モードに達するまでにはしばらく時間がかかり、その後、ATS が負荷を予約に切り替えます。 このような遅延は国内のニーズにとっては許容されます。
自動発電機始動ユニット(BAZG)
AVR は、停電時にバックアップ発電機の起動と制御を確実に行う個人向け家庭用システムです。 後者には特別な BAZG ユニットが装備されており、メインネットワークで停電が発生した場合の安価なソリューションです。 主入力電圧がなくなった後、各間隔で 5 秒以内に 5 回の起動試行を行います。 また、エアダンパーを制御し、起動時にエアダンパーを閉じます。
メイン入力に電圧が再び現れると、装置は負荷を元に戻し、発電機エンジンを停止します。 発電機がアイドル状態のとき、燃料供給は電磁弁によって遮断されます。
民家のAVRの特徴
最も一般的な方法は 2 つの入力を使用し、最初の入力が優先されます。 ネットワークに接続されている場合、家庭用負荷はほとんどが 1 相で動作します。 それが消えた場合、発電機を接続するのが必ずしも便利であるとは限りません。 バックアップとして別の回線を接続するだけで十分です。 三相入力の場合、電力は各相のリレーによって制御されます。 電圧が通常の範囲を超えると、相コンタクタがオフになり、残りの 2 つの相から住宅に電力が供給されます。 別のラインに障害が発生した場合、負荷全体が 1 つのフェーズに再配分されます。
小さなコテージやダーチャの場合、25 kWで動作するパネルに出力10 kW以下のディーゼル発電機セットが使用されます。 このような発電機は、住宅に短時間必要な最小限の電力を供給するのに十分です。 緊急事態が発生した場合、電圧制御リレーは消費者バスをバックアップ電力に切り替え、ディーゼル発電機セットを起動する信号を送信します。 主電源が復旧するとリレーが切り替わり、発電機が停止します。
ATS機能の拡充
選択したアルゴリズムを制御するには、プログラマブル ロジック コントローラー (PLC) が使用されます。 これらにはすでに ATS プログラムが含まれており、1 つまたは別の動作モードを実装するように構成するだけで済みます。 AC500コントローラなどのPLCを使用すると、一見複雑な装置でも電気回路を簡素化することができます。 ATS 制御は、スイッチ、ボタン、表示のセットの形で配電盤のドアに配置できます。
標準ソリューションにはすでにソフトウェアが含まれています。 PLCに搭載されています。
結論
電源の故障は消費者にとってさまざまなマイナス現象を引き起こす可能性があります。 ほとんどのユーザーは ATS について漠然とした知識しか持っていません。 多くの人はそれが何であるかさえ知らず、まったく異なる目的を目的としたデバイスと誤解しています。 電気機器は高価であるため、適切な自動切替スイッチを選択することが重要です。 これには専門家のアドバイスが必要になります。 ATS を使用すると、一定の電力供給が重要な家庭用電化製品やオブジェクトのパフォーマンスを向上させることができます。
マイクロコントローラー (以下、MK と呼びます) は私たちの生活にしっかりと浸透しており、インターネット上では、MK で実行される興味深い回路がたくさん見つかります。 MKで組み立てられないもの:各種指示計、電圧計、家電製品(保護装置、開閉装置、温度計など)、金属探知機、各種玩具、ロボットなど。 リストには非常に長い時間がかかる場合があります。 5、6 年前にラジオ雑誌でマイクロコントローラーの最初の回路を見たとき、すぐにページをめくり、「まだ組み立てられないな」と思いました。 実際、当時、私にとって MK は非常に複雑で誤解されていたデバイスであり、MK がどのように機能するのか、フラッシュする方法、ファームウェアが正しくない場合にどうすればよいのか全く分かりませんでした。 しかし、約 1 年前、私は初めて MK で最初の回路を組み立てました。それは、7 セグメント インジケーターと ATmega8 マイクロコントローラーに基づくデジタル電圧計回路でした。 たまたまマイコンを買ったのですが、ラジオ部品売り場に立っていると、前の人がMKを買っていたので、自分も買って組み立ててみることにしました。 私の記事でお伝えします AVRマイクロコントローラー、私はそれらを扱う方法を教えます、ファームウェアのプログラムを見ていきます、シンプルで信頼できるプログラマーを作ります、ファームウェアのプロセス、そして最も重要なことに、そうでないときに発生する可能性のある問題を見ていきます。初心者のみ。
AVR ファミリの一部のマイクロコントローラの基本パラメータ:
マイクロコントローラー |
フラッシュメモリー |
RAMメモリ |
EEPROMメモリ |
I/Oポート |
ユーパワー |
|
AVR mega MK の追加パラメータ:
動作温度: -55…+125*С
保管温度: -65…+150*С
GNDに対するRESETピンの電圧:最大13V
最大供給電圧: 6.0V
最大I/Oライン電流: 40mA
最大電源電流 VCC および GND: 200mA
ATmega 8X モデルのピン配置
ATmega48x、88x、168x モデルのピン配列
ATmega8515xモデルのピン配置
ATmega8535xモデルのピン配置
ATmega16、32xモデルのピン配置
ATtiny2313モデルのピン配置
一部のマイクロコントローラーのデータシートを含むアーカイブが記事の最後に添付されています。
MK AVR 取り付け FUSE ビット
プログラムされたヒューズは 0、プログラムされていないヒューズは 1 であることに注意してください。ヒューズを設定するときは注意が必要です。正しくプログラムされていないヒューズはマイクロコントローラをブロックする可能性があります。 どのヒューズをプログラムする必要があるかわからない場合は、初めてヒューズを使用せずに MK をフラッシュすることをお勧めします。
アマチュア無線家の間で最も人気のあるマイクロコントローラは ATmega8 で、ATmega48、16、32、ATtiny2313 などが続きます。 マイコンは TQFP パッケージと DIP パッケージで販売されていますが、初心者の場合は DIP で購入することをお勧めします。 TQFP を購入する場合、フラッシュするのはさらに問題があり、ボードを購入するかはんだ付けする必要があります。 彼らの足は互いに非常に近い位置にあります。 DIP パッケージのマイクロコントローラーを特別なソケットに取り付けることをお勧めします。これは便利で実用的です。MK を再フラッシュしたり、別の設計に使用したりする場合に、MK のはんだを外す必要はありません。
ほとんどすべての最新の MK は、インサーキット ISP プログラミング機能を備えています。 マイクロコントローラーがボードにはんだ付けされている場合、ファームウェアを変更するためにボードからマイクロコントローラーをはんだ付けする必要はありません。
プログラミングには 6 つのピンが使用されます。
リセット- MKにログイン
VCC- プラス電源、3 ~ 5V、MK に依存
グランド- コモンワイヤ、マイナス電源。
モシ- MK入力(MKの情報信号)
味噌・MK出力(MKからの情報信号)
SCK- MK 入力 (MK のクロック信号)
場合によっては、ピン XTAL 1 および XTAL2 も使用します; MK が外部発振器によって電力供給されている場合、これらのピンには水晶が取り付けられます; ATmega 64 および 128 では、MOSI ピンと MISO ピンは ISP プログラミングに使用されません; 代わりに、MOSI ピンははピン PE0 に接続され、MISO はピン PE1 に接続されます。 マイクロコントローラーをプログラマーに接続するときは、接続ワイヤをできるだけ短くする必要があり、プログラマーから LPT ポートまでのケーブルも長すぎないようにする必要があります。
マイクロコントローラーのマーキングには、Atmega 8L 16PU、8 16AU、8A PU などの奇妙な文字と数字が含まれている場合があります。文字 L は、MK が文字 L のない MK よりも低い電圧 (通常は 2.7 V) で動作することを意味します。 ハイフンまたはスペース 16PU または 8AU の後の数字は、MK 内のジェネレーターの内部周波数を示します。 ヒューズが外部クォーツから動作するように設定されている場合、クォーツはデータシートに従って最大周波数を超えない周波数に設定する必要があります。ATmega48/88/168 では 20 MHz、他の atmega では 16 MHz です。
LED を点滅させるというタスクが与えられたとします。
この問題を解決する方法について説明しましょう。
オプション 1 は最も簡単です。トグル スイッチ/ボタンを使用し、スレーブを隣に置き、スレーブがトグル スイッチを使用して LED のオン/オフを切り替えます。 通常、ロシアではほとんどの問題はこの方法で解決されます。 そして、点滅とは何ですか?)))
オプション 2 - マルチバイブレーターを組み立てます。 すでにさらに面白くなりました。 点滅させるには、LED を 1 つ使用するのが非常に良い解決策です。 しかも、簡単、安価、信頼性が高いです。
オプション 3 - マイクロコントローラー上でアセンブルします。 マルチバイブレーターを組み立てるよりも高価ですが、私の意見では簡単です。 プログラムを書いて実行し、結果を得ました。 セットアップはありません。 もちろん、これは理想的なケースです。
では、タスクを複雑にしてみましょう。 たとえば、5 つの LED とその点滅の 5 つのオプション (点滅の速度と順序の変更)。 最初のオプションはすぐに消えます。方法 2 も実行できますが、デバイスのサイズが急激に増加します。 オプション 3 のサイズはほぼ同じで、数行のコードを追加するだけです。 したがって、マイコンがないと不可能な場合と、余計な場合とが異なります。 したがって、人件費、時間、財務コストを常に見積もってください。
つまり、マイクロコントローラーを使用すると、システムやプロセスなどを柔軟に管理でき、サイズが小さく、機能的にはミニコンピューターになります。 マイクロコントローラーはさまざまな会社によって製造されています。 Atmel の AVR マイクロコントローラーの種類の 1 つ。 なぜ彼らなのか? これらはストアで非常に簡単に見つけることができ、既製のコードの例も簡単に見つけることができ、組み込みの機能により複雑な問題も解決できます。
マイクロコントローラーがマイクロコントローラーに何を求めているかを理解するには、ファームウェアをマイクロコントローラーにロードする必要があります。これは、マイクロコントローラーが実行する必要のある一連のアクションです。 ファームウェアは 1 と 0 の連続です。 それをより便利にするために、プログラミング言語が発明されました。 たとえば、「turn on」と書くと、コンパイラー自体がそれを、マイクロコントローラーが理解できる 1 と 0 のシーケンスに変換します。 この図は、メモ帳を使用して開いた場合の HEX ファームウェアを示しています。
マイクロコントローラーは通常、C またはアセンブリ言語でプログラムされます。 基本的に、何を書くかに違いはありません。 既成のサンプルが多数あるため、私は C を選択しました。 さらに、C で記述できるプログラムがいくつかあります。 たとえば、無料のブランドAVR Studio、CodeVision、WinAVRなどです。 私は CodeVision で書いていますが、AVR Studio をデバッガとして積極的に使用しています。
少なくともこのことの一部があなたに明らかになったと思います。 私の考えでは、一番難しいのは最初の一歩を踏み出すことです。 それを実行し、恐怖心と怠惰を克服した人は、必ず結果を達成します。 マイクロコントローラーの学習を頑張ってください。
AVRマイコンの学習と実践的なプログラミングのためのすべて: 文献、ソフトウェア、回路、設計
アマチュア無線家の皆さん、こんにちは!
ウェブサイト「」へようこそ
サイトのこのセクションは次のことに特化しています マイクロコントローラー。 個人的な好み (だけではありません) により、主にマイクロコントローラーを備えたアマチュア無線デバイスに重点が置かれます。 ATMEL の AVR Tiny および Mega ファミリ。 ATMEL マイクロコントローラーは最も普及しているわけではありませんが、他のマイクロコントローラーとは異なるいくつかの重要な利点があります。 さらに、AVR ファミリのマイクロコントローラは、デバイスのシンプルさと多用途性、さまざまなタイプのコントローラの構造の連続性、および回路設計のシンプルさにより、初心者のアマチュア無線家に適しています。 将来的には、このサイトでは、Tiny および Mega ファミリの AVR マイクロコントローラの構造と回路の特徴、主な機能の使用法などの詳細な研究を含む、主に初心者のアマチュア無線家を対象とした一連の記事を公開する予定です。機能とアセンブラでのプログラミング。
シングルチップ マイクロコントローラーは、測定器、カメラ、ビデオ カメラ、プリンター、スキャナー、コピー機からエレクトロニクス エンターテイメント製品、あらゆる種類の家電製品に至るまで、幅広い分野で広く使用されています。
1970 年代に最初のマイクロプロセッサが導入されて以来、新しいハードウェア ソリューションの導入や、新しい問題を解決するために設計された新しい命令の追加により、その複雑さは継続的に増加してきました。 このようにしてアーキテクチャは徐々に発展し、後に CISC (完全命令セット コンピュータ - 複雑な命令セットを備えたコンピュータ) という名前が付けられました。 その後、別の方向性が現れ、活発な開発が行われました。 それは、RISC アーキテクチャ (縮小命令セット コンピュータ - 命令セットが縮小されたコンピュータ) です。 このアーキテクチャには、本書で取り上げる Atmel の AVR マイクロコントローラと Microchip の PIC が含まれています。
RISC プロセッサの主な利点は、プロセッサがシンプルで、限られた命令セットを実行するため、非常に高速であることです。 これにより、プログラミングのコストと複雑さが軽減されます。
RISC アーキテクチャの欠点は、CISC デバイスのハードウェアに実装される追加の命令をアセンブリ言語で作成する必要があることでした。 たとえば、CISC デバイスで一般的な除算命令を単純に呼び出す代わりに、RISC プロセッサを扱う設計者は、複数の連続した減算命令を使用する必要があります。 ただし、この欠点は、RISC デバイスの価格と速度によって十分に補われます。 さらに、C でプログラムを作成する場合、そのような問題は、不足しているアセンブリ コードをすべて自動的に生成するコンパイラによって解決されるため、開発者にとってはまったく重要ではなくなります。
マイクロプロセッサの黎明期には、ソフトウェア開発は特定のデバイスに焦点を当てた 1 つまたは別のアセンブリ言語のみで行われていました。 本質的に、そのような言語は対応する機械コードの記号ニーモニックであり、ニーモニックの機械コードへの翻訳は翻訳者によって実行されました。 ただし、アセンブリ言語の主な欠点は、それぞれの言語が特定のタイプのデバイスとその操作ロジックに関連付けられていることです。 さらに、アセンブラは習得が難しく、習得には多大な労力が必要であり、さらに、後で他のメーカーのマイクロコントローラの使用に切り替える必要が生じた場合、その努力は無駄になることがわかります。
C 言語は高級言語であるため、そのような欠点がなく、C コンパイラが備わっているあらゆるマイクロプロセッサのプログラムに使用できます。C 言語では、コンピュータによって実行されるすべての低レベル操作は次の形式で表現されます。抽象的な構造を使用するため、開発者はマシンコードを気にせずに 1 つのロジックのみのプログラミングに集中できます。 C を学習すると、あるマイクロコントローラー ファミリから別のマイクロコントローラー ファミリに簡単に移行でき、開発にかかる時間を大幅に短縮できます。
AVRおよびPICマイクロコントローラアーキテクチャ
一般に、すべてのマイクロコントローラーは同じスキームに従って構築されます。 プログラム カウンタとデコード回路で構成される制御システムは、プログラム メモリからの命令の読み取りとデコードを実行し、オペレーティング デバイスは算術演算と論理演算を実行します。 I/O インターフェイスにより、周辺機器とデータを交換できます。 最後に、プログラムとデータを保存するためのストレージ デバイスが必要です (図 1.1)。
米。 1.1. 一般化されたマイクロコントローラーの構造
ここでは、特定の種類の AVR マイクロコントローラに縛られることなく、一般的なマイクロコントローラを検討します。そのため、以下では、ほとんどのマイクロコントローラに共通するメモリ アーキテクチャの機能、入出力、割り込み処理、リセットなどの問題についてのみ検討します。
AVRマイコンメモリ
AVRマイクロコントローラでは、メモリはハーバードアーキテクチャに従って実装されており、これは命令メモリとデータメモリの分離を意味します。 これは、コマンドがデータ アクセスとは独立してアクセスされることを意味します。 この構成の利点は、メモリ アクセス速度の向上です。
データメモリ
データメモリは、プログラムで使用されるデータの書き込み/読み取りのために設計されています。 これは揮発性です。つまり、マイクロコントローラーの電源がオフになると、そこに保存されているすべてのデータが失われます。 図に示すように、AVR マイクロコントローラでは、データ メモリは PIC マイクロコントローラと比較してより発展した構造になっています。 2.1.
米。 2.1. AVRおよびPICマイクロコントローラのデータメモリ構造
SRAM (スタティック ランダム アクセス メモリ) 領域を図に示します。 2.1 はすべての AVR マイクロコントローラで使用されるわけではないため、点線で表示されます (これは内部 SRAM と外部 SRAM の両方に当てはまります)。 開始アドレスは 0x060 で、その先頭アドレスはデバイスごとに異なります。
一部のAVRマイクロコントローラでは、外部メモリブロックを最大64KBまで接続することでSRAMメモリ空間を増やすことができますが、これにはポートAとCを犠牲にする必要があり、この場合はデータとアドレスの転送に使用されます。
汎用レジスタ
汎用レジスタ領域 (作業レジスタ) は、プロセッサがプログラムを実行するために使用する変数とポインタを一時的に保存することを目的としています。 AVRマイクロコントローラでは、32個の8ビットレジスタ(アドレス範囲0x000~0x01F)で構成されます。 PIC マイクロコントローラの汎用レジスタも 8 ビットですが、その数とアドレス範囲はデバイスの特定のタイプによって異なります。
C で書かれたプログラムでは、アセンブリ言語コードが使用されない限り、汎用レジスタへの直接アクセスは通常必要ありません。
PICマイコンの特殊機能レジスタ
特殊機能レジスタは、PIC マイクロコントローラでさまざまな動作を制御するために使用されます。 汎用レジスタと同様に、レジスタの数とアドレス指定はデバイスごとに異なります。 C で書かれたプログラムでは、アセンブリ言語フラグメントが使用されない限り、通常、特殊関数レジスタに直接アクセスする必要はありません。
AVRマイコンのI/O領域
AVRマイクロコントローラのI/O領域には、周辺デバイスの制御またはデータの保存に使用される64個のレジスタが含まれています。 これらの各レジスタには、I/O アドレス (0x000 で始まる) または SRAM アドレス (この場合、I/O アドレスに 0x020 を追加する必要があります) によってアクセスできます。 C プログラムは通常、従来の I/O レジスタ名を使用し、アドレスはアセンブリ言語プログラムにとってのみ意味を持ちます。
AVRマイクロコントローラのI/O領域のレジスタの名前、I/OおよびSRAMアドレス、およびレジスタの簡単な説明を表に示します。 2.1. マイクロコントローラーのさまざまなモデルでは、リストされているレジスターの一部は使用されず、アドレスは表にリストされていないことに注意してください。 2.1 は、将来の使用のために Atmel によって予約されています。
表2.1。 I/Oエリアのレジスタの説明
レジスタ名 | I/Oアドレス | SRAMアドレス | 説明 | |
ACSR | 0x08 | 0x28 | アナログコンパレータ制御およびステータスレジスタ | |
UBRR | 0x09 | 0x29 | UARTボーレートレジスタ | |
UCR | 0x0A | 0x2A | UART トランシーバー制御レジスタ | |
ソ連 | 0x0V | 0x2V | UART トランシーバー ステータス レジスタ | |
UDR | 0х0С | 0x2С | UART トランシーバー データ レジスタ | |
SPCR | 0x0D | 0x2D | SPIインターフェース制御レジスタ | |
SPSR | 0x0E | 0x2E | SPIインターフェースステータスレジスタ | |
SPDR | 0x0F | 0x2F | SPIデータI/Oレジスタ | |
ピンド | 0x10 | 0x30 | ポート D ピン | |
DDRD | 0x11 | 0x31 | ポート D データ方向レジスタ | |
ポートド | 0x12 | 0x32 | ポートDデータレジスタ | |
ピンク | 0x13 | 0x33 | ポート C ピン | |
DDRC | 0x14 | 0x34 | ポート C データ方向レジスタ | |
ポートC | 0x15 | 0x35 | ポートCデータレジスタ | |
PINB | 0x16 | 0x36 | ポート B ピン | |
DDRB | 0x17 | 0x37 | ポート B データ方向レジスタ | |
ポートB | 0x18 | 0x38 | ポートBデータレジスタ | |
ピナ | 0x19 | 0x39 | ポートAピン | |
DDRA | 0x1A | 0x3A | ポートAデータ方向レジスタ | |
ポルタ | 0x1V | 0x3V | ポートAデータレジスタ | |
EECR | 0x1С | 0x3С | EEPROMメモリ制御レジスタ | |
EEDR | 0x1D | 0x3D | EEPROMデータレジスタ | |
イアール | 0x1E | 0x3E | EEPROMメモリアドレスレジスタ(下位バイト) | |
イーアー | 0x1F | 0x3F | EEPROMメモリアドレスレジスタ(上位バイト) | |
WDTCR | 0x21 | 0x41 | ウォッチドッグタイマ制御レジスタ | |
ICR1L | 0x24 | 0x44 | ||
ICR1H | 0x25 | 0x45 | タイマ/カウンタ キャプチャ レジスタ T/C1 (下位バイト) | |
OCR1BL | 0x28 | 0x48 | タイマT/C1の比較レジスタB(下位バイト) | |
OCR1BH | 0x29 | 0x49 | タイマT/C1の比較レジスタB(上位バイト) | |
OCR1AL | 0x2A | 0x4A | タイマT/C1の比較レジスタA(下位バイト) | |
OCR1AH | 0x2V | 0x4V | タイマT/C1の比較レジスタA(上位バイト) | |
TCNT1L | 0x2С | 0х4С | タイマ/カウンタT/C1のカウントレジスタ(下位バイト) | |
TCNT1H | 0x2D | 0x4D | タイマ/カウンタT/C1のカウントレジスタ(上位バイト) | |
TCCR1B | 0x2E | 0x4E | タイマ/カウンタT/C1の制御レジスタB | |
TCCR1A | 0x2F | 0x4F | タイマ/カウンタT/C1の制御レジスタA | |
TCNT0 | 0x32 | 0x52 | タイマ/カウンタT/C0のカウントレジスタ | |
TCCR0 | 0x33 | 0x53 | タイマ/カウンタ制御レジスタ T/C0 | |
MCUCR | 0x35 | 0x55 | マイコン制御レジスタ | |
TIFR | 0x38 | 0x58 | タイマ/カウンタ割り込みフラグレジスタ | |
ティムスク | 0x39 | 0x59 | タイマー割り込みマスクレジスタ | |
GIFR | 0x3A | 0x5A | 汎用割り込みフラグレジスタ | |
ギムスク | 0x3V | 0x5V | 汎用割り込みマスクレジスタ | |
SPL | 0x3D | 0x5D | スタックポインタ(下位バイト) | |
SPH | 0x3E | 0x5E | スタックポインタ(上位バイト) | |
SREG | 0x3F | 0x5F | ステータスレジスタ |
AVRマイクロコントローラのSREGステータスレジスタ
ステータス レジスタには AVR マイクロコントローラの条件フラグが含まれており、I/O 領域のアドレス $3F (SRAM アドレスは $5F) にあります。 リセット信号が与えられると、ゼロに初期化されます。