[基本情報]
材料の準備
- ATtiny13Aマイクロコンピューター。
- プログラムはISPプログラマーから直接ダウンロードされるため、ブートローダーを書き込む必要はありません。
- (オプション)USB ISPプログラマー(プログラマーがいない場合は、Nanoを使用してダウンローダーを作成し、チップの工場出荷時のデフォルトのヒューズパラメーターを使用してコンパイルおよびダウンロードします)。
- (オプション)1つの0.1uFデカップリングコンデンサー(実際のアプリケーションでは、デカップリングコンデンサーをVCCとGNDの間に追加する必要があります:VCC←→コンデンサー←→GND)。
ATtiny13情報
ATtiny13シリーズは現在、新しいモデルATtiny13Aシリーズに置き換えられています。
https://wenku.baidu.com/view/252eb5dc50e2524de5187e33.html
データ容量
- 1Kバイト(1024バイト)のプログラム可能なフラッシュメモリ、これは私たちのプログラムの容量です
- 64バイトのEEPROM、一部のデータを保存できます。電源障害後に保存されます
- 64バイトのオンチップSRAM、プログラム実行メモリ
チャネルインターフェイス
- 8ピンPDIP / SOICパッケージ
- プログラム可能なI / Oピンは6つあり、そのうち5つはArduinoで使用できますが、RSTピンを通常のIOとして使用することはできません。
- 18ビットタイマー/カウンター
- 2つのPWMチャネル
- 4チャンネル10ビットADC(そのうちの1つはRSTで、Arduinoは使用できません)
- 各I / OピンのDC電流は20mA(最大40mA)です
- 動作電圧1.8-5.5V(最大6V)
ArduinoIDEでATTiny13A制御コマンドをサポートする
- 地図()
- ランダム()
- randomSeed()
- ミリス()
- マイク()
- ディレイ()
- delayMicroseconds()*正確ではありません
- AnalogRead()
- AnalogWrite()
- pinMode()
- digitalRead()
- digitalWrite()
ArduinoIDEでATTiny13Aリファレンスライブラリをサポートする
- eeprom.h
- i.h
- iotn13.h
- iotn13a.h
- power.h
- sleep.h
予防
1. ATTiny13Aピンの数が少なく、外部水晶振動子が2チャネルのIOを占有するため、ほとんどのアプリケーションは内部クロックを使用します。ただし、この場合、delay()などの遅延関数は正確ではありません。これは、内部オシレーターが外部要因(電圧、温度など)によって干渉され、特定のエラー(2%から10%の間)が発生するためです。 。たとえば、冬に作成されたプログラムは夏には役に立たない場合があります。時間に厳密でない手順を気にする必要はありません。
2. ATTiny13Aフラッシュは容量が小さく、1024バイトしかないため、単純なものしか書き込むことができません。もう少し複雑で、難しいです。
ピンアイコン
参考資料:
- http://www.geek-workshop.com/thread-15984-1-1.html
- http://www.geek-workshop.com/thread-15446-1-1.html
- http://www.geek-workshop.com/thread-7574-2-1.html
- http://plclive.com/a/product/2016/0427/435.html
- http://www.geek-workshop.com/thread-9681-1-1.html
- http://www.360doc.com/content/14/0114/19/2340477_345286827.shtml
ターン:ウォッチドッグコード
#define Pin 4
bool test = 0;
void setup()
{
pinMode(Pin,OUTPUT);
digitalWrite(Pin,test);
//设置、启动看门狗,
MCUSR &= ~(1<<WDRF); //清除WDRF
WDTCR |= (1<<WDCE) | (1<<WDE); //设置信号
WDTCR |= (1<<WDE) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0); //设置WDP和启动看门狗WDE,必须在4个周期内完成,此处为2s的周期
for (byte i = 0; i <3; i++)
{
digitalWrite(Pin,test = !test);
delay(50);
}
}
void loop()
{
//喂狗
__asm__ __volatile__ ("wdr");
digitalWrite(Pin,test = !test); delay(300);
//关闭看门狗
// WDTCR |= (1<<WDCE) | (1<<WDE); //设置信号
// WDTCR = 0x00; //清除WDE位
}
【ヒューズプログラミング】
説明
1.工場出荷時のデフォルト設定を使用する場合は、この記事をスキップしてください。
2.ヒューズがない場合は、プログラムのダウンロード時に開発ボードを工場出荷時のデフォルト値に従って設定する必要があります。
3. AVRヒューズビットの正しい構成については、次の記事を参照してください:http://www.eeworld.com.cn/mcu/article_24377.html
ATtiny13ヒューズの工場出荷時のデフォルト値
ATtiny13ヒューズの工場出荷時のデフォルト値は次のとおりです:低い値6A、高い値FF、拡張ビット0。
オプションは次のとおりです。
- 内部RC発振器9.6MHzを使用、開始時間14CK + 64ms
- システムクロックを8で割った値を使用します(つまり、周波数は1.2MHzに低下します)
- 電源障害検出を無効にする
- ISPプログラミングを有効にする
- 暗号化なし(メモリ保護機能は有効なし)
準備ツール
1.ハードウェア:USBISPライター
2.ソフトウェア:PROGISPプログラミングソフトウェア
3.マイクロコントローラー:ATtiny13A
ISP配線
下の図に従って、ATtiny13Aの6本のISPケーブルをUSBISPの対応するポートに接続します。
ヒューズ燃焼
1. USBISPをコンピューターのUSBポートに接続すると、システムが自動的にドライバーをインストールします。
2. PROGISPプログラミングソフトウェアを開き、PRGISPボタンが明るいことを確認し、ATtiny13Aとしてチップを選択してから、[…]ボタンをクリックしてヒューズプログラミングウィンドウインターフェイスを呼び出します。
3.ヒューズバーニングウィンドウインターフェイスで、ウィザードモードに入り(便利で直感的な設定のため)、次の設定を行います:低7A、高FB、内線0、[書き込み]をクリックしてプログラミングを完了します。
ヒューズプログラミングに関する注意事項
1.外部リセットを無効にしないでください。無効にしないと、チップをプログラムできません。
2.「ISPプログラミングを有効にする」を選択する必要があります。
3.外部クロックであろうと内部RC発振器であろうと、周波数が高いほど消費電力が大きくなります。内部RCクロック周波数を下げたい場合は、より低い周波数の内部RC発振器を選択することに加えて、クロックを8で除算することもでき、周波数分割後の周波数は元の1/8になります。
ヒューズ燃焼の概要
プログラミングオプションを融合し、4つの項目(低7A、高FB、拡張ビット0)のみを選択します
。1。パワーダウン検出レベルは2.7Vです(またはパワーダウン検出を無効にします)
2。ISPプログラミングを有効にします
3.内部RCオシレーター(9.6M);開始時間:14CK + 64ms4
。暗号化なし
【プログラムダウンロード】
準備ツール
1.開発ボードマネージャーでATtiny13(ATtiny13Aと互換性がある)MCUのサポートを追加します
。2。ダウンロード方法1:Arduino + USBISPプログラマー+ PROGISPプログラミングソフトウェア
3.ダウンロード方法2:Arduino + Nano製ダウンローダー
ATtiny13を開発ボードマネージャーに追加します
1. ArduinoIDEを開きます
2.メニューの「ファイル」→「設定」を選択し、「追加開発ボード管理アドレス」ボタンを選択します。
3. URLを追加します:
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
4.「DevelopmentBoardManager」を開き、「ATtiny13」を検索してバージョンを選択し、以下をインストールします。
5.別の方法:Arduino ATtiny13のサポートファイル(「core13_022_arduino_1_6」など)をインターネットからダウンロードし、プロンプトに従ってインストールします。
ダウンロード方法1:Arduino + USBISPライター+ PROGISPプログラミングソフトウェア
一、Arduino:
1.メニュー「ツール」→「開発ボード」:「ATTiny13」を選択します。
2.メニュー「ツール」→「BOD」:「2.7v」を選択します。(ヒューズを設定していない場合は、ここで「無効」を選択してください)
3。メニュー「ツール」→「クロック」:「9.6MHz内部OSC」を選択します。(ヒューズを設定していない場合は、ここで「1.2MHz」を選択してください)
4。メニュー「ツール」→「GCCフラグ」:「デフォルト」を選択します。
5.メニュー「プロジェクト」→「コンパイル済みバイナリファイルのエクスポート」。
2. USB ISPライター:
ATtiny MCUを正しく接続し(ヒューズプログラミング接続方法を参照)、コンピューターに接続します。
3. PROGISP:
1.シングルチップマイクロメータをATtiny13Aとして選択します(シングルチップマイクロメータの実際のモデルに応じて選択
します)。2 。メニューの[ファイル]→[フラッシュのロード]から、Arduinoからエクスポートされたバイナリファイルを選択します。
3.メニュー「コマンド」→「消去」。
4.メニュー「コマンド」→「フラッシュへの書き込み」。
5.メニュー「コマンド」→「フラッシュの検証」。検証が成功したら、デバイスに接続して実行できます。
ダウンロード方法2:Arduino + Nano製ダウンローダー
1.Nanoを使用してダウンローダーを作成します。
1. Nanoをコンピューターに接続し、Arduinoを開き、開発ボードとしてNanoを選択し、ポート番号を選択します(Nanoのポート番号。後でISPとしてATTiny13プログラムをダウンロードするときにも使用されます)。
2.サンプルファイルを開きます:ArduinoISP
3.サンプルファイルをコンパイルしてアップロードすると、ダウンローダーが終了します。
2. ATtiny13AMCUをNanoダウンローダーに接続します。
- ATtiny13Aピン7はNanoPin13に接続します(SCKインターフェイスとして)
- ATtiny13Aピン6はNanoPin12に接続します(MISOインターフェースとして)
- ATtiny13Aピン5はNanoPin11に接続します(MOSIインターフェイスとして)
- ATtiny13Aピン1はNanoPin10に接続されています(RESETインターフェイスとして、これはNanoのRSTではないことに注意してください)
- ATtiny13Aピン8接ナノ5V
- ATtiny13Aピン4接ナノGND
3. Arduinoでプログラムをダウンロード(アップロード)します。
1.メニュー「ツール」→「開発ボード」:「ATTiny13」を選択します。
2.メニュー「ツール」→「BOD」:「2.7v」を選択します。(ヒューズを設定していない場合は、ここで「無効」を選択してください)
3。メニュー「ツール」→「クロック」:「9.6MHz内部OSC」を選択します。(ヒューズを設定していない場合は、ここで「1.2MHz」を選択してください)
4。メニュー「ツール」→「GCCフラグ」:「デフォルト」を選択します。
5.メニュー「ツール」→「ポート」:Nanoが配置されているポートを選択します。
6.メニュー「ツール」→「プログラマー」:「ISPとしてのArduino」を選択します。7.メニュー「プロジェクト」→「プログラマーを使用してアップロード」。
8.ダウンロード(アップロード)後、OK、ATtiny13Aのデバイスに接続して、効果を試すことができます、HoHo ~~。