[어셈블리어]직류모터속도제어프로그램
- 최초 등록일
- 2007.07.01
- 최종 저작일
- 2006.09
- 3페이지/ 한컴오피스
- 가격 2,000원
소개글
마이크로 프로세서 시간에 어셈블리어를 사용하여 직류모터의 속도를 제어할 수 있는 프로그램을 만들고 프로그램 소스에 한줄도 빠짐없이 전 부분에 주석을 달았습니다. 매 줄마다 주석이 있기 때문에 프로그램에 대해 이해하는데 어려움이 없을 것입니다. Visual C, C++ 과는 달리 프로그래밍이 어려워 몇 일 고생하여 짠 프로그램이고 쉽게 구할 수도 없는 자료입니다. 참고하시고 공부하세요
목차
◆ 프로그램 소스와 주석
◆ 설명
(1) DC 모터 제어 회로도 분석
(2) 프로그램 설명
본문내용
8254를 이용하여 직류모터의 속도를 제어하는 프로그램을 정량적(숫자를 사용하여)으로 해석하고 설명하세요.
◆ 프로그램 소스와 주석
CNTR EQU 706H ;컨트롤 워드의 주소
CNT0 EQU 700H ;counter 0의 주소
CNT1 EQU 702H ;counter 1의 주소
COUNT EQU 30720 ;counter 0과 1을 30720 으로 분주
SPEED PROC NEAR
PUSH AX ;AX 레지스터를 push
PUSH DX ;DX 레지스터를 push
PUSH BX ;BX 레지스터를 push
; => save registers 로 이전의 레지스터에 저장된 데이터를 보존하기 위해 스택에 저장하는 작업
;한 주기 동안 (30720) 카운터의 High와 Low일 때의 시간을 구한다.
MOV BL,AL ;calculate count(AL 값을 BL로 mov)
MOV AX,120 ;AX에 120을 저장
(분주율 30720/256 = 120 이므로 256가지 속도조절)
MUL BL ;AX와 BL을 곱해서 AX에 저장한다.(Q가 High인 동안의 카운터시간)
.....................(이하 생략)
◆ 설명
(1) DC 모터 제어 회로도 분석
8254 타이머를 사용한 모터 속도와 방향 제어 회로도에서 JK 플립플랍에 의한 출력값 Q가 인버터에 에 의해서 출력이 바뀌고, 이 논리값의 변화에 따라 트랜지스터에 의해 모터의 +, - 단자에 인가되는 전압이 달라진다. 만약 출력값 Q가 바뀌게 되면 논리값도 바뀌어 모터의 +, - 단자에 인가되는 전압이 달라져 모터의 회전 방향이 달라지게 된다.
(2) 프로그램 설명
위의 프로그램 소스는 모터의 속도와 방향을 제어하는 프로시져를 포함한다. counter 0과 1을 30720 으로 분주하는 이유를 (1)에서 설명했다.
......................(이하생략)
참고 자료
없음