AVRのファームウェアをお譲りします。 AVRマイクロコントローラープログラムの基礎

Axisは最初のファームウェアの時間を設定します。 Qiaファームウェアєテスト。 zhodnykh korishnykh diyを台無しにする必要はありません。krymは、歌のアルゴリズムの背後でnіzhkiに震えています。 ファームウェアの助けを借りて、マイクロコントローラー全体の有効性と、vivodに導入されたzokremのポートを再考することができます。
マイクロコントローラーを再変換するには、ファームウェアをインストールして、デバイスに表示されていることに驚かされる必要があります。 マルチメータを使用するか、単純なプローブ(300オームの抵抗を備えたsvitlodiodno-1kOhm)を使用して「驚かせる」ことができます。 抵抗がないと、抵抗を変換することはできません。入力から出力へのポートを焼き付けることができます。 低い斜面のRivni信号は、「1」から「Z」-stanを経て「0」に変化します。 「Z」スタンは、入力モードでポートの出力を制御するためにシーケンスに導入されます。

ATMega48 / 88/168マイクロコントローラーのファームウェアをテストします。
画像上のロボットファームウェアATMega48 / 88/168読み取りのアルゴリズム(前述のインストールのマイクロコントローラー)。

マイクロコントローラーは内部ジェネレーターから直接供給されるため、最新のクォーツを使用するだけでは不十分です。 Nіzhki9と10(リンギングクォーツを差し込む)は、リンギングクォーツがそこに現れるので、戻りません。 また、裏面1(スキッド)と21(ADCの基準電圧)はありません。 ステータスを再考する方法は2つあります(div。Littleones)-グランド(GND)または低寿命(VCC)からの信号の変化を不思議に思うことです。
-ATMega48 / 88/168のファームウェアをテストします

ヤクフラッシュマイクロコントローラー>


ATTiny2313マイクロコントローラーのファームウェアをテストします。
画像の読み取り値のロボットファームウェアATTiny2313のアルゴリズム(前述のインストールのマイクロコントローラー)。

マイクロコントローラーは内部ジェネレーターから動作しているため、外部ジェネレーターから消費するだけでは不十分です。 Nizhki 4および5(最新のクォーツに接続されている)は、最新のクォーツがそこに表示されている場合、カテゴリに分類されません。 nizhka 1(スキッド)でも問題ありません。 サービス品質を再考する方法は2つあります。1つはグランドからの信号の変化に驚かされる(GND)、もう1つはローからライブへの変化(VCC)です。
-ATTiny2313のファームウェアをテストします

ヤクフラッシュマイクロコントローラー>


ATTiny13マイクロコントローラーのファームウェアをテストします。
画像のロボットファームウェアATTiny13読み取りのアルゴリズム(前述のインストールのマイクロコントローラー)。

マイクロコントローラーは内部ジェネレーターから動作しています(呼び出しはマイクロコントローラーにとって素晴らしいです、見ることは不可能です)。 確かに、zad_yananіzhka1(スキッド)ではありません。 受信のリビジョンは、以前のマイクロコントローラーと同じです。
-ATTiny13用のEustovaファームウェア

ヤクフラッシュマイクロコントローラー>


「Z」の再構築-導入されたポートの状態-vivedennya。


「Z」ステーションステーションは、そうでない場合は、入力用に構成され、同時に構成されます(とにかく接続されていません)。 このようなミルの外観を確認するために、抵抗ダイヤラーを高速化することができます。 「1」に等しい場合、電圧は+ 5vになり、「0」に等しい場合、グラウンドは0vになり、「Z」の場合、導入されたvivedennyaのポートはロボットのロボットに引き込まれず、アクティビティに追加され、+ 2.5vを受け入れます。

ファイル:
-テストファームウェアのウィジェット

(18 359回訪問、今日は4回訪問)

  • プログラム用メモリ(FLASH)-1Kb
  • RAM-64バイト
  • 入力/出力の数-6
  • Vihodiv SHIM-2
  • アナログ入力(ADC 10ビット)-4
  • タイマー8ビット-1
  • 電圧供給1.8-5.5V
  • 動作周波数-20MHzまで
  • アクティブモードでの生活1.8V / 1MHz-190mkA
  • スリープモード1.8V /1MHz-24μA

ATtiny13のプログラミング

プログラムでは、ArduinoIDEミドルウェアを構成します。 ロゼットの真ん中のヤクビドモをコントローラーに追加できます。 たとえば、 tsy statty ArduinoIDE「People'sWiFi」ESP8266でプログラムとして開きました。 arduino.ccєgilkaのサイトでは、ATTiny13プログラムがArduinoの真ん中近くに投稿されています。 バージョン1.6.5をインストールしています。 Arduinoアーカイブ用のATTinyコアを追加します。 私はそれをフォルダcに解凍します:\プログラムファイル(x86)\ Arduino \ハードウェア\そしてArduinoIDEには追加の支払いがあります

今絡み合ったプログラム。 マイクロプロセッサのメモリはわずか1Kbであり、そのための余地はありません。 そのために、絡み合ったスケッチはISPプログラマーによって実行されます。 Atmega328をプログラムしたくなかったので、USBAsp。 プログラマーの特別なファームウェアが必要ですが、私はそれを避けたくありませんでした。 マイクロコントローラプログラムは、Arduinであろうと、助けになります。 他の人のために私は次のスキームを選びます:

Arduino IDEで、「ファイル-> Zrazki-> ArduinoISP」を選択し、プログラマーのスケッチをArduinoに追加します。 次に、「ツール->プログラマー-> ISPとしてのArduino」を選択します。 これで、10代の若者にスケッチを追加できます。 スライドは、ArduinoのATTiny13コアが一連のArduino機能の復讐であることを意味します。

ロボットには、ヘルパー付きの壁掛け串があります

yalintsiには12Vのハロゲン電球とモーターがあり、カラーサークルフィルターを回して発光ダイオードの色を変えることができました。 3つの岩のために電球とモーターで死にました。

Axis IとVirishivは、RGBステッチのATtiny13を少し備えたyalinkaを作成します。 ラインによるkeruvannyaの知識は次のとおりでした:

