:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/11/26 16:11
현재 PORTB는 CS_L로 사용하시고 있는 것 같고, PORTA는 7-segment 비슷한 것을 사용중이신 것 같군요..
현재 코드가 스위치 없이 프로그램 시작하자 마자 카운트해서 문제없이 동작하는 중이라면 간단하게 코드를 삽입해서 해결할 수 있을 것 같습니다. 다른 PORT를 사용하시던지 아니면 PORTB의 남는 PIN을 이용하시던지 해서 스위치 입력을 받을 수 있도록 하드웨어 구성을 하십시오. 저는 PORTB7을 스위치 입력(TACT SW로 구성 Push일 때 Low로 가정)으로 사용한다고 생각을 하고 코드를 삽입하겠습니다. DDRB = 0x7f; //PORTB7을 입력으로 수정 while(1) while(PINB&0x80); //스위치 입력에 의해서 빠져나감(스위치는 눌렀을 때 LOW) … 1줄 수정, 1줄 추가면 예상 동작은 스위치를 누르면 카운트 시작해서 9999까지 카운트가 끝나면 다시 멈춤 입니다. 만약 스위치를 TACT SW가 아닌 Toggle SW를 사용하면 0~9999까지 반복해서 카운트를 할 것 입니다. (다시 스위치를 누르면 9999까지 카운트 후 멈춤) 하드웨어 구성은 PORTB7이 풀업으로 구성하시고 스위치에 의해서 Low로 떨어지도록 구성하시면 될 것 같습니다.
|