'2015/03/25'에 해당되는 글 2건

  1. 2015.03.25 ATmega를 이용한 시리얼 통신 설정
  2. 2015.03.25 PIC16F917을 활용한 LED 불 켜기

스마트 컨트롤러 - ATmega를 이용한 시리얼 통신 설정

 

<학습목표>

 

UCSR 레지스터 값을 ATmega128A의 데이터시트를 보고 설정할 수 있다.

ATmega를 이용한 시리얼 통신을 위한 초기화 함수를 만들 수 있다.

 

지난 시간에 봤던 UCSR 레지스터의 값을 설정해 주기 위한 코딩을 한다.

 

우선 Smart.h 파일에 define 해준다.

USCR 레지스터에 원하는 설정 값을 입력해준다.

 

<UCSRnA register>

 

7th bit - RX: 수신이 완료되면(자료를 다 받아들이면) 0 -> -

6th bit - TX: 전송이 완료되면 1 -> -

5th bit - EMPTY: shift register에 데이터가 없는 경우(전에 데이터를 다 보낸 경우) -> -

 

//5th bit에서 자료가 남아 있는 상태에서 TX로부터 자료를 받게 되면 덮어쓰게 되어 버리기 //때문에 shift register가 비어있는 것을 확인한 다음에 자료를 받아야 한다.

 

4th bit - FE: 자료 세트가 전송되는데 잡음 유무를 확인하는 bit 에러가 있으면 1 -> -

3rd bit - DOR: 기존에 있던 자료에 전송된 데이터를 엎어 쓰는 경우 1 -> -

2nd bit - UPE: 패리티에러가 있는 경우에 1 -> -

1st bit - U2X: 보통 속도 0 -> 0

Zero bit - MPCM: 1일 때 주소 정보를 가지고 있지 않은 정보는 모두 무시된다. 0으로 설정 -> 0

 

 

 

//비동기식 데이터 송신 방식에서 데이터와 head, tail을 합친 것을 프레임(frame)이라고 한다.

 

<UCSRnB 레지스터>

Bit 7 - RXCIE: 수신 interrupt 활성화 시 1 -> -

Bit 6 - TXCIE: 송신 interrupt 활성화 시 1 -> -

Bit 5 - RDRIE: 데이터 empty interrupt 활성화 시 1 -> -

Bit 4 - RXEN: USART 송신 활성화 시 1 -> 1

Bit 3 - TXEN: USART 수신 활성화 시 1 -> 1

Bit 2 - UCSZ: 글자 크기 -> 0

Bit 1 - RXB8n: 8비트 데이터 수신에서 추가 비트 사용(9bit) -> -

Bit 0 - TXB8n: 8비트 데이터 송신에서 추가 비트 사용(9bit) -> -

 

 

<UCSRnC 레지스터>

Bit 6 - UMSEL: Clock 사용 여부, 비동기식 0, 동기식 1 -> 0

Bit 5 - UPM1: 패리티 생성기와 체크기 활성화, 짝수 패리티 1 -> 1

Bit 4 - UPM0: 패리티 생성기와 체크기 활성화, 짝수 패리티 0 -> 0

Bit 3 - USBS: 스톱 bit 선택 1bit0, 2bits1 -> 0

Bit 2 - UCSZ1: 글자 크기 8bit1 -> 1

Bit 1 - UCSZ0: 글자 크기 8bit1 -> 1

Bit 0 - UCPOL: 클럭 양극화, 동기식만 사용 -> -

작성한 USART.cUSART.h의 코드를 보면,



main.c 파일로 가서 초기화시키는 INIT함수를 만들어보자.


반응형

'Busan IT > 스마트 컨트롤러' 카테고리의 다른 글

ATmega128a를 활용한 데이터 송신  (0) 2015.03.26
PIC16F917 카운터 업&다운 코딩  (0) 2015.03.26
시리얼 통신 UBRR register  (0) 2015.03.24
직/병렬 통신과 USART  (0) 2015.03.23
1  (0) 2015.03.20
Posted by newind2000
Busan IT/디지털 제어2015. 3. 25. 13:46

PIC16F917을 활용한 LED 불 켜기

 

<학습목표>

 

PIC16F917의 데이터시트를 보고 register 세팅을 할 수 있다.

프로테우스에서 PIC16F917와 프로그래밍을 활용하여 LED에 불을 켤 수 있다.

 

 

요놈을 가지고 놀아보자!

 

우선 microchip.com에 접속하려 PIC16F917과 관련된 자료를 받아보자.

 

----------------------------<다운로드 목록>-----------------------------------

 

1.데이터 시트 - 데이터시트는 위의 그림에 있는 PDF파일의 링크를 눌러 다운로드 받으면 된다.

 

2. MATLAB

3. MPLAB compiler

-----------------------------------------------------------------------------

 

 

2. MATLAB



 

3. MPLAB compiler





 

다운 받은 MPLABcompiler를 설치해 주자!

 

 

PIC16F917 실습내용은 다음과 같다.

 

1. LED에 불 깜빡거리기

2. LCD에 글 표시하기

 

//컴파일러는 GCC기반 makefile이 컴파일이 자동으로 생성 된다.

//Debugging tool <PICKit3> 아래

 

PIC16F917의 핀 설명은 아래와 같다.




 

설치가 끝난 MPLAB X IDE를 실행시켜 보자!











 

하드웨어적인 부분이 끝났으니 코딩을 해보자!

 

<설정>

입력은 A0 port를 사용한다.

출력은 B0 port를 사용한다.





반응형
Posted by newind2000