마이크로프로세서실습예비보고서

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
>
새로운 AI자료
생성
다운로드

상세정보

소개글

"마이크로프로세서실습예비보고서"에 대한 내용입니다.

목차

1. 마이크로프로세서 실험 및 설계 예비보고서
1.1. 실습1: GPIO로 LED 켜기
1.2. 실습2: 스위치 눌러 LED 불켜기

2. 마이크로프로세서설계실습 (예비보고서 9)
2.1. 교재 P.59에 있는 문제 풀기
2.1.1. "Hello" 문자열 입력 시 CLCD 출력
2.1.2. 문자열에서 NUL 값 제외하는 방법
2.1.3. CLCD의 Function Set 기능 설정
2.2. Ximulator로 7주차 예제 실행
2.3. 학번과 영어 이니셜 출력 코드 수정
2.4. keypad_out, keypad_in 코드 작성
2.5. 그림 중 D Flip-Flop 회로 확인
2.6. keypad.c의 *key_value 함수 역할

3. Post-Lab Report - Lab#1 Design with TTL Gates
3.1. Introduction
3.1.1. Purpose of this Lab
3.1.2. Essential Backgrounds for this Lab
3.2. Materials & Methods
3.2.1. Materials(Equipments, Devices) of this Lab
3.3. Results of this Lab
3.3.1. Results of Lab 1
3.3.2. Results of Lab 2
3.3.3. Results of Lab 3
3.3.4. Results of Lab 4
3.3.5. Results of Lab 5
3.4. Discussion
3.4.1. Check agreement between the hypothesis and the result
3.4.2. Data analysis
3.5. Conclusion
3.5.1. Summarize experiment contents & purpose of this Lab
3.5.2. Studies from this Lab
3.6. Reference

4. 참고 문헌

본문내용

1. 마이크로프로세서 실험 및 설계 예비보고서
1.1. 실습1: GPIO로 LED 켜기

ATMega 128 마이크로컨트롤러는 다양한 GPIO(General Purpose Input/Output) 핀을 제공하여 LED와 같은 외부 장치를 제어할 수 있다. GPIO 핀을 사용하여 LED를 켜는 방법은 매우 간단하다.

먼저, LED의 양극 핀을 MCU의 GPIO 핀 중 하나에 연결하고, 음극 핀은 접지(GND)에 연결한다. 그 다음, 프로그래밍을 통해 GPIO 핀의 출력을 HIGH로 설정하면 LED가 켜지게 된다.

GPIO 핀의 출력 상태를 제어하기 위해서는 MCU 레지스터를 직접 다루어야 한다. ATMega 128의 경우 PORTA, PORTB, PORTC, PORTD와 같은 포트 레지스터를 이용하여 GPIO 핀을 제어할 수 있다.

예를 들어, PORTA의 0번 핀(PA0)에 LED를 연결했다면, PORTA 레지스터의 0번 비트를 1로 설정하면 LED가 켜질 것이다. 이를 위해 PORTA |= (1<<0) 와 같은 코드를 작성하면 된다.

이처럼 GPIO 핀을 이용하여 LED를 제어하는 것은 마이크로프로세서 실습의 기본이 된다. 이를 통해 MCU와 외부 장치 간의 기본적인 입출력 제어 기능을 익힐 수 있다.


1.2. 실습2: 스위치 눌러 LED 불켜기

스위치 눌러 LED 불켜기

ATMega 128 마이크로프로세서에는 범용 입출력 포트인 GPIO(General Purpose Input Output)가 있다. 이를 통해 스위치를 입력 장치로, LED를 출력 장치로 사용할 수 있다. GPIO 포트를 활용하여 스위치를 누르면 LED가 켜지도록 회로를 구성할 수 있다.

실습의 순서는 다음과 같다. 첫째, 스위치와 LED를 GPIO 포트에 연결한다. 둘째, 스위치 입력을 감지하는 코드를 작성한다. 스위치가 눌리면 논리적 신호가 발생하므로, 이를 감지하여 LED를 켜도록 프로그래밍한다. 셋째, 스위치가 눌리면 LED가 켜지고, 스위치가 눌리지 않으면 LED가 꺼지도록 구현한다.

