(A+) 마이크로프로세서응용 ATmega128 CLCD 실습 보고서
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

(A+) 마이크로프로세서응용 ATmega128 CLCD 실습 보고서에 대한 보고서 자료입니다.

목차

1. 실험목표
2. 관련이론
3. 데이터시트
4. 실험
5. 실험결과
6. 오차 및 분석

본문내용

_byte(unsigned char addr)
: LCD character generator 또는 display RAM으로부터 한 Byte를 읽어온다.
⑥ void lcd_clear(void)
: 디스플레이를 클리어 하고난 후 문자 표시 위치를 row 0, column 0 위치로 설정한다.
⑦ void lcd_gotoxy(unsigned char x, unsigned char y)
: 현재 디스플레이 위치를 column x와 row y로 설정한다.
(16*2 LCD의 경우 column x = 0 ~ 15, row y = 0 ~ 1)
⑧ void lcd_putchar(char c)
: 문자 변수에 저장된 문자를 현재 디스플레이 위치에 표시한다.
⑨ void lcd_puts(char *str)
: SRAM에 있는 문자열을 현재 디스플레이 위치에 표시한다.
⑩ void lcd_putsf(char flash *str)
: FLASH 메모리에 있는 문자열을 현재 디스플레이 위치에 표시한다.
MCU 모듈 회로도
실습 회로도
3.2 실습 코드 분석(CLCD 출력 예제)
- ① #include 및 #include
이들은 ATmega128 마이크로컨트롤러 및 LCD 라이브러리에 필요한 헤더 파일을 포함하는 전처리기 지시문이다.
- ② #asm 및 #endasm
이 부분은 어셈블리 코드를 포함하고 있으며, .equ __lcd_port = 0x15; 를 사용하여 __lcd_port 라는 심볼을 정의하고 있다. 또한 이 심볼은 LCD의 제어 핀을 나타내며, 0x15는 포트 C (PORTC)의 주소를 나타낸다.
- ③ unsigned char str1[16]= \"Hello World\"; 및 unsigned char str2[16]= \" ATmega128 \";
이들은 문자열을 저장하기 위한 두 개의 배열을 정의한다. str1 배열에는 \"Hello World\" 문자열이, str2 배열에는 \" ATmega128 \" 문자열이 저장된다.
- ④ void main(void)
프로그램의 진입점을 정의하는 main 함수이다. void는 함수가 아무런 값을 반환하지 않음을 나타낸다.
- ⑤ lcd_init(16);
LCD를 초기화하는 함수 lcd_init을 호출한다. 이 함수는 16x2 크기의 LCD를 초기화한다.
- ⑥ lcd_clear();
LCD 화면을 지우는 함수 lcd_clear를 호출하여 화면을 초기화한다.
- ⑦ while(1) { ... }
무한 루프를 시작한다. 이 루프는 프로그램이 계속해서 실행된다.
- ⑧ lcd_gotoxy(0,0);
LCD 화면의 커서 위치를 첫 번째 줄, 첫 번째 열 (0,0)로 이동시킨다.
- ⑨ lcd_puts(str1);
LCD 화면에 str1 배열의 내용을 출력한다.
- ⑩ lcd_gotoxy(0,1);
LCD 화면의 커서 위치를 두 번째 줄, 첫 번째 열 (0,1)로 이동시킨다.
- ⑪ lcd_puts(str2);
LCD 화면에 str2 배열의 내용을 출력한다.
4. 오차 및 분석
- 이번 실험에서는 오차가 일어나지 않았다. 실험 결과가 예상대로 완벽하게 나왔다.
나머지는 내가 생각한 다른 가능성들이다.
- 첫째로, 소자의 불확실성이다. 이번 강의에 사용한 소자는 우리 학교 랩실 인원들이 하나하나 직접 기판에 납땜을 한 소자로서, 그 과정에서 소자가 손상됐을 가능성이 존재한다.
(실제로, 첫 시간에 저항과 전구 등을 납땜하고 노트북과 연결하여 작동을 확인 할 당시, 8개의 전구 중 하나가 계속 불이 들어오지 않아 당황했었는데, 2시간의 피드백 끝에, ATmega128 소자 불량으로 파악되었다. 자세하게는, 49번 핀인 PA2 부분이 제대로 납땜이 되어 있지 않았던 것이다. 그 부분을 인두기로 다시 제대로 납땜하니, 전구는 정상적으로 들어왔다.)
- 둘째로, 점퍼선(와이어)에서도 저항은 존재한다는 것이다. 그러므로 전류가 그 점퍼선(와이어)을 이동하면서 자연스럽게 그 점퍼선 상에 있는 자그마한 저항의 영향을 받기 때문에 시뮬레이션의 결과처럼 이상적이론적 결과는 현실적으로는 불가능하기 때문에 오차가 생긴 것이라고 생각한다.
- 셋째로는, 점퍼선(와이어)의 결함이라고 생각한다.
소자와 소자 사이를 이을 때, 우린 보통 래핑 와이어를 사용하는데, 절연 소자로 감싸져있는 와이어 속이 미세하게 끊어져 있을 수도 있고, 또는 납땜하는 과정에서 미세하게 전류가 통하지 않게 납땜을 했을 가능성 또한 배제할 수 없다고 생각한다.
  • 가격3,000
  • 페이지수9페이지
  • 등록일2024.11.04
  • 저작시기2023.11
  • 파일형식한글(hwp)
  • 자료번호#1527856
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니