서강대학교 마이크로프로세서 8주차 실험
- 최초 등록일
- 2021.06.30
- 최종 저작일
- 2021.05
- 26페이지/ 한컴오피스
- 가격 3,000원
* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 낮은 한글 프로그램에서 열람할 경우 문서가 올바르게 표시되지 않을 수 있습니다.
이 경우에는 최신패치가 되어 있는 2010 이상 버전이나 한글뷰어에서 확인해 주시기 바랍니다.
소개글
"서강대학교 마이크로프로세서 8주차 실험"에 대한 내용입니다.
목차
1. 실험 제목
2. 실험 목적
3. 실험 이론
4. 실험 결과 및 분석
5. 토의
6. 검토사항
7. 참고 문헌
본문내용
1. 실험 제목
General Purpose Inputs/Outputs(GPIOs)
2. 실험 목적
● GPIO의 동작모드 설정에 사용되는 레지스터들의 구성과 초기화 방법을 이해한다.
● GPIO의 일부 포트 신호들이 외부 소자/장치와 어떻게 연결하여 사용하는지 hardware/software 관점에서 이해한다.
● C program을 통한 포트와 외부 소자 access 방법을 익힌다.
● Array 형태로 배열된 소자들을 multiplexing을 통해 access하는 방법에 대해 이해하고 프로그램을 통해 구현한다. (dot matrix display, key matrix)
3. 실험 이론
● GPIO(General Purpose I/O)
GPIO는 외부와 연결을 위한 가장 기본적인 소자로, 마이크로 컨트롤러를 주변에 있는 소자들과 연결해서 주변의 소자들에게 신호를 주거나, 그 소자들로부터 신호를 받는 역할을 한다. GPIO에 속한 pin들은 프로그램을 통해 어떻게 설정(configuration)하는가에 따라서 다양한 형식의 입력 또는 출력으로 사용할 수 있다.
실험에서 사용하는 마이크로 컨트롤러에는 5개의 GPIO ports(A부터 E)가 제공된다. 각 port 당 16 bits로 구성되며, GPIOx의 신호를 Px[15:0]과 같이 표시한다. 따라서 80개의 GPIO port 신호를 선택할 수 있다. port의 각 pin마다 선택적으로 기능과 동작 형식을 정의하여 사용하기 위해 각 GPIO port마다 다음과 같은 레지스터들이 마련된다.
레지스터
역할
GPIOx_CRL, GPIOx_CRH
port의 각 pin의 기능과 동작 형식 정의
(32-bit configuration registers)
GPIOx_IDR, GPIOx_ODR
port의 각 pin의 입력과 출력 모드 정의
(32-bit data registers)
GPIOx_BSRR
bit를 set/reset
(32-bit set/reset register)
GPIOx_BRR
bit를 reset
(16-bit reset register)
GPIOx_LCKR
bit가 다른 것에 영향을 받지 못하게 잠금
(32-bit locking register)
참고 자료
https://www.st.com/resource/en/reference_manual/cd00246267-stm32f100xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
- 메뉴얼
http://choavrweb.blogspot.com/p/debounc-keypad.html#BM_Hardware%20Debouncing
- Bouncing 문제와 해결 방법