코드 작성 시 if문을 활용하여 스위치 입력 상태를 확인한다. 스위치가 눌리면 1의 논리 상태가 되므로, if문에서 스위치 입력이 1인 경우에 LED를 켜는 로직을 작성한다. 이와 반대로 스위치가 눌리지 않으면 0의 논리 상태가 되므로, LED를 끄도록 코드를 작성한다.

또한 for문을 이용하여 LED 점등 시간을 조절할 수 있다. 일정 시간 동안 LED가 켜져 있도록 하여 사용자가 인지할 수 있도록 한다. 이렇게 GPIO와 C언어의 제어 구문을 활용하여 스위치로 LED를 제어하는 회로를 구현할 수 있다.


2. 마이크로프로세서설계실습 (예비보고서 9)
2.1. 교재 P.59에 있는 문제 풀기

a. "Hello"라는 한 개의 문자열을, 커서를 증가/감소 모드로 두고 입력했을 때, CLCD에는 각각 어떤 모습으로 나타나겠는가? 증가: Hello 감소: olleH 이다.
b. 문자열에서 NUL값을 제외하기 위해 clcd.c에서 clcd_write_string을 보면 for문 str[i]!=0을 통해 문자열에서 NUL 값을 제외한다. NUL은 16진수로 00이므로 NUL이 입력되었을 때 str[i]=0이 되어 조건이 충족되지 않아 for문을 탈출하지 못한다. 정상적으로 동작하지 않을 시 clcd.c에서 clcd_writre_string과 main.c에서 checker부분과 inputter == true를 확인해보아야 한다.
c. CLCD의 Function Set 기능을 이용할 때, DL=1은 8bit를 지원하기 때문이고, N=1은 2Line으로 보고 싶기 때문이며, F=0은 5*8dot이기 때문이다.


2.1.1. "Hello" 문자열 입력 시 CLCD 출력

CLCD에는 "Hello"가 순차적으로 출력된다. 커서 증가 모드에서는 "Hello"가 그대로 나타나지만, 감소 모드에서는 "olleH"와 같이 문자열이 반대로 출력된다. 이는 CLCD의 커서 증가/감소 모드 설정에 따른 결과이다. 문자열에서 NUL 값은 clcd_write_string 함수의 for문에서 str[i] != 0 조건을 통해 제외된다. 하지만 NUL 값이 입력되면 str[i]=0이 되어 for문을 빠져나가지 못하는 문제가 발생할 수 있다. 이 경우 clcd_write_string과 main.c의 checker 부분, inputter == true 구문을 확인하여 문제를 해결해야 한다. 또한 CLCD의 Function Set 기능으로 DL=1(8비트), N=1(2라인), F=0(5*8도트)를 설정하여 원하는 CLCD 출력 모드를 구현할 수 있다.


2.1.2. 문자열에서 NUL 값 제외하는 방법

clcd.c 파일에서 clcd_write_string 함수를 살펴보면, 문자열에서 NUL 값을 제외하기 위해 for문을 사용하여 st...


참고 자료

TTL(Transistor-transistor logic) - https://en.wikipedia.org/wiki/Transistor%E2%80%93transistor_logic
CMOS(Complementary metal-oxide-semiconductor) - https://ko.wikipedia.org/wiki/CMOS
그림 1-1, 그림 2 - https://en.wikipedia.org/wiki/Fan-out
Fan-out - https://opentutorials.org/module/779/7087
LED, 그림 3 - http://blog.daum.net/trts1004/12108941?categoryId=11
그림 4(half adder) - https://woodforest.tistory.com/122
그림 5, 그림 6(full adder) - https://greatrr.tistory.com/m/10
논리 회로 - https://ko.wikipedia.org/wiki/%EB%85%BC%EB%A6%AC_%ED%9A%8C%EB%A1%9C

주의사항

저작권 EasyAI로 생성된 자료입니다.
EasyAI 자료는 참고 자료로 활용하시고, 추가 검증을 권장 드립니다. 결과물 사용에 대한 책임은 사용자에게 있습니다.
AI자료의 경우 별도의 저작권이 없으므로 구매하신 회원님에게도 저작권이 없습니다.
다른 해피캠퍼스 판매 자료와 마찬가지로 개인적 용도로만 이용해 주셔야 하며, 수정 후 재판매 하시는 등의 상업적인 용도로는 활용 불가합니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우