プログラミング関連 PICのプログラミングに関連した内容の紹介です。
作品1:なんちゃってJDM 下の回路でPIC16F84A,648A,PIC12F629の書込みが確認できました。88,675,683は駄目でした。 ソフトはIC-PROGを使用します。バージョンは何でもOKです。 HARDWARE内のI/O遅延は1〜40どこでもOK、INTERFACEはDIRECT I/O、WINDOWS APIどちらでもOKです。 消去時及び書込み時にMCLR⇔VSS【電解コンデンサのマイナス側】間の電圧を12〜14VにVR50KΩで合わせてください。 当方のPCでは0Ω時、WIN98 NOTE(4GB物)で12.8V、Me DESKTOPで16.4V、XP DESKTOPで15.0Vとバラバラでした。 しかし0Ωのまま(16.4V、15.0V)でも普通に書込み出来ました。(そのまま100回ほど書込みをしました。) PICの個体差や機種によって14Vを超えるときがありますが多分大丈夫だと思います。 個体やPC環境によっては14V以上必要かも知れません。 JDMやRCDライターをお持ちの方は一度作って遊んでみてください。もちろん初挑戦でもOKです。 注意1:書込みは出来ますが読み出し(READ)が出来ません。従って照合(VERIFY)がエラーになります。 しかし書き込まれています。こんな回路で書込み可能 ・・・不思議です。 JDMのサイト(英文)にヒントが書かれています。裸電球を使うなどとシャレっ気のある説明があります。 注意2:当方がおもちゃ感覚で考えた物です。何があっても責任は負いません。おもちゃだと思って扱ってください。 追記:84Aで約3年前に書込みしその後放置しておいた物の中から消去、書込み、共に不能の物が数個ありました。 675で消去、書込み、共に可能な物が見つかりました。(_HS_OSC 設定に限る) 上記の原因は不明です。(製造ロットによる品質誤差、個体差、経年変質等が考えられます。) VR50KΩの代わりに10KΩの固定抵抗でも行けました。 プログラミングソフト「WinPic」でPIC12F675 683の書込みが出来ました。 ツェナーダイオードが入手出来ない場合は赤色または黄色のLED を2個直列に配線して代用できます。 書込み時に点灯してきれいです。W509シリーズのプログラマー(キットと完成品がある)を4000円程度で買うか。デス。私も買いましたが調子良いです
先程お話したJDMもこの「ハーフマット」さんで安価で購入出来ます。 http://halfmat.ocnk.net/product-list/2 ←ここに並んでます ソフトはFENG3さんのHPにも書いてあります。私はicprog105Dってのを使ってます外国製ですが日本語訳のソフトも用意してくれている 方がいます。ありがたいことです。 icprogのダウンロードは http://www.ic-prog.com/icprog105D.zip で 日本語訳はROCさんのHP http://jashi.org/index0.html を見てください。 http://jashi.org/pic/ またはここでダウンロードしてください。(簡単な説明付き) winNT 2000 XP VISTA をご使用の方はこの説明が役に立ちます。 ダウンロード 作品2:PIC12F675/629用OSCCAL見つけ出し OSCCALなんて消えちゃっても良いと思うんですけど電話の通話音で耳チューニングするシステムです。 チューニングの様子の音です。メディアプレイヤーは音程が下がって聞こえる可能性があるので良くありません。 リアルプレイヤーはOKです。電話の通話音を聞きながらお試しください。 チューニングの様子です。40秒あたりは狂っています。47秒あたりで合っています。 チューニングの様子 下の動画が400Hzの音です。同時に再生してみるとわかります。 ASM、HEX、回路図の詰め合わせ(使用説明付き)ダウンロード 作品3:PIC16F88/PIC16F648Aのプログラムメモリー800Hの壁の超え方 4KワードのPICに於いて通常のプログラミングではプログラムメモリー800Hを超えるのは困難です。 その方法を自分なりに考察しまとめてみました。PIC16F88用、PIC16F648A用のサンプルASMファイル付きです。 ダウンロード 作品4:PIC16F716をPIC16F84Aに替わって使う PIC16F84Aの半値以下というお安いPIC16F716(秋月価格110円)は84Aの代替として使用することが出来ます。 84Aと比較して優れている部分もありますが劣るところもあります。 劣るところはEEPROMがありません。EEPROMとはプログラム上で得た数値を停電記憶しておける場所です。 LEDを点灯したりするプログラムではまずは必要がないので84Aの代替としては有効だと思います。 優れている点はA/D変換やPWM制御が出来ることです。しかしこれらは84Aにはありませんのでを無効にして使えばよいわけです。 PIN配置も84Aと同じなので安心です。PICの取替えだけで回路の変更は不要です。 さてプログラムの書式の説明です。 コンフィグは __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _BOREN_OFF & _HS_OSC という感じです。 次に先ほどの優れている部分のA/Dを無効にする設定を加えます。 84Aでは BSF STATUS,RP0 MOVLW B'00011' MOVWF TRISA MOVLW B'00000000' MOVWF TRISB BCF STATUS,RP0 という感じですが716では BSF STATUS,RP0 MOVLW B'00011' MOVWF TRISA MOVLW B'00000000' MOVWF TRISB MOVLW B'00000110' ;追加 MOVWF ADCON1 ;追加 BCF STATUS,RP0 と2行加えるだけです。この設定はRA0,RA1,RA2をA/D変換用ではなくデジタルI/Oポートに割り付けるものです。 そしてもうひとつファイルレジスタの番地の割付の変更があります。 84Aは0CHからのスタートでしたが716は20Hからになりますので TIMER1 EQU 0CH TIMER2 EQU 0DH TIMER3 EQU 0EH と書くところが TIMER1 EQU 20H TIMER2 EQU 21H TIMER3 EQU 22H となります。簡単に TIMER1 EQU 2CH TIMER2 EQU 2DH TIMER3 EQU 2EH と変更してもOKです。 参考プログラムとして当サイトのトップページ最下段にあるダウンロード 内のSAMPLE4を716用に書き直してみました。 716_SAMPLE_1.zip この716用のHEXファイルは84Aにそのまま書き込むことも可能です。 作品5:PIC16F88のA/D変換値10bitを10進数で表示する★古いタイプのMPLAB IDE★ 【クリック】 OR 【クリック】
ご意見ご感想質問何でもどうぞの掲示板はこちら <<<クリック>>>内緒でお話がしたい人はこちらまで picdetukuttemimasita@yahoo.co.jp トップページへ戻る