3つのトランジスタと抵抗、線間電圧レギュレータと電源。

小さなチャネルを介した色の変化をきっかけに、ソフトウェアのトライチャネルPWMを使用したスケッチ。その結果、線がピンク色にきらめきます。

あなたがそれを取り除きたいならば、あなたはyalinkaケースの料金とラインを修正する必要はありません

体の真ん中に光を接着するためのビリー粘着テープ。

乳房2015

1.提案された方法を圧倒する

マイクロコントローラー(MC)の付属書のスキームにより、2つの重要な品質がわかります。最大のシンプルさと高機能です。 それまでは、回路を変更することなく機能を変更および拡張できます。プログラムに置き換えるだけです(点滅)。 現代のMCの作成者は、電子エクステンションのディーラーが知ることができる1つのクリスタルですべてを配布しようとしたという事実によって説明されるべきです-可能な限り床に着きます。 その結果、回路や編集からソフトウェアへの重点的な変更が行われました。 代行MKは、コンポーネント間で、詳細を含むスキームを「navantazhuvati」する可能性が低くなります。 思春期の若者と電子機器の穂軸の両方によって、繰り返される繰り返しのためにスキームをよりギミックに台無しにするのは難しいです。 エール、あなたはすべてにお金を払いたいです。 ここでも折り畳みがないわけではありません。 新しいMKを購入した場合は、参照の詳細、課税スキームから正しい選択をしてください。そうすれば、何も見つかりません-純粋にpratsyuvatimeではありません。 マイクロコントローラーにはプログラムが必要です。

これまではすべて簡単でした。インターネットでは、ステッチされていないファームウェアを使用して無力な回路をインストールすることができます。 ただし、ここで1つの問題があります。それは、ファームウェアをマイクロコントローラーに「アップロード」する必要があるということです。 これまで扱ったことがない人にとっても、それはしばしば問題になり、それを考える理由として考えられない主な要因になります。 Aje、一目見ただけで、すべてがそれほどスムーズではありません。

インターネット上の出版物を分析したところ、問題は2人の貴族のうちの1人から最も頻繁に見られると言うことができます:既製のプログラマーを買うか、自作のプログラマーを準備するか。 自作のプログラマーのスキーム全体では、公開するのは不合理であることが多く、不当に折りたたむことができます。もっと折りたたむことができ、実際には必要ありません。 Zvychayno、yakshto perebachatsya shodnya proshivati MK、ステルスマザーの「クールな」プログラマー。 そのような手順の必要性が1時間ごとに頻繁でない場合は、プログラマーなしで行うことができます。 Nі、ずる賢い、思考の力によって奪われる可能性が高い人々については行かないでください。 敬意を払うために、プログラムのモードでこの情報の読み出しを記録するときにプログラマーとマイクロコントローラーの相互作用を見るのは合理的です。私たちは幅広い機能の助けを借りてそれを行うことができます。 プログラムとプログラマーのハードウェア部分の両方を置き換える可能性があります。 ハードウェア部分は、マイクロサーキットMKからの物理データ、最初の入力からの論理パラメーター、および2番目の入力からの正しいデータを送信する機能を保護する責任があります。 ソフトウェア部分は、必要なプロセスを必要とするアルゴリズムをロボットに提供できます。 あなたがプログラマーを持っているという事実のために立ち往生しないように私がMKの情報を書き留めることも重要です。 「美しく録音された」chi「girshe」のような理解は理解されていません。 Єは、「書き留めた」と「書き留めていない」の2つのオプションを奪います。 プロセスを必要とせずに、MC自体でクリスタルの中央を書き留めようとします。 あなたがそれを処理することができたくないことを保証する能力をあなたから奪い(切り替えと脈動があります)そしてインターフェースを正しく組織化する必要があります。 恩赦のコントロール読み取りの結果が明らかにされていない場合は、すべてが正常である可能性があります。

プログラマーを待たずにプログラムをMKプログラムに書き込むには、USB-RS232TTLポートも書き直す必要があります。 USB-RS232TTLコンバーターを使用すると、追加のUSBポートでCOMポートを開くことができます。COMポートは「右」から見ることができますが、y番目の入力で論理TTL機能を使用することもできます。 そのようなコンバーターは、「状態」にある窮屈な母親の場合です。そのため、あなたはまだ愚かなので、それは必ずしも誇りの問題ではありません。 ただし、論理的な理由があります。TTLvipadには、特別なCOMポートの前にパスを渡す価格があります。そのため、このようなポートに入ると、次のように動作できるマイクロコントローラーに1秒もかからずに接続できます。 5Vのみ。 標準のCOMポートを消去しないと、-12〜 + 12 V(または-15 ... + 15V)の範囲で流出が発生します。 どのvipadにもマイクロコントローラーを搭載したBezposrednz'єdnannyaは受け入れられません!

