
Atmel AVRは、Atmel社が製造している、RISCースの8ビットマイコン製品群の総称である。
PIC同様に回路構成が簡単でCPU、メモリ、RAM、I/O、データ記憶用のEEPROM、クロック発振回路、タイマーなどが1チップに収められており、書き込まれたプログラムにより制御される。
ISP (In-System Programming) に対応し、後発である故にPICに不足する点を補うような構成を持ち、I8051ピンコンパチ品や外部にRAMやI/Oを増設する外部バスのあるものもあり、PICのライバルとして認識されている。ISPには、In Circuit Serial Programming (ICSP) やJTAGという仕組みがある。
また、ラインが変わっても基本的なCPUコアのアーキテクチャが変わらず、RAM空間がリニアである等、C言語でのプログラミングを意識しており、さらにアセンブラを含んだ統合開発環境「AVR Studio」が無償配布され、GCCも対応しているため安価に開発環境を構築できる。
------------------------------------------------------------
マイコンへのUSB書き込み機の作成

HIDSPX
これは、優れもので、M-STUDIO のTOOLにインストールすると、
ソフト作成ーー>デバッグーーー>書き込み、(ヒューズビットやソフト)が自由にできる
![]()
------------------------------------------------------------------
ATtiny2313 で製作。ソフトはすべてアセンブラである
1:タイマーの起動
LEDの点灯は タイマーが必須である。 一定時間で点滅させる
2:スイッチの入力
スイッチ入力は、ソフトを途中で止めたり、次のステップへ移行させるのに便利だ
当然、LEDの点滅パターンや色で判定している
3: 引き算、掛け算、足し算、割り算
4: 5桁のカウント表示
![]()
ATmega88で 製作
SG12864使用
1)GLCD グラフィックLCDの活用
2) キャラクタ」の自由位置表示
3) リードモデファイライトを利用した ドット、線の自由表示
![]()
ATmega644で 製作
MC4004 キャラクタLCD使用

![]()
KG057QVとATmega64
SG12864は画面が小さく あまり表示文字も綺麗ではない。
もっと大きい画面に置き換えたくなった。
グラフィックディスプレイ、240×320の大きいモノクロディスプレイを仕入れた。
これは、とても綺麗だが、専用LSIを使用した、基板でコントロールされている。
SG12864に置き換えるため、基板を全て、自作することにした。
表示スピードの関係から、AVRで表示は困難と思われたが、ソフトやハードを工夫する
ことで、表示可能であった。
秋月さん、千石さんなどで LCDやフラットケーブル、コネクタを販売してくれると
助かるのだが、、、、、
バックライトがLEDタイプとCFLバックライトタイプがある。
CFLタイプは DC-ACのCXA-L0612A-VxL 基板が必要である


文字データはオリジナルである。
ドット表示や文字表示は X軸、Y軸 のカーソルデータを入れて
サブルーチンに飛ばすことで、簡単化している
製作記事は詳細を参照
![]()
![]()
アセンブラの四則計算とカウンター表示
アセンブラで 足し算、掛け算、引き算、割り算とカウンターを表示させる
足し算: ADD,ADCを用いる
引き算: DUB、SBCを用いる、マイナスになったときはフラグを
立てている
掛け算:足し算を繰り返す
割り算:引き算を繰り返す
一番難しいプログラムである。 0の割り算はできないので、
工夫をしている
カウンター: 原始的な方法であるが、DECを繰り返しているが
確実な方法である。
![]()
![]()
ATmega64のSRAM設定プログラム
ATmega64はSRAMを搭載することができる
MCUCR の設定
XMCRB ;外部メモリー使用ポート
XMCRA ;メモリーウェイト
などの設定を行う
後は、STS、LD命令で通常のメモリアクセス方法とおなじである。
高速で使用する場合には 多少クロックを消耗するので、注意が必要である![]()
![]()
![]()
![]()