超ローコストPICWRITERの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第238回]
●PIC16F1503(2)テストプログラム
本日は春のお彼岸です。
せめてお彼岸ぐらいは親不孝を詫びに行ってこなければなりません。
気がついたらいつしかだんだんと親の歳に近付いてきています。
為さねばならぬとか為したいことの余りに多く為せぬままに過ぎていく日々を嘆くだけの毎日です。
ということで本日ももう時間がありません。
テストプログラムの紹介だけで終ります。
PIC16F1503のために作成したテストプログラム16F1503TEST.ASMです。
;;;PIC 16F1503 testprogram ; ; #include <p16f1503.inc> ; __CONFIG _CONFIG1, _WDTE_OFF & _FOSC_INTOSC ; cntr0=20 cntr1=21 ; org 00 goto start ; org 05 start banksel OSCCON;bank 1 movlw 68;=4MHz movwf OSCCON clrf TRISC banksel ANSELC;bank3 clrf ANSELC banksel PORTC;bank0 ; t1s: call t1ms call t1ms call t1ms call t1ms movf cntr1,w movwf PORTC incf cntr1 goto t1s ; t1ms call t256us call t256us call t256us call t256us return ; t256us nop;1/4 decfsz cntr0;1/4 goto t256us;2/4 return ; end ; |
毎度のことですがCONFIGの書き方がPIC16F627などと違っています。
新しいPICを初めて使うときなど大抵はCONFIGのところで悩んでしまいます。
ほんとになんとかならないかなあと思います。
メモリバンクの切り替えにはbanksel命令を使います。
多分擬似命令です。
新しいPICのためのアセンブラではこういう命令が増えてきています。
これも悩むところです。
もっとも確かに使ってみると便利ですけれど。
今まで作ったテストプログラムとほとんど同じで1秒ごとにカウントアップしたレジスタの値をPORTCに出力するだけのプログラムです。
CONFIGで内蔵発振モードを指定しています。
CPUクロックはプログラムでOSCCONに値を設定して4MHzにしています。
このあたりはPICアセンブラの定番ですがPICによって様々なので設定する値についてコメントをよく読む必要があります。
[出典]Microchip Technology Inc.PIC16F1503 DataSheet
4MHzはIRCF=’1101’です。
クロックモードの指定はCONFIGでしていますからSCS=’00’です。
ここからOSCCON=’01101000’つまり68Hを指定することになります。
超ローコストPICWRITERの製作[第238回]
2025.3.20 upload
前へ
次へ
ホームページトップへ戻る