• 締切済み

プログラムについて pic

第3bit目がマスクし取り出した信号で、この信号を第0bit目に移す場合 x=(0b00001000)〉〉3 これで合っていますか? pulseを読み取り、カウントするプログラム portaの第0bitからpulseを読み込んで信号が変化したとき、数を数えて、現在のカウントをportbに出力する #include <pic.h> main() { unsigned char before,after; TRISA=0xFF; TRISB=0x00; before=PORTA&1; PORTB=0; for(;;) { after=(PORTA &8)>>3; if(before==0&&after==1) { PORTB=1; } else { PORTB=0; } before=after; } } どのように変更・付け加えをしたらいいでしょうか?どなたかわかる方はお願いします。

みんなの回答

  • kngj1740
  • ベストアンサー率18% (197/1052)
回答No.1

前提条件が不明確です。port Aを読み取る関数の仕様、port Bへ出力する関数の仕様。 port Aへのパルス発生の仕様。例えばスイッチを手で押したりする場合はチャタリングが不可避です。チャタリング除去はハードウェア回路でされているのか、それともソフトで対応しなければならないのか。ソフトで対応する場合はチャタリング除去処理が必要です。(キーボードなどでは必ず行ってます)。

関連するQ&A