プログラマーの機能を実装する「PerpetuumM」プログラムのスクリプトステムのアイデアは、インターネット上の多数の出版物に関するメッセージを発表し、MKファームウェアのこれらのソリューションを宣言します。 深刻な不完全で圧倒的なひだが皮膚病変に現れた。 プログラマーのスキームは、マイクロコントローラーに復讐するためによく使用され、同時に、次のタイプに真剣に与えられました:「...そしてプログラマーのためにマイクロコントローラーをプログラムする必要があります...そうです-最初のプログラマー!」 Dalіproponuvalosyaは友人に行きます、pohukati支払いサービスは薄すぎます。 目的全体のフレーミングで配布されるソフトウェアセキュリティの品質も矛盾していませんでした。機能面でも、corystuvachの「kalamutnist」インターフェイスでも問題はありませんでした。 ほとんどの場合、勝利のプログラムとして活力、知性を持っている必要があります-そして最も単純なことのために訪問する必要があります。 プログラムは非常に困難で動作しにくい場合がありますが、MCに登録できない場合は、すべてのファームウェアが完了し、攻撃的なチェックアウトが完了したときにのみわかります。 そのような問題があります:koristuvachはクリスタルのリストで振動するので、それ自身のMKを受け取ることができますが、リストにはありません。 リストがリストに含まれるとすぐにプログラムはプログラムに適合しません。原則として、プログラムは転送されていません。 さらに、vrahuvatiのように、リストからのコントローラーの手動振動は素晴らしいですが、bagatokhvipadkのプログラマー自体がMKのタイプである可能性があります。 これはすべて、製品に水たまりを注ぐことを目的としたものではなく、統計に記載されているプログラム「PerpetuumM」の前にスクリプトが表示される理由を説明することを目的としています。 問題は賢明であり、マイクロコントローラーの真っ只中で最初の壷を成長させることができるように、ポドラティユの「スタイン」に屈することを期待しない新参者の前にいる必要があります。 提案者のスクリプトには、いくつかの欠点といくつかのプログラムがあります。 ロボットアルゴリズムの最大の「識別」が実現されました。これは、koristuvachの境界線のシンプルなインターフェースです。これは、迷子になる可能性があることを意味するものではなく、迷子になる機会を与えるものでもありません。 準備されたものの途中で必要なMKの期間中、MK小売業者のサイトからロックされたドキュメントから必要なデータを取得して、それを説明に個別に追加することができます。 私、naygolovnishe-検証および変更するためのスクリプト。 Kozhen bazhayuchiyは、テキストエディターで示したように、権力の支配についてyogoを統治しているvivchatiが、彼らの味わいを変えることができ、さらに欠けています。

スクリプトの最初のバージョンは、2015年の中心に公開されました。 このバージョンでは、Atmel MCシリーズのATtinyとATmegaのみが、フラッシュメモリの書き込み/読み取り、構成ビットの設定、およびコントローラのタイプの自動割り当ての機能を備えて実装されています。 EEPROMの書き込みと読み取りは実装されていません。 Bullyは、EEPROMの読み取り、PICコントローラーの実装などの機能をスクリプトに追加することを計画しています。 実現された機能が不十分に見えるので、恥ずかしがらないようにお願いします。いずれにせよ、自分で必要な機能を追加してみてください。 プログラムモードでMKロボットをよりインテリジェントに作成して、車の前の村のキャンプにいることがわからないようにすることができますが、理由ではなく、その内部を注意深く見て、なぜ「行かない」のか。 。

2.インターフェースMKヤクprogramuvannya

Існуєdecіlkka 違う方法コントローラをプログラムモードと正しいモードに移行します。 ATtinyおよびATmega、Mabut、SPIコントローラーに簡単に実装できます。 彼とスピーディーなモシャ。

エール、私が信号を見ることができるように、SPIが必要であり、多くの障壁が破られています。 マイクロコントローラーはビートを構成できます。 プロジェクトの要件に応じてマイクロ回路の電力を変更できるようにするスイッチトグルスイッチには価格があります。 物理的には、エネルギー貯蔵メモリの真ん中で、プログラムが記録される非常に静かです。 その理由は、それだけでは不十分であり(ATmegaの場合は最大3バイト)、悪臭はメモリであろうとアドレス空間に入らないためです。 構成トリビュートの記録と読み取りは、MCプログラムモードへのコマンドとともに表示されます。 ライフを構成するアクションがSPI勝利者の力に注入されることに感染することが重要です。 歌の価値については、SPIが勝利することはできないことがわかります。 そのようなマイクロコントローラーを使用している場合、統計で理解されている方法は役に立ちません。 一日の終わりに、プログラムのモードを適応させるプログラマーの構成ビット、または勝利したマイクロコントローラーの構成を変更することが可能になります。 それを奪われたエールtsya問題は静かです、htoはMKの移植時に、または静かに、同じhtoがそれほど「放牧」されていないでしょう。 新しいMKには調整済みの構成ビットが付属していますが、SPIの勝利者には付属していないという事実の右側。 Tseは、「PerpetuumM」プログラムのプログラマースクリプトのvip-testの結果によって確認されます。 新しい悪臭いじめに取り組みます。 設定ビットを設定するPochatkovaはドキュメントをレンダリングし、SPIの勝利者を獲得しませんでした。

言われたvishcheのZvazhayuchi、私はそのような獣の獣を尊重します。 明らかなviglyadでのビットSPIENは許可されます。または、フェンスはSPIです。これは、virishalnyと同じ意味を持っているためです。 ビットRSTDISBLoldは、信号「スキッド」への入力でマイクロ回路(ズームでズーム)からマイクロ回路の1つを再構成します。そうでない場合は、再構成しないでください(ビット全体に記録された値)。 私たちのvipadku入力では、「スキッド」が必要です(常に、SPIを介してMKをプログラムモードに転送することはできません)。 CKSELグループのビットをチェックして、dzhereloクロック信号を設定します。 悪臭はSPIの勝利者を圧倒しませんが、時計のパルスが現れるとき、周波数が与えられたSPI性能の許容値よりも低いとき、それもまったく良くないという点で母親にとっても必要です。 新しいMKに電話して、内部RCジェネレーターを持っている可能性があります。CKSELグループの多くが勝利者をセットアップします。 私たちは心からvlashtovuєです-taktuvannyaは私たちの側から追加のzusilなしで保護されています。 水晶振動子ははんだ付けされておらず、外部発電機も必要ありません。 調整された方法に復讐することも同様に重要です。調整された方法に至るまでの戦術についてのヒントを得ることが重要です。 同時に、水晶振動子を水晶振動子のMCやクロック発振器に接続することもできます。 アレ、統計の枠組みの中で、それが狙われているので、それは識別できません。 プログラムのMK接続を接続して、最も単純なvipadokの統計で場所を見つけられるようにします。

小さな。 1.プログラムモードでのSPIによるデータ交換

