목차
■ 예비문제
1) 앞에서 설명하지 않은 방법으로 PIN 9를 통하여 1을 출력하는 명령어를 만들어 보시오
2) 1)의 조건을 입력으로 변경하여 명령어를 만들어 보시오
3) I/O 초기 설정까지 포함하여 PORTA, PORTB 전부를 OUTPUT으로 사용하기 위한 프로그램을 작성하시오
4) 예8)를 다른 명령어를 사용하여 2개 이상 프로그램 하시오.
5) PIN 10(RB4)이 1 이면 XY 번지로, 0이면 WZ 번지로 분지하는 프로그램을 작성하시오.
6) 명령어 표를 보면 어떤 명령어는 STATUS에 영향을 주지 않는 것으로 되어 있다. 이 의미가 프로그램 작성시 구체적으로 어떻다는 것인가를 설명해 보시오.
1) 앞에서 설명하지 않은 방법으로 PIN 9를 통하여 1을 출력하는 명령어를 만들어 보시오
2) 1)의 조건을 입력으로 변경하여 명령어를 만들어 보시오
3) I/O 초기 설정까지 포함하여 PORTA, PORTB 전부를 OUTPUT으로 사용하기 위한 프로그램을 작성하시오
4) 예8)를 다른 명령어를 사용하여 2개 이상 프로그램 하시오.
5) PIN 10(RB4)이 1 이면 XY 번지로, 0이면 WZ 번지로 분지하는 프로그램을 작성하시오.
6) 명령어 표를 보면 어떤 명령어는 STATUS에 영향을 주지 않는 것으로 되어 있다. 이 의미가 프로그램 작성시 구체적으로 어떻다는 것인가를 설명해 보시오.
본문내용
.
예8) REGISTER FILE 22H 번지의 내용이 00H 이면 XY 번지의 프로그램을 수행하고 아니면 WZ 번지의 프로그램을 수행하도록 하는 프로그램
① MOVLW.0
ADDWF22H, W
BTFSSSTATUS, ZF
GOTOWZ
GOTOXY; 0을 22H에 더했을 때 22H가 0이면 값이 0, 22H가 0이 아니었다면 결과가 1이 나올 것이므로 Z flag를 이용해서 비트테스트 하였다
② MOVLW .1
ANDWF22H, W
BTFSCSTATUS, ZF
GOTO XY
GOTO WZ; 1과 어떤 수를 AND연산하면 그 자신이 결과값으로 나온다는 사실을 이용, Z flag를 이용해서 비트테스트 해보았다.
5) PIN 10(RB4)이 1 이면 XY 번지로, 0이면 WZ 번지로 분지하는 프로그램을 작성하시오.
① BTFSSPORTB, 5 ② BTFSC PORTB, 5
GOTOWZ GOTO XY
GOTOXY GOTO WZ
6) 명령어 표를 보면 어떤 명령어는 STATUS에 영향을 주지 않는 것으로 되어 있다. 이 의미가 프로그램 작성시 구체적으로 어떻다는 것인가를 설명해 보시오.
프로그램을 단순하게 구현할 수 있다. 메모리의 효율성을 높일 수 있다.
예8) REGISTER FILE 22H 번지의 내용이 00H 이면 XY 번지의 프로그램을 수행하고 아니면 WZ 번지의 프로그램을 수행하도록 하는 프로그램
① MOVLW.0
ADDWF22H, W
BTFSSSTATUS, ZF
GOTOWZ
GOTOXY; 0을 22H에 더했을 때 22H가 0이면 값이 0, 22H가 0이 아니었다면 결과가 1이 나올 것이므로 Z flag를 이용해서 비트테스트 하였다
② MOVLW .1
ANDWF22H, W
BTFSCSTATUS, ZF
GOTO XY
GOTO WZ; 1과 어떤 수를 AND연산하면 그 자신이 결과값으로 나온다는 사실을 이용, Z flag를 이용해서 비트테스트 해보았다.
5) PIN 10(RB4)이 1 이면 XY 번지로, 0이면 WZ 번지로 분지하는 프로그램을 작성하시오.
① BTFSSPORTB, 5 ② BTFSC PORTB, 5
GOTOWZ GOTO XY
GOTOXY GOTO WZ
6) 명령어 표를 보면 어떤 명령어는 STATUS에 영향을 주지 않는 것으로 되어 있다. 이 의미가 프로그램 작성시 구체적으로 어떻다는 것인가를 설명해 보시오.
프로그램을 단순하게 구현할 수 있다. 메모리의 효율성을 높일 수 있다.