●LED電飾プログラムをMPASMで作ってみよう
@(PIC16F84A)用LED電飾プログラム
はじめに・・・
PICの勉強を兼ねて最初に作ったプログラムは、LED電飾プログラムで 'PIC16
F84A' を使用して、プログラム言語はPA(秋月電子通商製作アセンブラ)でしたが
標準的なプログラム言語である、MPASM(Microchip社 汎用アセンブラ)を使用して
新たに、LED電飾プログラムを作る事にしました。
また、PICのアーキテクチャは共通化されて、上位互換となってるみたいで、ほとんど
同じプログラムで動かす事ができると、教本などで記述されていましたのでPICを3種
(PIC16F84A・PIC16F819・PIC12F675)を使い、それぞれの
PIC専用のプログラムをテストボード上で動かして試す事にしました。
・
・
・
・
・
●基本となる(PIC16F84A)用LED電飾プログラム
教本や教材などに幅広く取り扱われている、このベージックな 'PIC16F84A' の
PICを基準とし、LED電飾プログラムの基本版を作りました。
PORTBの出力ピン(8本)を使用し、LEDを1個単位で順次点灯させて、光りが移
り変わる電飾にしました。点灯しているLED以外は、消灯しています。
点灯の順番( RB0→ RB1→ RB2→ RB3→ RB4→ RB5→ RB6→ RB7 )、これを繰り返す。
■プログラムです。 → 16F84ALED01.ASM
■コンフィグレーションビットは、このような設定です。
; ●クロック発振モード(OSC)の指定 :_HS_OSC
; ●ウォッチドックタイマの動作指定:_WDT_OFF
; ●パワーアップタイマの許可指定 :_PWRTE_ON
; ●コードプロテクトの指定 :_CP_OFF
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
・
・
・
・
・
●配線図です。( Ver 1.0 )
・
・
・
・
・
●ちょっと、試したい事が・・・
■クロック周波数を、4Mhzにしたら、どうなるのか?
セラロックを20Mhz→4Mhzに交換して動かしてみたら、処理速度が遅くなったようで
LEDの点灯時間が長くなり、LED間の点灯移り変わり間隔時間も長くなりました。
→ 計算上は、処理速度が1/5に減速されました。・・・ こんなものかな?
・
・
・
・
・
●感想・・・
PICのプログラムを勉強するのには、教本などが多い、標準的な・・・
MPASM(Microchip社 汎用アセンブラ)が、良いかもしれません (^^?
・
・
・
・
・