ATmega128AMKのドキュメントから抜粋した赤ちゃん1までの獣。 新しい兆候については、MKの1バイトを転送するプロセスは、MKから1バイトを1時間受信します。 bachimo、vikoristovuyutのように、SCK入力からのプログラマーからマイクロコントローラーへの同じクロックパルスの1つ、つまり、そのようなSPIによってプログラムされたモードで表示されるマイクロ回路からの1つ。 別の2つの信号線は、トリビュートの送信がクロックごとに1ビット受信されることを保証します。 MOSI入力を介してデータがマイクロコントローラーに送信され、MISO入力を使用して読み取るデータを認識します。 SCKからMISOとMOSIまでの2本の点線での致命的な敬意。 マイクロコントローラ「kovta」がMOSIビットdanihの入力で表示され、彼自身がMISO sv_yビットdanihの入力で再生されるかどうかを示すために、においがします。 すべてを終えるのは簡単です。 さて、MKをプログラミングモードにします。まだRESET信号を知っています。 GNDワイヤとVCCライブについても忘れないでください。 SPIファームウェア用のマイクロコントローラーの前に、6本のワイヤーすべてを接続する必要があります。 下に、レポートを取得します。dodamoの場合、SPIプログラムモードでMCからデータを交換すると、4バイトのパケットで表示されます。 スキンパケットの最初のバイトは、コマンドコードの前に入力する必要はありません。 別のバイトが最初のバイトに格納されます。これは、高度なコマンドコード、アドレスの一部、またはより重要な値である可能性があります。 3番目のバイトはアドレスの転送に使用されますが、他のコマンドの場合は、より重要になる可能性があります。 1/4バイトは、データまたはさらに多くの値の転送を可能にします。 MKからのように、データを受信するためにチームのアクションから4番目のバイトを転送することからの指示。 skinコマンドの詳細は、「SPIシリアルプログラミング命令セット」という名前の表にあるコントローラーのドキュメントに記載されています。 これまでのところ、インセンティブのコントローラーとの交換全体は、最後の32ビットパケットによるものであり、そのスキンから3バイト以上のコーリアン情報が送信されます。 価格はさらに最適ではありません。

3.プログラムにMKを接続する

SPIインターフェースを編成するために必要なすべての信号がマイクロコントローラー入力に供給され、MISO出力からデータを読み取ることを保証するために、プログラマーは必要ありません。 追加のUSB-RS232TTLコンバーターのヘルプを簡単に入手できます。

インターネットでは、専門家ではないコンバーターに関する情報を整理することはしばしば可能ですが、それらがなければ深刻な成長は不可能です。 そのようなdumkaєpomilkovoyへのコンバーターのモデルはたくさんあります。 そのため、販売されているコンバーターがあります。入手できないものについては、すべてに標準のCOMポート(たとえば、TXDとRXDのみ)が付属していますが、同時に設計は邪魔になりません(マイクロ回路が溢れています)ちなみにプラスチック)。 Aletakіykupuvatiはvartoではありません。 一部のタイプのvipadでは、マイクロサーキットの前に配線を送信することで、ポートへの入力と出力を修正できます。 このような「使い古された」コンバーターのアプリケーションは、リトル2に示されています(マイクロサーキットPL-2303-「訪問者」のステータスに関するレポート)。 見つかったモデルの1つ、自作の構造のビコリスタンでの私のペレヴァギのエール。 COMポートのように、端に標準の9ピンローズが付いた、広く拡張された用途の広いアダプタコード。 ヘビのCOMポートからは、古いソフトウェアと古い人々の所有物のために、悪臭はTTLレベルを奪われて狂っているようです。 最近の極端なテストでのCH34xマイクロ回路のコードが、PL-2303でますます安定したコードを示している可能性もあります。 しかし、悪質な勝利者の場合、違いは簡単ではありません。

USB-RS232TTLコンバーターを選択するときは、このドライバーのオペレーティングシステムのバージョンに対する狂気にも注意を払う必要があります。これは勝利を収めます。

他のいくつかのMKモデル(ATtiny13、ATtiny44、ATmega8、ATmega128)のアプリケーションでマイクロコントローラーとUSB-RS232TTLコンバーターを使用する原理の明確なプレゼンテーション。 赤ちゃん3はそのようなz'єdnannyaの偽の計画を示しています。 RS232信号(RTS、TXD、DTR、およびCTS)が勝利していないことがわかる場合があります。 問題についての混乱の問題ではありません。プログラム「PerpetuumM」は、入力に値を設定して入力を読み取るために、1秒もかからずにそれらを操作するのに十分です。 USB-RS232TTLコンバーターはCH34xおよびPL-2303マイクロ回路でいつでも広く拡張されているため、それを取り除く機会は変わります。 問題の最も一般的なコンバーターの中で、それは無実ですが、標準のWindows関数のポートにアクセスするためのいくつかのフラグメントがあります。

回路図に示されている抵抗器は、原則として設定することはできませんが、設定することができます。 ヤケїхнє認識? マイクロコントローラーの問題を解決することは可能です。マイクロコントローラーを支援することは可能です。、kudi won niyakは収まりませんでしたが、いつでもロックすることはできません。マイクロコントローラーは、の特別なモードに切り替えることができます。ロボット工学、そしてそれはコンバーター出力(RTS、TXDまたはDTR)に接続することによって同じ方法で行うことができます。

3つの抵抗器の定格は4.3KΩでした。 コンバータの出力(マイクロコントローラの入力)を確認することが重要です。 抵抗器の精度は制限されていません。抵抗器を最大1KOhmに変更することも、10 KOhmに変更することもできます(または別のドロップに、MKへの道を運転するときにライザー切り替えコードを変更できます)。 さて、コンバーター(CTS)の入力(マイクロコントローラー(MISO)の出力)が設定されるまで、抵抗は100オームのサポートでスタックします。 Tseは、悪質なコンバーターの入り口の特性によって説明されます。 マイクロサーキットPL-2303のviprobuvanbuv vikoristaniyコンバーターは、usyogoから判断すると、完全に低いサポート(数百オームに近い)で活気を取り戻します。 Schobは「サスペンションを中断」し、抵抗器にそのような小さなサポートをもたらします。 ただし、装着しないことも可能です。 コンバーターで、入力を選択します。 邪魔にならないようにすることは不可能ですが、podіyの開発のためにイベントの競合はありません。

