my_BinaryCounter
最後にサンプルプログラムをベースに変更を加えてにました。
(1)my_BinaryCounterソースプログラム
my_BinaryCounterソースプログラムを以下に示します。
//my_BinaryCounter
#define _LEGACY_HEADERS
#include <pic.h>
// プロトタイプ宣言
void WaitTime (long cnt);
// メイン関数
void main (void)
{
unsigned char PC=0;
unsigned char MC=0;
// 1,2,17,18端子を入出力端子に設定
CMCON = 0x07;
// 電圧レベルの初期設定
PORTA = 0xFF;
PORTB = 0xFF;
// 入出力設定
TRISA = 0b00101111;
TRISB = 0x00;
// 永久ループ
while(1)
{
if(RA0 == 0)// SW1がONの場合
{
WaitTime (255);// 待ち時間関数の呼び出し
while( RA0 == 0 );// SW1がONの間ループ
WaitTime (255);// 待ち時間関数の呼び出し
if(PC <= 1)
{
PC=16;
}
else
{
PC=PC/2;
}
PORTB = 0xFF;
MC=0;
}
if(RA1 == 0)// SW2がONの場合
{
WaitTime (255);// 待ち時間関数の呼び出し
while( RA1 == 0 );// SW2がONの間ループ
WaitTime (255);// 待ち時間関数の呼び出し
if(MC <= 1)
{
MC=16;
}
else
{
MC=MC/2;
}
PORTB = 0x00;
PC=0;
}
if(RA2 == 0 || RA3 ==0)// SW3orSW4がONの場合
{
PC=0;MC=0;PORTB = 0xFF;
}
if(PC > 1)
{
WaitTime (500*PC);
PORTB = PORTB - 1;
}
if(MC > 1)
{
WaitTime (500*MC);
PORTB = PORTB + 1;
}
}
}
// 待ち時間関数
void WaitTime ( long cnt )
{
while (cnt > 0)
cnt--;
}
my_BinaryCounter.cの内容は以下を開いてコピーします。
「my_BinaryCounter.cの内容」にいく。