• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PICマイコン16F873Aへ書込み)

PICマイコン16F873Aへの書込みの問題について

このQ&Aのポイント
  • 初めて使用するPICマイコン16F873Aで、BポートのRB6,RB7ピンだけLEDが点灯しない問題が発生しています。
  • RB6,RB7ピンにはLED以外にもPICKit2からのPGD,PGC線が接続されているため、出力用として使用するには設定変更が必要なのか疑問です。
  • データシートを検索しても詳細な情報が得られず、アドバイスをいただきたい状況です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

CONFIG(2007h)のbit11(DEBUG)を1(インサーキットデバッガモードにしない)にしてますか? 0 のままだとデバッガ専用ピンのままです。 PIKit 2 Programmer 画面のMidrange/Standard Configuration の枠の中の、 Configuration のタイトルがリンクになっていてクリックすると、 Configuration Word Editor が出てきて設定できるそうです。

kodoku
質問者

お礼

早速、ご親切に回答頂ありがとうございました。 使用のPICkit 2バージョンがV2.52だったため、 configuration word editorにアクセスする事ができず、 最新版2.61をDL、アップデートしてから、configuration bit(11)を変更しましたら、 思いどおりの評価となりました。 とても助かり、感激しております。 お礼申しあげます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.1

TRISBレジスタで出力ポートへの設定は行っているのですよね? PICKit2の回路についてはよくわかりませんが、プルダウンとかがされていて、LEDの点灯信号に干渉している様な事はありませんか?

kodoku
質問者

お礼