Yakshhoマイクロサーキットは、VCCの後継であるアナログ-デジタルリワーク用のAVCCソフトウェア(たとえば、ATmega8またはATmega128)で作られています。 Deyakiマイクロ回路は、複数のVCCまたは複数のGNDを生成する場合があります。 たとえば、ATmega128には3つの端子GNDと2つの端子VCCがあります。 ワンタイムビスノフカの施工後のデザインでは、ひとつひとつよりも美しいです。 私たちのvipadkは、1時間のプログラミングのために1つのVCCおよびGNDプラグインを持つことができます。

そしてヤク軸はATtiny13に接続されています。 小さなものには、SPIを介したプログラムの時間の前にvisnovk_v、schovikoristoyutsyaのサインが示されています。 写真の手すり-ヤクチーム-プラグインviglyadaєnaspravdіを追いかけます。


Htosは言うことができます、それは深刻ではありません-投稿のz'єdnannya。 あなたと一緒に、人々は判断力があります。 私たちの比喩は、マイクロコントローラーをプログラムして、それらのリソースの少なくとも1時間をガラス化することであり、キモスの前で披露するという事実ではありません。 Yak_stは誰にも苦しんでいません。 「投稿時」の方法は非常に効果的で正しいです。 コントローラのファームウェアは1回限りの手順です。 回路のコントローラーではなく、ファームウェアの更新を(既製のvirobから)転送するのは簡単ですが、別館の準備ができたら1時間インストールする価値があります。 tsiogorose'єm(RESET、SCK、MOSI、MISO、GND)用のZvvychay、およびMKをフラッシュしてボードに取り付けることができます。 Ale tsevzheクリエイティブvyshukuvannya。 最も単純なvipadokを見ることができます。

それでは、ATtiny44MKに移りましょう。 ここで口ひげはほぼ同じです。 少しずつ写真で新しいつながりを見つけることは重要ではありません。 オプションで、ATtiny44まで、MKATtiny24とATtiny84を接続できます。これは一連の試行におけるvisnovkaの兆候です。


プログラムのタイムコントローラー接続のもう1つのお尻は、ATmega8です。 ここにはもっと大きなものがありますが、同じ原理は配線の数であり、軸は情報が「あふれる」前にすでにコントローラーの準備ができています。 写真に写っているZayviyblackは、in vivo 13で見られ、プログラムは参加しません。 MKがプログラムモードのときの音声信号にはいくつかの兆候があります。 Tse z tim、「Perpetuum M」のスクリプトをMKに追加するのに1時間かかり、オルゴールのプログラムがアップロードされました。


多くの場合、小さなケースでは1つのコントローラーが発行されます。 同時に、皮膚コーパスの粘性の兆候は独自の方法で分布しています。 コントローラーの本体は小さなものの画像と似ていないので、MK小売店のサイトからリンクできるので、技術文書からvisnovkiの兆候を明確にすることができます。

写真をより素晴らしいものにするために、多数の「nizhok」からマイクロサーキットMKを接続します。 写真の黒いダーツの名前は、vivedennya 15から見たもので、ATmega8と同じです。


Ymovirno、あなたはすでに交差しました、すべてが完了するのは簡単です。 マイクロサーキット(古い矢印のカウンターからカウンターまで)のrakhuvati visnovkaの代わりに、Htoが出てきます。 そして、正確さを忘れないでください。 正確に愛し、あまりにも悪い心の態度を許さないためのマイクロサーキット。

まずソフトウェアの部分に移動し、USB-RS232TTLコンバーターのドライバーを正しく変更します(Windowsアドオンマネージャーを変更します)。 仮想COMポートの番号を書き留めることを忘れないでください。これは、コンバーターが接続されている時間です。 スクリプトのテキストの前に整数を入力する必要があります。以下をお読みください。

4.スクリプト-「PerpetuumM」のプログラマー

「プログラマー」のハードウェア部分が取り上げられました。 Tse vzhep_vspravi。 今では、ソフトウェアの部分から成長するには多すぎます。 プログラム「PerpetuumM」の役割は、スクリプトコントロールに示され、必要なすべての機能がマイクロコントローラーと連携して実装されます。

スクリプトを含むアーカイブは、perpetuum.exeプログラムが配置されているフォルダーに移動します。 perpetuum.exeファイルを実行すると、インストールされているスクリプトのリストを含むメニューが画面に表示され、中央に「MK AVRプログラマー」の行が表示されます(1つだけでもかまいません)。 私たちと私たちが知るためのまったく同じ行。

スクリプトは、ファイル「MKAVR.pmsProgrammer」のPMSフォルダーにあります。 ファイル全体は、Windowsのメモ帳の特別なテキストエディタのニーズに合わせて表示、表示、編集できます。 スクリプトが勝利する前に、ポート設定に関連付けられたテキストに変更を追加する必要があります。 Windowsアドオンのディスパッチャで明確にするために、ポートと、必要に応じて、行「Im'yaPort = "COM4";」に適切な修正を加えます。 -番号を変更します4は同じ番号にすることができます。 また、USB-RS232TTLコンバーターのビクトリア朝モデルでは、信号を反転するための設定を変更できます(「Visokiy」という単語から修復できるスクリプトの行)。 USB-RS232TTLコンバーターでの信号反転の変換は、Perpetuum Mプログラム(ポートを備えたロボットの分散機能)の説明にインストールできる1つのアプリケーションの助けを借りて可能です。

パパシーMK_AVRの添付ファイルには、生成されたコントローラーの説明を含むファイルが含まれています。 必要なコントローラーがそれらの中央に表示されない限り、類推によって、必要なコントローラーを個別に追加できます。 一度に1つのファイルを取得し、テキストエディターを使用して必要なデータを入力し、ドキュメントからマイクロコントローラーに取得します。 頭-敬意を表して、許さずにデータを入力してください。MKをプログラムしたり、正しくプログラムしたりすることはできません。 現在のバージョンには、ATtiny13、ATtiny24、ATtiny44、ATtiny84、ATmega8、ATmega128の6つのマイクロコントローラーがあります。 スクリプトには、接続されたコントローラーの自動実装があります。手動で入力する必要はありません。 明白な説明の真ん中に識別子が存在するため、コントローラーはそれほど遠くないように見えます。

