회원가입 ID/PW 찾기
AA

#include <16f628a.h>
#use delay(clock=4000000)
#FUSES NOWDT
#fuses xt
#fuses noput
#fuses noprotect
#byte porta=0x05
#byte portb=0x06
#int_ext
ext_svr()
{
 portb=0xff;
 delay_ms(10000);
}

void main (void)
{
 char cnt,temp;
 set_tris_b(0x00); //왜 b포트는 되고 a포트를 입력단으로 주면 안될까요...? b를 0x01로 해서 portb.0에 외부인터럽트 걸면 되고 다 출력으로 설정하면 안되네요
 set_tris_a(0x10); // 이중에 porta에서 외부인터럽트가 안걸릴 만한 사유가 있을까요?

 enable_interrupts(int_ext);
 ext_int_edge(L_to_h);
 enable_interrupts(global);

 cnt=0;
 temp=0;
 porta=temp;

 while(1)
 {
  if(cnt==0) temp=0x01;
  else temp=temp<<1;

  portb=temp;
  cnt++;
  delay_ms(500);

  if(cnt>7) cnt=0;
 }
}

댓글 1
  • No Profile

    1) a, b port에서 사용하는 pin 에 맞게 레지스터를 설정하셔야 합니다.

    2) 인터럽트 사용하는 pin number를 확인하신 후에,  데이터시트를 보고 설정하시기 바랍니다.

    3) 이렇게 소스코드만 올려주시면  확인하는 사람도 답변을 하기 어렵습니다. (회로에 따라 다르므로)

      * 관련 회로도와 데이터 쉬트를 올려주시기 바랍니다.

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
등록된 글이 없습니다.
  • 우리의 인내가 우리의 힘보다 더 많은 것을 성취할 것이다.
    - 버크
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.