직렬통신을 이용한 스텝모터제어 예비 보고서
- 최초 등록일
- 2012.06.26
- 최종 저작일
- 2011.09
- 2페이지/ 한컴오피스
- 가격 2,000원
소개글
8051 실험 보고서 입니다. 인터넷에 자료가 충분치 않기 때문에 유용하실껍니다. ^^
목차
없음
본문내용
직렬 통신을 이용한 스텝모터제어
□ 시리얼 인터럽트 서비스 루틴에서 스텝 모터의 속도를 제어하기 위해 숫자를 어떻게 받을 것인가에 대해 생각해보고 수도코드를 작성하시오.(0~9까지의 숫자를 받아 속도를 제어, 9:가장 느린 속도, 1:가장 빠른 속도)
<직렬 인터럽트 서비스루틴>
interrupt 4 // 직렬 인터럽트 서비스루틴
{
// RI=1(수신완료) 에 따른 서비스루틴이 호출되면
if( 0x30 <= SBUF && SBUF<= 0x39 )
// 0~9까지의 숫자에 의해 속도 제어를 위한 조건문
<중 략>
초기에 전역변수(딜레이)를 적당한 수로 초기화 합니다. 인터럽트가 발생하지 않을 때는 전역변수(딜레이)의 초기 값에 의한 딜레이가 스텝모터의 속도를 결정합니다. 당연히 스텝모터를 구동하기 위한 함수도 미리 선언해 두어야 합니다.
컴퓨터 키보드 값을 입력하면(0~9) 수신 완료 비트 RI가 1로 set 되어 직렬 서비스 루틴을 호출하게 되며 이때 키보드 값에 의해 전역변수(딜레이) 값이 결정 되어 서비스 루틴을 빠져나오게 됩니다. 다시 while(1)을 돌게 되며 전역변수(딜레이) 값이 바뀌었으므로 스텝모터의속도 또한 바뀌게 됩니다.
이러한 알고리즘을 통해서 직렬통신을 이용해 스텝모터의 속도를 제어할 수 있습니다.
참고 자료
없음