スクリプトを含むアーカイブには、追加情報もあります。 パパ「AVRコントローラーのinc-files」には、コントローラーの説明のファイルのさらに大きなコレクションがあります。 Tsiは、MKの電源プログラムを作成するときにvikoristovuyutをファイルします。 また、「MusicBox _...」フォルダを使用しても、ファイルをAsembler上のプログラムに置き換えることができます。このプログラムは、ATtiny13、ATtiny44、ATmega8、およびATmega128のファームウェアokremoを使用してMKにアップロードする前に準備ができています。 プログラムのMCの1つを接続するとすぐに、統計で推奨されているように、一度に直接フラッシュできます。音楽画面が表示されます。 以下のプロテス。

「MKAVRプログラマー」の行でスクリプトのメニューを選択すると、スクリプトが修復されます。 ポートが開いているとき、コマンドがMCに送信され、プログラムモードに切り替わり、MCからの遷移の成功に関する確認を受け入れ、MC識別子と指定されたMCの説明のサウンドを識別子から提供します。説明の真ん中のファイルの。 毎回、その種類の説明はわかりません。 説明がわかるとすぐに、プログラマーメニューからスマットを見ることができます。 Yogoのスクリーンショットは少し8でバックアップできます。Daliはスムーズに進みません。メニューはさらにシンプルです。

スクリプトの最初のバージョンでは、専用プログラマーの機能は実装されていません。 たとえば、EEPROMを読み書きする方法はありません。 スクリプトをテキストエディタで表示すると、それを打ち負かすことができますが、サイズは大きくありませんが、ほとんどが実装されています。 機能をそれほどきちんと追加しない人については話さないでください。それは退屈でさえあり、小さなプログラムで多くの機能を実現することができます。 多数のvipadkivが関数を調べてください。

機能の交換のデヤックは、スクリプトのテキストで説明されています。
//ゼロアドレスからのレコードのみの実装(拡張セグメントアドレスレコードは無視、LOAD OFFSET-も)
// HEXファイル内の次のエントリの順序と連続性を逆にすることはできません
//制御合計は変更されません
ロボットはHEXファイルに接続され、MKのファームウェアコードは子から取得されます。 ファイルが話されていないので、コントロール墨のチェックは行にありません。 Yakshosporovaniye-zasobスクリプトtseviyavitiは屈服しません。 Іншіobmezhennyazdebіlshyはzavadではなく、їkhに関するエールマティはまだ必要です。

5.ミュージカルスクリーン-pochatkіvtsіvのシンプルなvirіb

マイクロコントローラの1つ(ATtiny13、ATtiny44、ATmega8、またはATmega128)を使用している場合は、それを音楽画面または音楽リーフレットに簡単に変換できます。 MKのファームウェアを完全に記録するには、選択肢の1つであり、スクリプトを含む1つのアーカイブの「MusicBox _...」フォルダーで異なります。 ファームウェアコードは、拡張子が「.hex」のファイルから保存されます。 そのようなビロブのためのVikoristovuvatiATmega128は、ATmega8のように非常に「大胆」です。 それはまた、生地実験のための、そして何らかの理由で-主な目的のためのシナモンである可能性があります。 アセンブラのプログラムテキストも利用できます。 プログラムはゼロから開始されたのではなく、AVBulovの本「MicrocontrollersAVRatradio-automationpractices」の音楽スクリーンショットのプログラムが基礎として採用されました。 vihidnaプログラムは、次のような多くの経を認識しています。
1.MKの肌タイプに適合:ATtiny13、ATtiny44、ATmega8およびATmega128
2.液体ボタン-zahalのコントローラーの前では、音と音の活気を除いて、スイッチは必要ありません(メロディーは途切れることなく1つずつ再生されます)
3.音符のささいなことは、音楽のリズムの耳をつんざくような音符での一時停止のささいなことによって変化します
4. 8番目のメロディーが接続されており、本のバージョンでは使用されていません
5.サブアクティブから:アルゴリズムの簡単な回復を最適化するための「改善」のアクション

卑劣なメロディーは、特に「スマイル」の真ん中で、虚偽と粗野な慈悲の感覚を持っています。 コーディのメロディーは本から取られ(より正確には、それらは単一のasmファイルで本の著者のウェブサイトからロックされていました)、何も知りませんでした。 kodvannіmelodiesє許しで、すべてのZvazhayuchi。 しかし、それは問題ではありません。音楽と「友達」になるのは簡単で、すべてを理解して修正するのは簡単です。

ATtiny13では、音符を生成するための16ビットチラーの出口を介して、バイコリストが8ビットになり、音符の発音の精度を欺くように要求されました。 エールは耳にはあまり心地よいものではありません。

設定可能なバイト。 ЇхnalashtuvannyaIdpovidatiが新しいマイクロコントローラーになります。 MCが先に勝利したらすぐに、構成ビットの状態を修正し、必要に応じて、新しいマイクロコントローラーを完成させる必要があります。 新しいマイクロコントローラの構成ビットについては、MKのドキュメント(「ヒューズビット」のセクション)から学ぶことができます。 ウインチはATmega128になります。 TseiMKはビットM103Cであり、より古いATmega103との混同のモードが含まれています。 M103Cビットをアクティブにすると、ATmega128の電力が大幅に削減されます。さらに、新しいMKにはアクティブビットがあります。 非アクティブなスタンからM103Cを廃棄する必要があります。 構成可能なビットの操作については、プログラマースクリプトメニューのセクションを選択してください。

