마이크로프로세서 응용회로설계실습 결과보고서7
- 최초 등록일
- 2024.07.05
- 최종 저작일
- 2024.04
- 8페이지/
어도비 PDF
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
목차
없음
본문내용
1. “Hello”라는 한 개의 문자열을, 커서를 증가/감소 모드로 두고 입력했을 때, CLCD에는 각각 어떤 모습으로 나타나겠는가?
: 증가모드는 I/D의 값이 1로 왼쪽에서 오른쪽으로 글자가 써지는 모드이고 감소모드는 값이 0으로 오른쪽에서 왼쪽으로 글자가 써지는 모드이다. 따라서 증가모드의 경우 “Hello”라고 나타나고 감소모드의 경우 “olleH”로 나타난다.
2. 문자열에서 NUL 값을 제외하기 위해 어떤 방법을 사용하였는가? 만약 정상적으로 동작 하지 않는다면 이유는 무엇이며 어떻게 고쳐야 하겠는가?
: 문자열에서는 자동으로 ‘\0’을 저장하여 메모리가 저장될때 문자열이 끝났음을 알려준다. 다음의 코드의 경우는 void clcd_write_string(char str[]) 함수의 for문에 NUL문자 제외 조건이 있다.
따라서, NULL 문자는 ASCII 코드로 '\0' (NUL)이며, 16진수로 표현하면 0x00이다.
따라서, 문자열에서 NUL 문자를 만났을 때는 str[i] == 0 조건이 충족된다. 이것은 반복문에서 조건을 만족시키지 못하므로, for 루프를 탈출하게 된다. 이로 인해 clcd_write_data(str[i]);와 같은 코드는 NUL 문자에 대해서는 실행되지 않는다.
3. CLCD의 Function Set 기능을 이용할 때, DL, N, F 값은 각각 얼마이며 그 이유는 무엇 인가?
DL=1
N=1
F=0
DL=1: data를 전달하는 DB pin 수는 제어명령에 사용하는 비트 수와 같고 이것은 8bits를 사용하기 위한 것이다.
N=1: 문자 표시를 위해 두 줄을 사용하기 위해 주어진 값이다.
F=0 : 5*8 dots의 폰트를 사용하기 위한 것이다.
참고 자료
없음