핵심 재료 : USB 조이스틱, PIC 44PIN DEMO BOARD
port b 의 bit값에 대한 해설(와이어 배선을 어떻게 하느냐에 따라 다르지만...
상위 네 비트 7, 6, 5, 4가 각각 RP, RK, LK, LP에 해당하고,
하위 네 비트 3, 2, 1, 0이 각각 좌, 하, 우, 상의 방향키에 해당한다.
#include <16f887.h>
#byte portb=0x06
#byte portd=0x08
#use delay(clock=4000000)
void main()
{
set_tris_b(0x0f);
set_tris_d(0x00);
portd=0xff;
for(;;){
if(bit_test(portb,0)==0){ //rb0 푸시 버튼이 눌리면 실행
portd=0b11110111; //<= 방향 입력
delay_ms(30); //딜레이
portd=0xff; //레버 중립
delay_ms(30); //딜레이
portd=0b01110011; //<= ↓ RP 입력
delay_ms(100); //딜레이. 무족초 발동 중인 상태
portd=0xff; //레버 중립
delay_ms(530); //딜레이.
}
}
}
44pin demo board에 와이어만 따서 연결했음
rb0 푸시 버튼을 누를 때 마다 기원초가 나간다.
코드 사이 사이 delay를 잘못 주면 무족초가 안나가고 기원권이 나간다.
딜레이를 너무 길게 주면 초풍 발동 속도가 느려지고, 딜레이를 너무 짧게 주면 기원권이 발동된다는 문제
나름 실험을 통해 딜레이 최적값을 찾았음
핵심 포인트 = 최적의 딜레이
'예전취미 전자회로 > 개발' 카테고리의 다른 글
| 브라이언 도발 제트 어퍼 매크로 (6) | 2010.07.26 |
|---|---|
| 카즈야 기원초 매크로 테스트 촬영 1 (0) | 2010.07.23 |
| LED 셔터 쉐이드 안경 (0) | 2010.07.21 |
| 카즈야 매크로 (0) | 2010.07.20 |
| 윈도우 기반 계산기 소스코드 (0) | 2010.05.03 |
| 정수 사칙 연산기 소스코드 (0) | 2010.04.20 |
| 정수계산기 레이아웃과 소스코드 (0) | 2010.04.20 |
| 완성. L Series C/S 검사 프로그램 - demo 화면. main코드 (0) | 2010.03.21 |