ミュージカルスクリーンのスキームは、ネマセンスに導く必要があります。マイクロコントローラー、harchuvannya、p'єzvukoviprominuvachだけです。 プログラムされたMKの間に行われたように、Harchuvannyaはそのまま提供されます。 サウンドプロミヌバックは、アース線(GNDコントローラーアタッチメント)とMKスイッチの1つに接続されており、プログラムのアセンブラーコード(* .asm)を使用してファイルでその数を確認できます。 テキストの耳で、コメントє行のMCの後ろのスキンをプログラムします:「サウンド信号はvivedennіXXで形成されます」。 ロボットプログラマスクリプトが完了すると、マイクロコントローラはプログラミングモードになり、ロボットのカスタムモードに切り替わります。 メロディーの作成をすぐに修復します。 サウンドとプロミヌアックをオンにすると、価格を再構成できます。 クリスタルがプログラムされているときに1時間サウンドをオンにしましょう。同じ方法でのみ可能です。サウンドが生体内で認識されているが、SPIでは認識されていない場合、画面をプログラムに切り替えることができます。

  • マイクロコントローラープログラム
    • チュートリアル

    uvagiの画像-xkcd

    あなたが無人島にいたかどうかを確認します。 そして、マイクロコントローラをプログラムする必要があります。 今、あなたは眠っていますか? まあ、認めましょう、あなたはトラブルに陥る可能性なしに緊急無線標識を修理することができます。

    アセンブラーのコースをまだ忘れていないラディユチは、曲にこだわってプログラムを書いた。 ガイドなしのスピーチの最中に、ドキュメントがコントローラーに配布されたのは奇跡のようでした(まあ、彼らはそれをコントローラーに渡すことさえできませんでした!)、そしてプログラムはマシンコードに転送されました。 愚か者は立ち往生しました-それをコントローラーに送ってください。 コンピューターについてさえ話さない、惨めなプログラマーの500キロメートルのラジオのエール。 あなたは、ジェルロの活気(ココナッツの漫画のバッテリー)といくつかのshmatkivダーツしか持っていません。

    ヤクを素手で縫うことはできますか?

    AtmelのYakpiddoslidny vistupatime MKATtiny13。 方法論は、AVRファミリーのコントローラーであるために実際に説明されています。

    インターフェース

    AVRファームウェア用の最も人気のある便利なインターフェースє SPI(シリアルペリフェラルインターフェイス)。 SPI経由で接続するには、地面を除くすべてのダーツが必要です。
    • SCK-すべてのデータ交換操作を同期するクロック信号。
    • MOSI(マスターアウトスレーブイン)-リードアウトからリードまでのライン。
    • 味噌(Master In Slave Out)-リードへの別館によって導かれた賛辞のライン、navpaki;
    • リセット-SPIファームウェアを有効にするには、チェーンに論理「0」を送信する必要があります。
    この順序で、3つの信号を作成し、(オプションで)1つを読み取る必要があります。 軸は、全体として非常に鮮明な図です。


    小さな。 1.シンプルなSPI接続回路。

    あなたの滑らかさのために、あなたは入力信号の表示を加えることができます。 スキームはスピードアップしますが、過度ではありません:


    小さな。 2.信号の表示のスキーム。

    ザキストから汚れまで

    残念ですが、SPI信号を形成するためのボタンしかないため、良い結果は得られません。 この理由は、呼ばれるような容認できない症状である 汚れた接点..。 機械的接触が遮断されると、それらは一方から一方向に出て、1つのインパルスを置き換えて外に出ます。 汚れを抑えるには、いくつかの論理要素の単純なスキームを取ります。


    小さな。 3.汚れを窒息させるためのRSトリガー。

    シフターの下部接点が遮断され、汚れのインパルスを無視した瞬間にミル「1」にシフトされるTseRSトリガー。 上部の接点を押すと、トリガーを「0」に戻すようにスライドして表示されるため、ボタンを離すと表示されます。

    「バッハ、rozbіgsya!」 -読者はこう言います-「私は無人島のsidzhuにいます。 なぜここでトリガーを探しているのですか? 良いです、あなたは電子回路なしで汚れることができます。 「ドライ」コンタクトをウェットコンタクトに交換する必要があります。 Vimikachemは、州道で下がる2つの電極を提供します。

    MOSI信号とRESET信号は、SCKから見た場合、窒息する汚れを抑えません。ここでの意味は、振動の瞬間の信号のみであり、最初の前面ではありません。

    ヤクpratsyuєSPI



    小さな。 4. TimchasovaSPIロボティクス図。

    SPIは同期インターフェースです。すべての操作は、提供されたアタッチメントによって回転されるクロック信号(SCK)のエッジによって同期されます。 最大伝送速度は、コントローラの1/4クロック周波数の値で囲まれています。 最小速度では、小さなものがたくさんあります。クロック信号がないと、データの交換が「フリーズ」し、静的ミルでインターフェイスが失われる可能性があります。これは常に同じです。

    SPI伝送は、全二重モードで動作し、スキン側へのクロックごとに1ビットです。 SCK信号の立ち上がりエッジで、プリズムはMOSIラインからChergovyビートを読み取り、立ち下がりエッジでMISOラインの攻撃的なビートのタイプを読み取ります。 図4の武侠uvaga。

    ファームウェアプロトコル

    MCからのすべてのプログラマーspilkuvannyaは、コントローラーに送信された32ビットコマンドから保存されます。 データシート「e」のコマンドєの再コマンドですが、MKファームウェアには操作が必要なため、ここでは少し多すぎます。
    1. コントローラのプログラムモードへの移行。
    2. (オプション)識別子の読み取りが添付されます。
    3. 消去;
    4. フラッシュレコーディング;
    5. (オプション)記録の改訂。
    読みやすい革のワニのレポート。

    プログラムモードを上げる

    プログラミングモードは、RESETレッグに「0」を供給することでオンになります。 エールєdeyakі薄い。 Atmelは、RESETとSCKの低価格に関するアップデートのリストを確認してから、コントローラーに送信することをお勧めします。 そのような可能性は十分ではないので、生活を可能にする場合は、SCKで「0」を支払い、次にRESETで正のインパルスを支払う必要があります。


    小さな。 5.プログラムモードからMKを転送します。


    小さな。 6.コマンド「プログラムの有効化」。

    ビート、意味のあるヤク NS、あなたは-yakyすることができます。 3番目のバイトの送信時間の前に、コントローラーは別のバイトを送り返す責任があります( 01010011 )。 それがなるとすぐに、それはすべてが良好であり、チームが受け入れられ、チェックコントローラーが指示にあることを意味します。 あなたがそれを見るとすぐに、あなたはMKを補充してそれを試す必要があります。

    識別子の改訂


    小さな。 7.コマンド「署名バイトの読み取り」。

    最初にMKなぞなぞに書き込む必要があり、それを変更する必要がありますが、モデル自体が必要です。 コントローラのスキンモデルは、強力な3バイトの識別子(署名)です。 あなたは心のコマンドを使用してそれを読むことができます
    00110000 000xxxxx xxxxxxbb xxxxxxxx
    代わりの bb(3番目のコマンドバイト) 00 識別子の最初のバイトについては、 01 -他の人にとっては、 10 -3番目に。 識別子の出力バイトは、4番目のコマンドバイトを送信する時間の前にコントローラーによって送信されます。

    ATtiny13の場合、ドア識別子の値 00011110 10010000 00000111 (0x1E 90 07).

    コントローラのクレンジング

    小さな。 8.「チップ消去」コマンド。

    MKの記憶を一掃することと、コマンド「チップ消去」の強さまで行きましょう。
    10101100 100xxxxx xxxxxxxx xxxxxxxx
    悪臭がインストールされているので、フラッシュとEEPROMの代わりにコマンドを使用して消去(常にFFの復讐があります)とロックビートの知識を確認します。

    フラッシュメモリ書き込み

    ATtiny13のプログラムメモリ(フラッシュ)は、512の2バイトスロット(1Kバイト)に格納されています。 maєrazryadnist9ビットという単語のアドレス。 フラッシュメモリが側面に追加され、スキン側はmaサイズ16スリップです(32面すべてが含まれています)。 フラッシュ記録には2つのステップがあります。

    データをサイドバーバッファに追加する必要があります。サイドバーバッファに対して、[プログラムメモリページのロード]コマンドを選択する必要があります。
    01000000 000xxxxx xxxxbbbb iiiiiiii-単語のzavantazhennya若いバイトの場合、 01001000 000xxxxx xxxxbbbb iiiiiiii-先輩の罠に。
    3番目のバイトコマンドの4つの最年少ビート bbbb-側のワードアドレス、 iiiiiiiii-バイトの難読化。 単語の最年少バイト、次に同じ単語の上位バイトが原因です。

    小さな。 9.コマンド「プログラムメモリページのロード」。

    さらに、サイドバッファがロックされているため、[プログラムメモリページの書き込み]コマンドを選択する必要があります。 01001100 0000000a bbbbxxxx xxxxxxxx前面のない行をコントローラのメモリに書き込みます。
    他のバイトの最も若いビットは、3番目の上位4ビットです。 a:bbbb-記録するページの5ビット番号。

    小さな。 10.コマンド「プログラムメモリページの書き込み」。

    すべてのtseviglyadaєは、完全に折りたたまれたダムで、迷子になり終えます。 プログラムのメモリの任意のバイトのアドレスは、10ビットで格納されます。 ppppp:bbbb:w、de
    ppppp-ページ番号(「プログラムメモリページの書き込み」コマンドのvikoristovaetsya)。
    bbbb-サイドのワードのアドレス([プログラムメモリページのロード]コマンドの場合)。
    w-ビット。ワードの上位バイトまたは最下位バイトを意味します([プログラムメモリページのロード]コマンドの最初のバイトの暗号化)。

    チターニャフラッシュ


    小さな。 11.コマンド「プログラムメモリの読み取り」。

    MKでファームウェアを書き込んだ後、記録を再検討することができませんでした。指定された整合性の再変換の一部が表示されませんでした。 フィールドを変更する唯一の方法は、フラッシュメモリのリスト全体を読み取り、それを元のメモリと照合することです。

    プログラムのメモリを読み取ることは、書き込むことではなく、簡単です。 並べて整理することを忘れて、測定値はバイトごとに表示されます。 ビューアの[プログラムメモリの読み取り]コマンドは次のとおりです。
    00100000 0000000a bbbbbbbb xxxxxxxx-単語の最も若いバイトを読み取るために、それ 00101000 0000000a bbbbbbbb xxxxxxxx-長老のために。
    別のバイトの最も若いビットは、3番目のバイト全体です。 a:bbbbbbbb-メモリ内のワードのアドレス。 読み取りバイトは、4番目のコマンドバイトの送信時間にローテーションされます。

    完成したプログラム

    Mabut、簡単な操作。 プログラムを終了し、MKを動作モードに切り替えた後、論理レベル「1」をリセットするのに十分な税金がかかります。 コントローラが起動し、新しいプログラムを実行します。

    練習

    時間が来たら、練習の知識を持って急いでください。 実験の犠牲者であるATtiny13は、ブレッドボードをブレッドボードに埋め込むために、フォルムの信号を注文することで、すべての準備が整いました。


    小さな。 12.実験スキーム。

    「simplernikudi」のようなShitimemoプログラム:
    ldi R24、0x02出力DDRB、R24出力PORTB、R24 L1:rjmp L1
    あなたが打ちたいものはすべて、レッグPB1の1つであり、無限のサイクルに入ります。 勝った機械語は、より少ないchotiri単語を借りました:
    E082 BB87 BB88 CFFF
    コントローラからのファームウェアїхの場合、次のコマンドを入力する必要があります。
    1010 1100 0101 0011 0000 0000 0000 0000 //プログラムイネーブル10101100 1000 0000 0000 0000 0000 0000 //チップ消去01000000 0000 0000 0000 0000 1000 0010 //ロードアドレス0000下位バイト820100 1000 0000 0000 0000 0000 1110 0000 / /ロードアドレス0000上位バイトE00100 0000 0000 0000 0000 0001 1000 0111 //ロードアドレス0001下位バイト870100 1000 0000 0000 0000 0001 1011 1011 //ロードアドレス0001上位バイトBB0100 0000 0000 0000 0000 0010 1000 1000 //addr.0010下位バイトをロード880100 1000 0000 0000 0000 0010 1011 1011 // addr.0010上位バイトをロードBB0100 0000 0000 0000 0000 0011 1111 1111 //addr.0011下位バイトをロードFF0100 1000 0000 0000 0000 0011 1100 1111 //アドレスをロードします。0011上位バイトCF0100 1100 0000 0000 0000 0000 0000 0000 //ページを書き込みます
    スタートのカギ、行こう!