練習

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
おかず

練習

#1

投稿記事 by おかず » 11年前

コード:

#include <pic.h>

//ライトをオンにする
int lighton(int i)
	{
	//次のライト信号を生成
	i = i * 2 + 0b00000010;
	//信号を更新
	PORTB = i;
	//最新の点灯状況を返す
	return i;
	}
	
//ライトをオフにする
int lightoff(int i)
	{
	//次のライト信号を生成
	i = i * 2 ;
	//信号を更新
	PORTB = i;
	//最新の点灯状況を返す
	return i;
	}

void main(){
	//変数初期値
	int i = 0b0000000;
	//タイマーのオーバーフロー数カウンター
	int j = 0;
	//PORTBの入出力初期設定
	TRISB = 0b11000001;
	//OPTION_REGの初期設定
	//256倍のプリスケーラー	
	OPTION = 0b11000111;
	//ライト信号の初期値
	PORTB = 0b11000001;
	
	//5つ目のライトがついていない限り
	while(RB5 == 0)
		{
			//タイマーカウンターがオーバーフローしたら
		if(T0IF == 1)
			{
			//オーバーフローを1カウント
			j++;
			//オーバーフローをリセット
			T0IF = 0;
			}	
		
		if(j > 76)
			{
			//ライトオン関数実行
			i = lighton(i);
			//タイマーオーバーフローカウンターをリセット
			j = 0;
			}
}
	//5つ目のライトがついている限り
	while(RB5 == 1)
		{
		//タイマーカウンターがオーバーフローしたら
		if(T0IF == 1)
			{
			//オーバーフローを1カウント
			j++;
			//オーバーフローをリセット
			T0IF = 0;
		}	
		//13.1ms×77回=1s秒たったら
		if(j > 76)
			{
			//ライトオフ関数実行
			i = lightoff(i);
			//タイマーオーバーフローカウンターをリセット
			j = 0;
		}	
	}
} 

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: 練習

#2

投稿記事 by Dixq (管理人) » 11年前

質問の趣旨は何でしょうか?
テスト投稿などはこちらをご利用ください。
http://dixq.net/forum/viewforum.php?f=42

閉鎖

“C言語何でも質問掲示板” へ戻る