Page 815 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 815
2) 프로테우스로 구성해본 회로
코드비전으로 테스트 프로그램을 코딩한 뒤 프로테우스로 회로를 구현해보았다. 원래는
PORTD에 제어기의 출력명령이 입력되어야하지만, 스위치로 값을 입력하는 것으로 대체하였
다. 우리는 모터 4개를 쓰지만, 일단은 3개만 구성해보았다. 모터3는 컨베이어벨트 역할로 평
소에 계속 돌아가고 있다. 스위치1을 누르면 모터1이 움직이고 스위치2를 누르게 되면 모터2
가 움직이게 된다.
3) 프로그램
일단 테스트 프로그램이므로, 모터가 움직이는지, 명령을 받았을 때 알맞은 동작을 하는지
보는 것이 가장 중요하다. 그러므로 일단 모터를 계속해서 작동시키는 것과 명령을 받았을 때
모터를 작동시키는 프로그램을 짜보았다. 간략하게 설명하자면, PORTB는 출력으로 0~5번까
지 핀이 모터와 연결되어 있고 PORTD는 입력으로 0번과 1번이 제어기 대신 스위치의 입력을
받는다. PORTD에 0x01이 입력되면 PORTB의 0번과 1번에 연결된 모터가 500ms동안 돌아가
다가 멈춘다. PORTD의 0x02가 입력되면 PORTB의 2번과 3번에 연결된 모터가 500ms동안
돌아가다 멈추게 된다.
#include <tiny2313.h>
#include <delay.h>
unsigned int a; //PIND 입력 변수
void main()
{
DDRB = 0xff; //모터
DDRD = 0x00; //Cortex-M3의 출력명령 입력
- 808 -