PICでの電子工作でLEDが光らなくなった原因とは?

このQ&Aのポイント
  • PICでの電子工作をしている初心者ですが、急にLEDが光らなくなりました。回路はいじっていないのにプログラムを書き込んでも光らない原因を教えてください。
  • アセンブルしたプログラムの結果は成功しているようですが、Warningの文字が多く表示されます。初心者にもわかりやすく解説していただけると助かります。
  • アドレスが0006の値がテキストと異なる値になっており、これが原因ではないかと思います。アセンブルがうまく行われていないのでしょうか?どなたか教えてください。
回答を見る
  • ベストアンサー

PICについて

今PICでの電子工作をやり始めた初心者なのですが、 急にプログラムを書き込んでもLEDが光らなくなりました。 回路などはまったくいじってないです。 プログラムは基本的なプログラムです。 テキストに沿ってやっているので。 LIST P=PIC16F84A INCLUDE P16F84A.INC __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF BSF STATUS, RP0 CLRF TRISA CLRF TRISB BCF STATUS, RP0 MOVLW B'00001111' MOVWF PORTB LOOP GOTO LOOP END プログラムに間違いはないと思います。 きちんとアセンブルもされておりますので。 アセンブルにはMPLAB IDEを使っています。 原因をさぐってみてもわからなかったのですが、 レジスタの値を確認してみたところ、 アドレスが0006のところの値がすべて00となっておりテキストと違う値となっておりました。 これが原因かなと思うのですが、これはうまくアセンブルされていないということでしょうか? アセンブルした結果は次の通りです。ちゃんと成功しているみたいです。 ですが、きちんとLEDが点灯していたときと比べてやたらとWarningの文字が多いような気がします。 初心者でもわかりやすいようにわかる方がいましたらどなたか教えてください。 よろしくお願いします。 Clean: Deleting intermediary and output files. Clean: Deleted file "STEP10.err". Clean: Deleted file "C:\PIC_program\STEP10.cod". Clean: Deleted file "C:\PIC_program\STEP10.hex". Clean: Deleted file "STEP10.lst". Clean: Done. Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F84A "STEP10.asm" /l"STEP10.lst" /e"STEP10.err" Warning[205] C:\PIC_PROGRAM\STEP10.ASM 1 : Found directive in column 1. (LIST) Warning[205] C:\PIC_PROGRAM\STEP10.ASM 2 : Found directive in column 1. (INCLUDE) Warning[205] C:\PIC_PROGRAM\STEP10.ASM 4 : Found directive in column 1. (__CONFIG) Warning[203] C:\PIC_PROGRAM\STEP10.ASM 6 : Found opcode in column 1. (BSF) Warning[203] C:\PIC_PROGRAM\STEP10.ASM 7 : Found opcode in column 1. (CLRF) Message[302] C:\PIC_PROGRAM\STEP10.ASM 7 : Register in operand not in bank 0. Ensure that bank bits are correct. Warning[203] C:\PIC_PROGRAM\STEP10.ASM 8 : Found opcode in column 1. (CLRF) Message[302] C:\PIC_PROGRAM\STEP10.ASM 8 : Register in operand not in bank 0. Ensure that bank bits are correct. Warning[203] C:\PIC_PROGRAM\STEP10.ASM 9 : Found opcode in column 1. (BCF) Warning[203] C:\PIC_PROGRAM\STEP10.ASM 11 : Found opcode in column 1. (MOVLW) Warning[203] C:\PIC_PROGRAM\STEP10.ASM 12 : Found opcode in column 1. (MOVWF) Loaded C:\PIC_program\STEP10.COD. BUILD SUCCEEDED: Sat Nov 20 19:57:55 2010

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

どう見てもC/C++の文法じゃないんですが、アセンブラですか? あなたの「意図」はアセンブラは知るよしもないので、もちろん「プログラムが意図通りに出来ているか」なんてことは見てくれません。 単純に「文法的に間違いがあるか・ないか」だけを見ます。 ですから、「アセンブル出来た=プログラムの文法に間違いはない」とは言えても「あなたの意図通りに改造出来た」という判断基準にしてはいけません。 あと、警告はちゃんと中身を見ましょう。 「増えた気がする」のなら、その「増えた警告」が何かカギを握っている可能性は高いですから。

