プログラミングと工作と

PythonとかPascalとかAVRマイコンとか、コンパイラつくったり電子工作なんかを楽しんでいるおっさんの記録

2015-11-01から1ヶ月間の記事一覧

AVRマイコン アセンブリ言語入門 ― 割込み動作

割込み動作ってなに? ある人曰く、マイクロプロセッサの最大のイノベーションは割込み動作、だそうです。基本的に、ひとつのプロセッサは一度にひとつの処理しか出来ません。割込み動作とは、プロセッサが一生懸命ある処理をしている途中で、「あ、俺の仕事…

AVRマイコン アセンブリ言語入門 ― 8bitタイマその4

さて、今回はいよいよ8bitタイマを使ったLED点滅プログラムを作ってみます。 まずは、レジスタの設定値を決めます。前回の復習 ー 設定する項目は 動作モード:ノーマルモードかCTCモードか等 プリスケーラの値 カウント比較値 割込み要求の設定 になります…

AVRマイコン アセンブリ言語入門 ― 8bitタイマその3

今回は、8bitタイマを使う時に設定する「レジスタ」の説明をします。8bitタイマに限らず、マイコンの各機能を使うときは、その機能の設定をするレジスタが用意されています。このレジスタに値を書き込んで、「こういう動作をしてください」とマイコンにお願…

AVRマイコン アセンブリ言語入門 ― 8bitタイマその2

前回、タイマ動作はクロックのパルスの数を数えて「一定の時間」を生み出すと説明しました。今回、ここの部分を具体的に説明します。 タイマ動作の「一定の時間」は、次の項目により決定します。 クロック プリスケーラ 比較レジスタ(OCRnA) 1のクロック…

AVRマイコン アセンブリ言語入門 ― 8bitタイマ

前回までで、環境の構築からアセンブル、書き込み、動作確認までをやりました。 今回から、AVRマイコンが持っている沢山の機能を、一つづつ攻略していきたいと思います。 初回の今回は、「8bit タイマ」です。 タイマって何するの? なにかつくろうとする時…

AVRマイコン アセンブリ言語入門 ― ポート出力その3

今回は、前回書いたプログラムをアセンブルして、マイコンに書き込み、動作確認する、と言うところまでを行います。 前々回のAtmel Studioのプログラム書き込み部分にソースを書き込みます。 プログラムを入力し終わったら、Build → Build Solution をクリッ…

AVRマイコン アセンブリ言語入門 ― ポート出力その2

それでは、実際に動かしてみましょう。 まず回路ですが、PB0に470Ωくらいの抵抗とLEDアノード側の足を直列にして接続し、LEDカソード側の足をGNDに接続する。 これだけです。 ちなみに、この回路だとHigh出力でLEDが点灯します。マイコン的には、Low出力で電…

AVRマイコン アセンブリ言語入門 ― ポート出力その1

ずいぶん更新をサボっていました。前回の続きで、実際にポートから出力をする実験をします。コードばかり書いてても面白くないですからね。実際に動かしながらやるのが1番です。 では、ポートBのBit0へつないだLEDを光らせる、という簡単な例から始めます。…