Page 207 - 3-3
P. 207
PORTC = (dist<0)?fnd[(~dist+1)%10]:fnd[dist%10];
// 딜레이
delay_ms(1);
// 두 번째 FND 선택
PORTF = FND2;
//stop 이 on 이면 I, 아니면 1 의 자리 & dp 출력
PORTC = ((dist<0)?fnd[((~dist+1)/10)%10]:fnd[(dist/10)%10]) & 0x7f;
// 딜레이
delay_ms(1);
// 세 번째 FND 선택
PORTF = FND3;
//stop 이 on 이면 A, 아니면 10 의 자리 출력
PORTC = (dist<0)?fnd[(~dist+1)/100]:fnd[dist/100];
// 딜레이
delay_ms(1);
// 네 번째 FND 선택
PORTF = FND4;
//stop 이 on 이면 F, 아닐때 음수면 '-', 아니면 끔
PORTC = (dist<0)?0xbf:0xff;
// 딜레이
delay_ms(1);
}
// 종료 제어 함수
void endControl(void)
{
//for 문 인덱스
int i;
// 거리값 전송
// 거리값이 음수면
if(dist<0){
//-#.# 형태로 데이터 전송
printf("-%d.%d",(~dist+1)/10,(~dist+1)%10);
}
// 거리값이 양수면
else{
//#.# 형태로 데이터 전송
printf("%d.%d",dist/10,dist%10);
}
- 207 -