9. Digital I/O

 

9.1    기본사항

 

MSP430은 P1 – P6 까지 6 PORT의 Digital I/O를 가지고 있습니다. 각각의 PORT는 8개의 PIN이 존재 합니다.

모든 I/O는 입력 또는 출력을 각각 선택가능하고, 각 입출력라인은 개별적으로 입출력용으로 사용 할 수 있습니다. 또한 P1,P2는 개별적으로 외부 인터럽트 기능이 있으며 인터럽트는 상승 또는 하강 에지( rising edge or falling edge)만 검사 할 수 있습니다.

 

9.2    Digital I/O의 사용

 

I/O는 사용자가 초기에 S/W 적으로 설정 해야 합니다. PnIN레지스터는 I/O의 입력되고 있는 상태를 나타 냅니다. PnOUT 레지스터는 출력 값을 설정할 수 있습니다. PnDIR은 각각의 Pin의 입출력을 설정할 수 있습니다. Bit의 값이 0이면 입력이 되고,1 이면 출력이 설정 됩니다. PnSEL은 각각의 PIN에 명기된 기능으로 연결 되도록 설정 할 수 있습니다. Bit가 0 이면 I/O기능으로 설정하는 것이고 1이면 Pin에 명기된 기능으로 연결되어 집니다. 주의 할 것은 연결되어진 특수기능이 출력이 되어야 한다면 해당 PnDIR을 출력으로 설정해야 한다. P1SEL와 P2SEL가 설정되면 해당 Pin의 인터럽트는 사용이 금지 됩니다. 즉 P1IE나 P2IE와 관계없이 인터럽트가 발생되지 않을 수 있습니다.

Pin이 명기된 기능의 입력으로 선택되어지면 PIN의 값은 LATCH로 입력됩니다. 이때 PnSELx = 1 이라면 입력신호는 Pin의 실제 신호를 따라갑니다. 그러나 PnSELx = 0 이라면 현재의 신호를 그대로 유지합니다.

 

9.3    P1,P2의 인터럽트 사용

 

P1,P2 PORT 는 PnIFG, PnIE, PnIES 레지스터로 인터럽트 기능을 설정할 수 있습니다.

P1의 모든 인터럽트 소스는 한 개의 인터럽트 백터에서 처리 되며, P2또한 한 개의 인터럽트 백터에서 처리 됩니다. 각각의 Pin에 인터럽트 상태가 발생되면 해당 PnIFG 의 bit가 설정됩니다. PnIFG bit 가 설정되었을 때 해당 PnIE bit가 설정되어 있고 GIE bit가 설정되어 있다면 인터럽트는 발생됩니다. PnIFG bit를 S/W 적으로 설정 할 수 도 있습니다. PnIFG 인터럽트 발생 후 해당 루틴 실행 중에 인터럽트가 다시 걸린다면 다시 인터럽트 처리를 한다. 그러나 인터럽트가 발생하려면 MCLK의 1.5배 이상의 인터럽트가 발생할 상태가 유지 되어야 합니다. PnIES bit는 인터럽트 발생을 위한 상승 또는 하강 에지( rising edge or falling edge)를 선택 할 수 있습니다. 0면 상승에지 를 선택 하며, 1이면 하강 에지를 선택 하는 것입니다.

인터럽트가 발생되려면 PnIE의 해당 bit를 1로 설정해야 한다. 쓰지않는 Pin은 소비전력을 줄이기 위해 출력으로 설정하고 다른 곳에 연결하지 않도록 합니다.

'공부 > MSP430' 카테고리의 다른 글

[MSP430] 회로도  (0) 2012.11.15
[MSP430] MSP430 자료 9  (0) 2012.11.15
[MSP430] MSP430 자료 7  (0) 2012.11.15
[MSP430] MSP430 자료 6  (0) 2012.11.15
[MSP430] MSP430 자료 5  (0) 2012.11.15

+ Recent posts