プログラム
#include <16F873.h>
//加速度センサ
#device ADC=10
#fuses HS,NOWDT,NOLVP,NOPROTECT,NOBROWNOUT
#use delay(clock = 20000000)
#use RS232(BAUD=9600,xmit=PIN_C6,rcv=PIN_C7)
//#byte port_b=6
long vd,sum,max,min;
int i;
void main(){
set_tris_b(0);
set_tris_a(0xF);
setup_adc_ports(AN0);
setup_adc(ADC_clock_div_32);
set_adc_channel(0);
while(1){
output_bit(PIN_B0,1);
delay_ms(100);
set_adc_channel(0);
sum=0;
max=0;
min=1000;
delay_ms(2);
for(i=0;i<5;i++){
vd=read_adc();
delay_ms(10);
sum=sum+vd;
if(max<vd) max=vd;
if(min>vd) min=vd;
}
printf("\r\nADX:%ld:%ld:%ld",sum/5,max,min);
set_adc_channel(1);
sum=0;
max=0;
min=1000;
delay_ms(2);
for(i=0;i<5;i++){
vd=read_adc();
delay_ms(10);
sum=sum+vd;
if(max<vd) max=vd;
if(min>vd) min=vd;
}
printf("\r\nADY:%ld:%ld:%ld\r\n",sum/5,max,min);
output_bit(PIN_B0,0);
delay_ms(2000);
}
}