ご回答いただきまして、ありがとうございました。 テスト回路は最も簡単なものなのですが、念には念を入れて確認し TRISBの出力設定も最初の方で、確認試みました。 結果としましては、NO2回答者様も、取上げてました configuration bit 11が問題という事が、判明しました。 お世話いただきありがとうございました。  

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PICマイコン 4つのLEDを点滅させたいのですが

    マイコンのプログラミングはこれから勉強 という所ですが、PICKit3は持っていて、過去に プログラムを作ってもらい、PICに書き込み、 基盤を組んで動作させた事はあります。 本題です。4つのLEDを点滅させたいのですが、 マイコンはPIC10F200で可能だと思います。 ですが、当方やってみたいのが同時点滅でも 順次点灯でもなく、1個1個のLEDの点灯時間を ずらしたいんです。イメージは昔ながらの クリスマスツリーで、バイメタル球の点灯時間が 個体によりばらつきがある、というのをLEDで 再現したいと思ったのですが、PIC10F200で可能 でしょうか? 宜しくお願いします。

  • PIC18Fマイコンの使い方

    次のような簡単なアセンブラーのプログラムを書いてアセンブルし、PICkit2を使ってマイコン(PIC18F4685)に書き込みましたが、添付の回路図のように組んだLEDとスイッチの回路が働きません。RB7のスイッチを押すとRB3のLEDが点灯し、RB6のスイッチを押すとRB1のLEDが点灯すると思ったのですが。 スイッチを押すとRB7の電位が0Vに落ちますが、RB3の電位はあがりません。 PICマイコンはNorthMicro の評価ボードに乗っていて、Vddは5Vあります。 発振素子はついていません。どこが悪いのでしょうか?詳しい方、どうか教えてください。 Main: ; *** main code goes here *** Memory EQU 0x0C Mem1 EQU Memory+0 ; Mem1 at 0C Time1 EQU Memory+1 ; Time1 at 0D Time2 EQU Memory+2 ; Time2 at 0E Time3 EQU Memory+3 ; Time3 at 0F ; ORG 0 GOTO Start Start ; setting of Port B    ;  BSF STATUS, RP0 ; 18Fには不要なのでコメントアウト    MOVLW b'110000' ; bit 7 & 6 =1, Bit 6 to 0 =0    MOVWF TRISB ; specify port in/out function   ; BCF STATUS, RP0 ;18Fには不要なのでコメントアウト    MOVLW b'00001010'    MOVWF PORTB ; output the data to port B ; main loop Repeat MOVF PORTB, 0 ; read the port B data into W reg   ANDLW b'110000'   MOVWF Mem1    BTFSS Mem1, 7 ; if 7th bit is '1' then skip the next line ; else execute the next line    CALL RotateR    BTFSS Mem1,6 ; if 6th bit is '1' then skip the next line ; else execute the next line    CALL RotateL    GOTO Repeat ; infinite loop ; end of main loop RotateR MOVLW b'00001000'    MOVWF PORTB    RETURN RotateL MOVLW b'00000010'    MOVWF PORTB    RETURN

  • PICマイコン16F84Aを使った入出力でつまづいてます。

    とても初心者な質問です。 色々調べましたがわかりませんでしたので質問させていただきます。 要するに、PORTAを書き換えてRA0~4につないだ任意のLEDを点灯させたいだけなんですが、うまいこといきません。 LEDの極性は間違いないようです。 以下がソースです。 このソースではb'11111'を転送する事で全てのポートAのLEDを点灯させたいつもりなのですが、実際のテストボードでは何故か RA0,RB3,RB5,RB7が点灯して、もうわけわかりません。どなたかご教授お願いします。 LIST P=PIC16F84A ; INCLUDE P16F84A.INC ; __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ORG 0 INIT BSF STATUS,RP0     CLRF TRISA CLRF  TRISB BCF STATUS,RP0 ; <メイン> LOOP MOVLW b'11111' MOVWF PORTA GOTO LOOP END

  • PIC16F1827のEEPROMへの書込み

    PCM V5.0(PIC用CCS社コンパイラ)を Mplab8.92に組込み、PICkit3を使ってプログラムしています。 PIC16F1827のEEPROMへの書込みがうまくいきません。 RAは入力ポートで固定してあります。 RBは出力ポートでLEDが接続してあります。 テストプログラムは一回のみの動作です。 実機で動作させると RAは固定してあるので当然(4)でLEDが点灯しますが、 実機からCPUを抜き取りMplab上でReadすると EEPROMのアドレス0,1,2は異なるデータであり 動作させるたびに違うデータが書込まれています。 しかし (1) a0=35h (2) a1=a6h (3) a2=93h と定数にすると EEPROMのアドレス0,1,2は正しいデータが 書込まれています。 Q1. a0,a1,a2をポート入力とする場合は CPU自体に何か設定する必要があるのでしょうか? それともプログラムに工夫が必要なのでしょうか? いままで使っていたPIC16F88では このようなことはなかったと思うのですが・・・。 ----- テストプログラム ----- a0 = RA; //(1) write_eeprom (0,a0); a1 = RA; //(2) write_eeprom (1,a1); a2 = RA; //(3) write_eeprom (2,a2); if (a0 == a1 && a1==a2) //(4) RB =255; else RB =0;

  • マイコンPIC16F84Aについて質問です

    MPLAB(秋月)のライターを使用して PIC16F84Aにプログラムを製作したいのですがプログラムの組み方がわかりません 内容は、センサー5v~24vがオンしたらLEDが点灯する回路です。 動作確認をしたところ、センサーはオンオフしているのですが、LEDが点灯しません。 プログラムを組む時に、RB0がオンしたらRA0がオンする為の繋がりがイマイチわかりません。 c言語はわからないので、アセンブル命令で教えていただけないでしょうか? 初心者なので全くわかりませんがお願いします。

  • PIC16f88でLEDの点灯をしたいのですが、

    PIC16f88でLEDの点灯をしたいのですが、 9番ピン(RB3)だけLEDが点灯しません。 #include<htc.h> __CONFIG(UNPROTECT & DEBUGEN & MCLRDIS & PWRTEN & WDTDIS & HS); void main() { PORTB = 0xff; TRISB = 0x00; } 上記のプログラムでBポートをすべて出力にしてLEDを光らせているつもりです。 書き込みを行い試してみたところ、6,7,8番は点灯してくれました。 いろいろと調べてみたのですが、PWM設定(CCP1)と関係があるのでしょうか? また何かしらの設定が必要でしたら、教えていただけると助かります。

  • PIC16f84AにおけるBポート(RB0-RB…

    PIC16f84AにおけるBポート(RB0-RB7)のHレベル時の電圧について いつも参考にさせて頂いています。 PICマイコンによる工作で困っているので、お力添えをお願いします。 現在、PIC16F84Aを使ってスイッチを押したらLEDが点灯するプログラムを作っています。 プログラム通りにLEDは点灯するようになりましたが、 プログラムにより出力を「H」レベルに設定したときの出力ポート電圧が2.2Vぐらいにしかなりません。 (ソース電流となるようにPIC出力端子 --> LED --> 抵抗 --> GNDとつないでます) データシートを眺める限りでは、 V_OH = Vdd-0.7 となっているので、私の予定では4.3V程度が出る予定です。 ソース電流は25mAまで流せるはずなので、仮に電圧が5.0Vでも、 抵抗が330Ωなので制限には引っかかりません。 この回路を応用し、HブリッジICを利用したDCモータの正逆転を行う予定なので、 Hレベルが2.47Vでは困ります。(IC側から「H」レベルと認識されない?) ハードウェアは以下のように設計・製作しています。 Vdd=5.0V(スイッチング電源から) Vss=0V(=GND) 外部クロック=セラミック振動子(10MHz) RA0~RA4までにスイッチをつけ、入力ポートと設定 RB0~RB7までにそれぞれLED+抵抗(330Ω)をつけ、出力ポートに設定 ご教授お願いします。 このURLの回路図と基本的に同じです。(違いは入力ポートの抵抗値など) http://homepage3.nifty.com/mitt/pic/pic6_01.html

  • PICマイコンのLED制御

    PICマイコンのLED制御 pic12Fを使って、LEDのPWM制御を行おうと考えていますが、うまくいかないので知恵をおかしください。 それぞれの出力端子に3色のLEDをつけて、順にだんだん明るくなってから、だんだん消灯してゆくプログラムを考えましたが、 最初のLEDが消える前に、2番目のLEDをゆっくり点灯させたいと思っていますが、うまくいきません 少しだけ同時点灯するには、どのような考えをすればいいのでしょうか。だんだん消えていく中で、点灯を始める処理がわかりません。よろしくお願いします。

  • PICマイコンPIC12F509について

    これからPICを勉強しようとしているPIC未経験者です。 とりあえず使用するPICはPIC12F509を考えています。ネットの情報量からすると本当はPIC12F683の方が良いのかも知れませんが価格面からPIC12F509を検討しています。 PICはこれから購入しますが一番最初に触るPICマイコンとしてPIC12F509を選択しても大丈夫でしょうか? 一応言語はアセンブラを勉強しようと考えています。また、最初の目標として入力1に5Vがかかった時に出力1から何ミリ秒か遅れて5Vが出力され、入力1の加わる5Vが不定期に素早くON-OFFを繰り返えしてもPICの電源をOFFするまでずっと繰り返し動作する程度の物を組みたいと思っています。 現在の開発環境はPCにMPLAB X IDE v3.26等のソフトをインストール、PICkit3を入手程度です。 先日、MPLAB IPE v3.26を使用しHEXファイルをPIC18F2550に書込みを初めてしてみました。これが初めてのPICとのふれあいです。 以上、PIC知識人の皆さまご教示を宜しくお願い申し上げます。

  • PICマイコン 動作せず、教えて下さい。

    PICマイコン初心者です。 PICマイコン(PIC16F877)をHI-TEC社のPICCでコンパイルして、Buildしたものを 焼き込んで電源印可しますが全然動作せず。  出力に設定しているピン(PORTB)の電圧をみると全て3.8Vぐらいになっています。(不定??)  ちなみに出力PinはVdd(5V) => 発光D => 抵抗 => PORTBと接続されています。  どこが悪いか教えて頂きたく。  *** ソース ファイル ****   #include"pic.h"   void main(void){ unsigned long i; TRISA = 0x00; TRISB = 0x00;   while(1){ PORTB = 0b11111111; //RB0をLowに設定 for(i=0;i<20000000;i++); PORTB = 0b11111110; //RB1をLowに設定 for(i=0;i<40000000;i++); PORTB = 0b11111101; //RB2をLowに設定 for(i=0;i<15000000;i++);          }        }

専門家に質問してみよう