nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

PIC12F1822苦戦  プリスケーラ読み出し式の周波数カウンタ

PIC12F1822を使用し、プリスケーラ読み出し方式カウンタ製

[:large:right]
作のソフトを作ってます。PIC12F1822ではMPLABでのコンパ
イルリンクアッセンブルで、できたHEXをPICKIT2ソフトで読
み出してWRITEという作業になります。この作業で間違いが
誘発。同じファイルをPICKIT2がインポートするつもりでやっ
ていたら、ファイル名が古くて、別のファイル読んでました。
どうりでデバッグしてソースを書き換えても動作が変わらな
いわけです。PICがまた壊れたと思いました。  
また、変数型指定にミスがあり、動きませんでした。原因が
わかり、6桁表示までできるようになりますが、今度は周波数
がおかしい。どうも12.8MHzのクロックがダメのような気
もしますが・・・、 
デバッグ用ダンプ表示ですが、1行目の最初2ディジットは
count_1:TMR0のオーバーフロー値、次の3桁はTMR0の値です。
2行目の2桁はプリスケーラ読み出し値(このときのプリス
ケーラは32分周)となっています。TMR1へは12.8MHzなら
32000カウントアップで10mSなのですが、そのように設定し
てもGPIO2では30mSぐらいになり、TMR0の値が3倍近くなって
しまいます。因みに内部クロックにしても同じように3倍ぐら
いになり、なんだか狐のつままれた雰囲気・・・。コンパイ
ラでおかしくなっているんでしょうかね・・・。





ホームページでは過去の試作品をまとめて記載