楽天市場
[無料でホームページを作成] [通報・削除依頼]

2020年12月 アーカイブ

2020年12月30日 6時45分00秒 (Wed)

PIC16F1933でeeprom読み出しルーチンでハマる

PIC16F1933でeepromアドレスが分かったので読み込みしようとしたらプログラムのビルドエラーになる。

DATA_EE_ADDRにはeepromアドレスの最初0hをとりあえず指定して、データシートのサンプルをそのまま記載しているのにエラーとは・・・。
サンプル最終行のBCF STATUS, RP1 ;Bank 0が悪さをしているようでIDEでビルドした際にRP1は存在しないよ!とのエラーをはいている。

img_20201229-214201.jpg

データシートを見ていたら、そういえば昔に他のデータシートを読んでいた時にバンク操作はBSRレジスタで…と記載されていたのを思い出した。PIC16F1933データシートにもちゃんと記載されていた。
バンク0に戻すにはBSRレジスタの値を0にしてやれば良いようでclrf BSRでOK。
バンク1にするならBSRレジスタに1をセットするだけなのでPIC12F629やPIC16F628Aよりバンク指定は簡単。

しかしデータシートの記載サンプルに罠が仕掛けられているとは(汗)

img_20201229-094939.jpg

2020年12月29日 18時09分39秒 (Tue)

PIC16F1933のeepromアドレス

発売されてからかなり経過しているPIC16F1933ですが、IOが多いので使い始めようとしたところeepromアドレスが分からない。
C言語に移行しようかなとも思うがC言語が分からず未だにアセンブラ言語でプログラムしているため、PIC12F629やPIC16F628Aなどはeepromアドレス0x2100から始まるけど、同じアドレスを指定するとエラーになる。

PIC16F1933データシートでは0h~0ffhまでの256バイトeepromを実装しているのでどこかに存在するはずなんですが、開始アドレスがさっぱり分からん。
PIC16F628AとPIC16F1933はファミリがちょっと違うのは分かっているけれどデータシートを見比べてみたけれどどこに記載されてるのかを見つけれなかった。

開始アドレスが分からんので総当り的にMPLAB X IDE v5.35のプログラム上でeeprom指定アドレスを記載していったら100回目くらいで開始アドレス判明。
偶然とはいえよく見つけれたわ(汗)

PIC16F1933 0xf000から0xf0ffまでの256バイト
PIC16F628A 0x2100から0x217fまでの128バイト
PIC12F629 0X2100から0x217fまでの128バイト

2020年12月6日 8時03分39秒 (Sun)

パチンコ備忘録

アムテックスや平和の台で玉打ちが不安定(打戻が頻発する)な場合は、杵ゴムがヘタってきている可能性あり。杵ゴムの根本に2mm程度のワッシャーを挟んで杵ゴムを嵩上げすると安定する。
4mmにすると打ち出しが弱すぎる。2mmでなくても1mm程度の硬めのクッションゴム(ポリウレタン)を杵ゴムに貼ると安定する場合もある。かなりシビアで調整が難しいです。
昔の機種のように打ち出し力を調整する部品は無いみたい。

音声が出ない場合は実機裏側の音声ICが付いているサブ基板モジュールのコネクタを抜き差しする。接触不良の場合はこれで直る。
一時的に映像が出ない等の場合も同じように映像ICが付いているサブ基板モジュールのコネクタを抜き差しする。それでもだめな場合は中央付近にある映像ICで試す。中央付近にある映像ICはICソケットを外すとソケットが壊れるので注意。
実機裏側のオレンジ色封印は簡単に外せる。外した後は元々ネジ止めになっているので特に不都合はない。

ブログ

12345
6789101112
13141516171819
20212223242526
27282930
QRコード
携帯用QRコード
アクセス数
ページビュー数