• 締切済み

RB0が電圧落ちる

以前RB6と投稿していましたがRB0でした ダイナミック点灯で4x4のLEDを制御するのですが PORTBの0~3はアノード 4~7はカソードに接続 なぜか PORTBの0につながるLEDだけ暗くなるんです MPLABIDEでXC8コンパイラを使用しております #include <stdio.h> #include <stdlib.h> #include <xc.h> // PIC16F886 Configuration Bit Settings // CONFIG1 #pragma config FOSC = XT #pragma config WDTE = OFF #pragma config PWRTE = ON #pragma config MCLRE = ON #pragma config CP = OFF #pragma config CPD = OFF #pragma config BOREN = OFF #pragma config IESO = OFF #pragma config FCMEN = OFF #pragma config LVP = OFF // CONFIG2 #pragma config BOR4V = BOR40V #pragma config WRT = OFF void delay(int a); int main(int argc, char** argv) { int i; ANSEL=0x00; ANSELH=0x00; ADCON0=0x83; ADCON1=0x00; TRISA=0x3F; TRISB=0x00; TRISC=0xFF; PORTA=0x00; PORTB=0x00; PORTC=0x00; while(1){  delay(1000);      PORTB=0b00000001;  delay(1000);  PORTB=0b00000010;  delay(1000);  PORTB=0b00000100;  delay(1000);  PORTB=0b00001000;  delay(1000);  PORTB=0b00000000;  delay(1000); } return (EXIT_SUCCESS); } void delay(int a){     //crystal frequency =20MHz //if x=1;(a)msec_Delay //if x=1000;(a)sec_Delay #define x 1 #define p 246/5*2 int t;int u;int v;v=a*x; for(t=1;t<=v;t++){ for(u=1;u<=p;u++){ ; } } }; あと 投稿時にtabキーを使用するには どうしたらいいでしょう

みんなの回答

回答No.4

> ダイナミック点灯で4x4のLEDを制御するのですが > PORTBの0~3はアノード > 4~7はカソードに接続 当然、電流制限用の抵抗をかましてLEDに接続しているだと思いますが、その抵抗値がひとつだけ違ったとか、半田付けがてんぷらで/ブレッドボードでの接触が緩んでた、といったハード的な要因のほうはどうですか?

Gen_bamboo
質問者

お礼

ハード側は大丈夫だと思います PORTCに割り付けてみたら明るくなりました PICのDATAラッチが無いとか INTとか関係するのか と思ったのですが あんまり分からないです ありがとうございます

noname#215107
noname#215107
回答No.3

No.2です。 先ほどの回答では検証に不十分でした。 比較するために、プログラムを100分の1くらいのスピードでループさせてみたら、どうなりますか? (例 delay(1000); をそれぞれ更に100回ループさせるなど)

Gen_bamboo
質問者

お礼

やはりRB0のみ2v程度に 落ちてしまいます DATAラッチっていうものが 関係あるんですかね ありがとうございます

noname#215107
noname#215107
回答No.2

プログラムをループさせないで、RB0につながるLEDだけを連続点灯させてみたらどうなりますか?

Gen_bamboo
質問者

補足

ちなみに使用マイコンは PIC16F886 です http://ww1.microchip.com/downloads/en/DeviceDoc/41291D.pdf

  • Nebusoku3
  • ベストアンサー率38% (1464/3823)
回答No.1

内容を熟知しているわけでは有りませんが、 PORTB=0b00000000; の次にある  delay(1000); が関係していませんか。  筋はずれの内容であればすみません。

関連するQ&A