フリスクレベル(デジタル水準器)

概要

  

「電子工作コンテスト2010」にて「秋月賞」を受賞

 

ハードウェア

概要

部品

回路図

ソフトウェア

概要

ソースコード

 
#include 
#define _XTAL_FREQ 4000000 //for __delay(@4MHz)
 
//Configuration Bits
__CONFIG(
	  MCLRDIS //内部リセット回路の使用
	& PWRTEN  //パワーアップタイマの使用
	& BORDIS
	& UNPROTECT
	& WDTDIS
	& INTIO   //内部クロック生成器の使用
	& FCMDIS
	& IESODIS
);
 
//ID Location
__IDLOC(F683); //PIC12F683
 
void main(void){
 
	OSCCON = 0b01100000; //3Vの電圧で動作させるためにクロック周波数を4MHzに落とす
 
	while(1){
 
		ADCON0 = 0b00001101; //GP4(AN3)をAD変換の対象ポートにする
		__delay_us(20);
		GODONE = 1; //変換の開始指示
		while(GODONE); //変換が終わるまで待機
 
		if      (ADRESH >= 127+4) {GPIO = 0b00000001; TRISIO = 0b00111100;}
		else if (ADRESH >= 127+2) {GPIO = 0b00000010; TRISIO = 0b00111100;}
		else if (ADRESH >= 127+0) {GPIO = 0b00000001; TRISIO = 0b00111010;}
		else if (ADRESH >= 127-2) {GPIO = 0b00000100; TRISIO = 0b00111001;}
		else                      {GPIO = 0b00000010; TRISIO = 0b00111001;}
	}
}

更新履歴

Copyright © 2006- "ysdu16.com" Some right reserved.