関連するQ&A

  • Z80のアセンブリをアセンブルしたいのですが。。。

    Z80のアセンブリをアセンブルしたいのですが。。。 いつもお世話になっております。 小生、只今、WindowsXPSP3上でZ-Vision6.42付録版を用いて、Z80のアセンブリを勉強しています。 今回質問させて頂きたいのは、下記に記述させて頂くコードがZ-Visionではアセンブルできません。 -----ソース----- OBJ $0100,$01FF FRE $1000,$1FFF CALL TEST END TEST: LD HL,1000 LD A,$FF LD B,32 L_TEST LD (HL),A INC HL DEC B JP NZ,L_TEST RET ---------- 上記に記述させて頂いたコードをアセンブルすると、以下の様なエラーが出ます -----エラー内容----- - Can not open message file. -Pass-1 -Pass-2 -Pass-3 C:\PROGRAM FILES\ZVW6\Z80PROGRAM\TEST.ASM 1 :Asm Error: 4013 C:\PROGRAM FILES\ZVW6\Z80PROGRAM\TEST.ASM 2 :Asm Error: 4013 C:\PROGRAM FILES\ZVW6\Z80PROGRAM\TEST.ASM 9 :Asm Error: 4011 C:\PROGRAM FILES\ZVW6\Z80PROGRAM\TEST.ASM 11 :Asm Error: 4013 C:\PROGRAM FILES\ZVW6\Z80PROGRAM\TEST.ASM 15 :Asm Error: 4011 -Warnings : 0- -Errors : 5- ---------- そこで、大変申し訳ないのですが、このコードをアセンブルできるフリーソフトなどご教示頂ければ、幸いです。 お忙しい中、大変申し訳ございませんが、以上、先輩方ご教示宜しくお願い致します。

  • PIC12C509A のアセンブルができない!(MPLAB IDE V

    PIC12C509A のアセンブルができない!(MPLAB IDE V8.40) MPLAB IDE V8.40 を使っております。 PIC12C509Aをアセンブルしようとすると、以下のエラーが出ます。 どのように対処すればよいのでしょうか? ちなみに、他のPICでは大丈夫のようです。 ---------------------------------------------------------------------- Debug build of project `C:\My_MPLAB\test2\test2.mcp' started. Language tool versions: MPASMWIN.exe v5.34, mplink.exe v4.34 Preprocessor symbol `__DEBUG' is defined. Mon Oct 04 12:52:29 2010 ---------------------------------------------------------------------- Make: The target "C:\My_MPLAB\test2\test2.o" is out of date. Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p12C509A "test2.asm" /l"test2.lst" /e"test2.err" /o"test2.o" /d__DEBUG=1

  • BUILD FAILEDについて

     プログラミングが初めてな者で分かりにくい質問になってしまっているかと思いますが宜しくお願いいたします。 なぜかエラーが起きるのですが、友人はなぜおきる分からないといっていたのですが。 MPLABを使っています。 #include<16f84a.h> void main(void) { while(1) { } } out putにはこの様に示されています。 Clean: Deleting intermediary and output files. Clean: Deleted file "C:\Users\Kazuma\pic\test2\test2.mcs". Clean: Done. Executing: "C:\Program files\Picc\CCSC.exe" +FM "test2.c" +DF +LN +T +A +M +Z +Y=9 +EA >>> Warning 203 "C:\Users\Kazuma\pic\test2\test2.c" Line 5(1,1): Condition always TRUE --- Info 300 "C:\Users\Kazuma\pic\test2\test2.c" Line 8(1,2): More info: File access denied *** Error 44 "C:\Users\Kazuma\pic\test2\test2.c" Line 8(1,2): Internal Error - Contact CCS OUTPUT FILE Halting build on first failure as requested. BUILD FAILED: Thu May 07 08:51:06 2009 プログラム的に難しくないと思うのですが。 ちなみにCCS-CコンパイラC:\Program files\Picc\CCSC.exeを使っています。 最初の初期設定が間違っているのでしょうか? 友人のパソコンでは同じ設定で出来ているので出来るはずなのですが、他に間違っているところがあればご指摘宜しくお願いいたします。

  • PICのプログラムがアセンブルできない

    MPLAB X(v3.05)とPICkit3とPIC16F84Aによりアセンブラプログラムを勉強を始めました初心者です。下記のプログラムがビルドエラーが出てhexファイルを生成できません。 8個のLEDを一つおきに点灯するだけのものですがエラーが出て、しかもその意味が分からない状態で悩んでおります。マニュアルを見ても糸口すら掴めないでおります。どなたか解決策をご教授いただけると幸いです。アセンブラはMPLAB X(v3.05)組み込みのMPASM、関係あるかわかりませんがPCのOSはXP(SP3)です。 どうかよろしくお願いいたします。 プログラム list p=16F84A #include "p16F84A.inc" __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_ON & _CP_OFF ;************************************** LEDD EQU 0x55 ;************************************** ORG 0x00 BSF STATUS,RP0 CLRF TRISB BCF STATUS,RP0 CLRF PORTB MOVLW LEDD MOVWF PORTB WAIT GOTO WAIT END 以下エラー内容です。 make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory 'C:/PIC_prog/test1.X' make -f nbproject/Makefile-default.mk dist/default/production/test1.X.production.hex make[2]: Entering directory 'C:/PIC_prog/test1.X' "C:\Program Files\Microchip\MPLABX\v3.05\mpasmx\mplink.exe" -p16f84a -w -m"dist/default/production/test1.X.production.map" -z__MPLAB_BUILD=1 -odist/default/production/test1.X.production.cof build/default/production/5_1_1.o build/default/production/16F84ATEMP.o MPLINK 5.08, LINKER Device Database Version 1.25 Copyright (c) 1998-2011 Microchip Technology Inc. Error - Configuration settings have been specified for address 0x00002007 in more than one object module. Found in './build/default/production/16F84ATEMP.o', previously found in './build/default/production/5_1_1.o' Errors : 1 make[2]: *** [dist/default/production/test1.X.production.hex] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 nbproject/Makefile-default.mk:128: recipe for target 'dist/default/production/test1.X.production.hex' failed make[2]: Leaving directory 'C:/PIC_prog/test1.X' nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed make[1]: Leaving directory 'C:/PIC_prog/test1.X' nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed BUILD FAILED (exit value 2, total time: 94ms)

  • 18FシリーズのPICマイコンでのトラブル

    MPLAB IDE にてエラーがおきてしまい困っています ---------------------------------------------------------------------- Debug build of project `C:\Program Files\pic\w.mcp' started. Language tool versions: mpasmwin.exe v5.34, mplink.exe v4.34, mcc18.exe v3.34 Preprocessor symbol `__DEBUG' is defined. Fri Oct 30 18:09:44 2009 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Deleted file "C:\Program Files\pic\rei.o". Clean: Done. Executing: "C:\MCC18\bin\mcc18.exe" -p=18F2320 /i"C:\MCC18\bin\LKR" -I"C:\MCC18\h" "rei.c" -fo="rei.o" -D__DEBUG -mL -Oa -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v3.34 (evaluation) Copyright 2000-2009 Microchip Technology Inc. Days remaining until evaluation becomes feature limited: 59 Executing: "C:\MCC18\bin\mplink.exe" "..\..\MCC18\bin\LKR\18f2320_g.lkr" "rei.o" /u_CRUNTIME /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /w /o"w.cof" MPLINK 4.34, Linker Link step failed. ---------------------------------------------------------------------- Debug build of project `C:\Program Files\pic\w.mcp' failed. Language tool versions: mpasmwin.exe v5.34, mplink.exe v4.34, mcc18.exe v3.34 Preprocessor symbol `__DEBUG' is defined. Fri Oct 30 18:09:44 2009 ---------------------------------------------------------------------- BUILD FAILED プログラムのエラーを修正しErrorはなくなりました しかし、ビルドが成功しません この原因のご指摘をよろしくお願いいたします

  • PICに関するプログラミングの質問です

    使用PIC PIC16F690 使用ソフト MPLAB IDE,HI-TECC c言語でプログラミングしているのですが LEDを点灯する簡単なプログラミングさえできません ソースファイル(1)を作ってビルドすると以下の様なエラーに関する文(2)がでるのですが 何が間違っているのかが分かりません ご指摘お願いします (1) #include <pic.h> __CONFIG(INTIO & WDTDIS & PWRTDIS & MCLRDIS & UNPROTECT & BORDIS & IESODIS & FCMDIS); void main(void) {      TRISC=0;      PORTC=0x01; } (2) HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.81 Copyright (C) 2010 Microchip Technology Inc. (1273) Omniscient Code Generation not available in Lite mode (warning) Error [800] test1.as; 45. undefined symbol "FCMDIS" Error [800] test1.as; 45. undefined symbol "IESODIS" Error [800] test1.as; 45. undefined symbol "BORDIS" Error [800] test1.as; 45. undefined symbol"UNPROTECT" Error [800] test1.as; 45. undefined symbol "MCLRDIS" Error [800] test1.as; 45. undefined symbol "PWRTDIS" Error [800] test1.as; 45. undefined symbol "WDTDIS" Error [800] test1.as; 45. undefined symbol "INTIO" ********** Build failed! **********

  • MPLAB IDEにてアセンブルできずに

    MPLAB IDEにてアセンブルできずにこまっています。 ---------------------------------------------------------------------- Debug build of project `C:\pic\test_2.mcp' started. Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31 Preprocessor symbol `__DEBUG' is defined. Wed Aug 12 09:20:05 2009 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Done. Build aborted. The project contains no source files. ---------------------------------------------------------------------- Debug build of project `C:\pic\test_2.mcp' failed. Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31 Preprocessor symbol `__DEBUG' is defined. Wed Aug 12 09:20:05 2009 ---------------------------------------------------------------------- BUILD FAILED エラー箇所もでないのでどこに問題があるのかもわかりません。 原因のご指摘をお願いします

  • 日本語TSVファイルのLOAD DATA INFILE が失敗

    日本語(EUCJP)を含むタブ区切りテキストのインポートに失敗しており、 行き詰ってしまいました。考えられる原因等お気付きありましたら、 ご指摘頂ければ助かります。 尚、my.cnfで[mysql], [mysqld], [mysqlimport], [mysqldump]は、 default-character-set=ujis で設定しています。 mysql> select version(); +---------------------+ | version() | +---------------------+ | 5.0.27-standard-log | +---------------------+ 1 row in set (0.00 sec) mysql> LOAD DATA INFILE "/hoge/hoge.csv" INTO TABLE test; Query OK, 5 rows affected, 15 warnings (0.00 sec) Records: 5 Deleted: 0 Skipped: 0 Warnings: 15 mysql> show warnings; +---------+------+-----------------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------------+ | Warning | 1265 | Data truncated for column 'mycolumn1' at row 1| | Warning | 1265 | Data truncated for column 'mycolumn2' at row 1| | Warning | 1265 | Data truncated for column 'mycolumn3' at row 1| | Warning | 1265 | Data truncated for column 'mycolumn1' at row 2| | Warning | 1265 | Data truncated for column 'mycolumn2' at row 2| | Warning | 1265 | Data truncated for column 'mycolumn3' at row 2| | Warning | 1265 | Data truncated for column 'mycolumn1' at row 3| | Warning | 1265 | Data truncated for column 'mycolumn2' at row 3| | Warning | 1265 | Data truncated for column 'mycolumn3' at row 3| | Warning | 1265 | Data truncated for column 'mycolumn1' at row 4| | Warning | 1265 | Data truncated for column 'mycolumn2' at row 4| | Warning | 1265 | Data truncated for column 'mycolumn3' at row 4| | Warning | 1265 | Data truncated for column 'mycolumn1' at row 5| | Warning | 1265 | Data truncated for column 'mycolumn2' at row 5| | Warning | 1265 | Data truncated for column 'mycolumn3' at row 5| +---------+------+-----------------------------------------------+ 15 rows in set (0.01 sec) こんな状態です。ちなみに、mycolumn1,2,3のカラムは、 日本語を格納する為のカラムで、varchar(255), text型です。 他のカラムには英数字データが入るのですが、そちらは成功しています。 上記Warning文を見た限りでは、MySQLによりデータが加工されている ようですが。。。。 この問題を解決する為に、他に設定するべきことや、 必要なコマンドがありますでしょうか? またコマンドラインからの、mysqlimportも同様に失敗しました。 日本語テキストのインポートによるテーブルデータ格納は MySQLの仕様的に可能かと思われますが、上記問題がおきてしまいました。 お気付きありましたら、ご指摘いただけたら助かります。

  • PICの__CONFIGのラインについて

    PICのことで解らないことがあります。初歩的な問題ですがご容赦ください。以下にソースファイルとエラーメッセージを載せています。どうすればコンパイルできますか?よろしくお願いします。 ******************************************************************************* /***************************** STEP03_TEST.c *****************************/ // インクルードファイルの読み込み #include <pic.h> #include "16F627A.h" // コンフィギュレーションワードの設定 __CONFIG ( UNPROTECT & LVPDIS & BOREN & MCLREN & PWRTEN & WDTDIS & INTIO ); // メイン関数 void main (void) { // 1,2,17,18端子を入出力端子に設定 CMCON = 0x07; // 電圧レベルの初期設定 PORTA = 0xFF; PORTB = 0xFF; // 入出力設定 TRISA = 0x21; TRISB = 0x00; // 永久ループ while(1) { // SW1がONの場合 if (RA0 == 0) { // LED1点灯 RB0 = 0; } // その他の場合(SW1がOFFの場合) else { // LED1消灯 RB0 = 1; } } } ******************************************************************************* Build C:\fivethapp\fiveth for device 16F627A Using driver C:\Program Files\HI-TECH Software\PICC\9.81\bin\picc.exe Make: The target "C:\fivethapp\STEP03_TEST.p1" is up to date. Executing: "C:\Program Files\HI-TECH Software\PICC\9.81\bin\picc.exe" -ofiveth.cof -mfiveth.map --summary=default --output=default STEP03_TEST.p1 --chip=16F627A "-IC:\Program Files\HI-TECH Software\PICC\9.81\include" -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.81 Copyright (C) 2010 Microchip Technology Inc. (1273) Omniscient Code Generation not available in Lite mode (warning) Error [800] fiveth.as; 45. undefined symbol "INTIO" Error [800] fiveth.as; 45. undefined symbol "WDTDIS" Error [800] fiveth.as; 45. undefined symbol "PWRTEN" Error [800] fiveth.as; 45. undefined symbol "MCLREN" Error [800] fiveth.as; 45. undefined symbol "BOREN" Error [800] fiveth.as; 45. undefined symbol "LVPDIS" Error [800] fiveth.as; 45. undefined symbol "UNPROTECT" ********** Build failed! **********

  • 困ってます。アセンブルのエラーについて

    PICでセグメントLEDを表示させるプログラムを作ったのですがどうしてもエラーが出てしまい困ってます。 文字制限の関係で全部は表示しきれませんのでエラー箇所とエラー内容を載せました。 どこがおかしいのか教えて頂けないでしょうか? LIST P=PIC16F887 INCLUDE "P16F887.INC" __CONFIG _CONFIG1, _HS_OSC & _PWRTE_OFF & _MCLRE_OFF TIM1 EQU 0CH TIM2 EQU 0DH TIM3 EQU 0EH   ORG 0 GOTO START START BSF STATUS,RP0 MOVLW B'00000000' (エラー箇所) MOVWF TRISC MOVLW B'00000000' (エラー箇所) MOVWF TRISD MOVLW B'00000000' (エラー箇所) MOVWF ADCON1 BCF STATUS,RP0 エラー内容 Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F887 "DisplayProgramof14segmentLED.asm" /l"DisplayProgramof14segmentLED.lst" /e"DisplayProgramof14segmentLED.err" /o"DisplayProgramof14segmentLED.o" Message[302] C:\MY_MPLAB\LEDDISPLAYPROGRAM\DISPLAYPROGRAMOF14SEGMENTLED.ASM 28 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\MY_MPLAB\LEDDISPLAYPROGRAM\DISPLAYPROGRAMOF14SEGMENTLED.ASM 30 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\MY_MPLAB\LEDDISPLAYPROGRAM\DISPLAYPROGRAMOF14SEGMENTLED.ASM 32 : Register in operand not in bank 0. Ensure that bank bits are correct.

専門家に質問してみよう