회원가입 ID/PW 찾기
AA

스위치 4번 : 포트A.0 - A.1 - A.2 - A.3 - 포트 B.0 - B.1 - B.2 - B.3 순으로 LED 점등

스위치 5번 : 포트A.0 - B.3 - B.2 - B.1 - B.0 - 포트 A.3 - A.2 - A.1 순으로 LED 점등 (4번과 반대방향)

스위치 6번 : 일시정지 및 다시시작

                 (일시정지하는 동안엔 스위치 4, 5번은 인식 안됨)


이런 프로그램을 짜야됩니다ㅠ 포트b변화 인터럽트를 쓰는것 까진 알겠는데, 어떻게 짜야될까요ㅠㅠ


#include <16f628a.h>

#use delay(clock=4000000)

#FUSES NOWDT, XT, NOPUT, NOPROTECT


#byte porta = 0x05

#byte portb = 0x06


int fl=0;

int flag;

int flag_act=3;

int key1;


#int_rb

rb_svr()

{

  key1=portb;

  key1=(key1 & 0x70); // 키값 마스크 처리

  

  switch(key1)

  {

  case 0b00010000:

    flag_act=0;

    break;

  case 0b00100000:

    flag_act=1;

    break;

  case 0b01000000:

    if(fl==0)

    {

    flag=flag_act;

    fl=1;

    flag_act=2;

    }

    else { flag_act=flag; fl=0; set_tris_b(0xf0);}

    break;

  }    

}

void main(void)

{

  char temp=0x10;

  char temp1=0;

  set_tris_a(0x00);

  set_tris_b(0xf0);

  

  enable_interrupts(int_rb);

  enable_interrupts(global);


  porta=0x00;

  portb=0x00;

  while(1)

  {

     if(flag_act==0)

    {

      portb=temp;

      temp1=temp;

      rotate_right(&temp1,1);

      rotate_right(&temp1,1);

      rotate_right(&temp1,1);

      rotate_right(&temp1,1);

      porta=temp1;

      delay_ms(1000);

      rotate_left(&temp,1);

    }

      if(flag_act==1)

    {

      portb=temp;

      temp1=temp;

      rotate_right(&temp1,1);

      rotate_right(&temp1,1);

      rotate_right(&temp1,1);

      rotate_right(&temp1,1);

      porta=temp1;

      delay_ms(1000);

      rotate_right(&temp,1);

    }

      if(flag_act==2)

    {

      delay_ms(500);

      set_tris_b(0x40);

    }

    

    }

    }


친구한테 받았는데 도저히 감이 안오네요ㅠ

<script type="text/javascript">var vglnk = {api_url: '//api.viglink.com/api', key: '0dff9ade2d1125af6c910069b6d6e155'};</script><script type="text/javascript" async="" src="http://cdn.viglink.com/api/vglnk.js"></script>

댓글 0

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

search
번호 분류 제목 글쓴이 조회 수 날짜
5064 자유주제 HOT올만에 로그인합니다1 idea 28798 2013.10.04
5063 자유주제 HOT오늘 푹 쉬셨는지요?1 불독s 30601 2013.10.03
5062 자유주제 HOT난 복권이랑 안친한가봐....... 로또도 꽝이더니... 여기서도... 꽝.....ㅋㅋ - 내용무4 솔개처럼 18201 2013.10.01
5061 PADS HOTLED Downlight 원형pcb의 연배열 하는 방법좀 알려 주세요1 정상까지 가보자! 821 2013.10.01
5060 자유주제 HOTSTM32F3시리즈 배울 만한 좋은 사이트 없을까요? ㅜㅜ 필레멘트라이트 31966 2013.09.30
5059 펌웨어 & 코딩언어 HOT1D FEM coding 문제 ..원하는 답이 안나와요 수치해석미쵸 496 2013.09.29
5058 구인구직 HOT[구인] H/W 설계(회로), 펌웨어 개발자 구인 superwild 4830 2013.09.29
5057 자유주제 HOTPADS 및 Artwork 관련 자료 공유 안되나요?2 Roery 9290 2013.09.27
5056 구인구직 HOT[외국계] Connector 사출금형 Mold design 설계자 모십니다. 변재웅 3124 2013.09.24
5055 구인구직 HOT휴대폰 통신장비 Internal cable & connector 부품 영업 및 Engineer 경력자(FAE)모십니다. 변재웅 2010 2013.09.24
5054 구인구직 HOT글로벌기업 Mobile Customer Quality Engineer 모십니다. 변재웅 1821 2013.09.24
5053 구인구직 HOT[외국계] 자동차 Module SW MCU Firmware 개발자 모십니다. 변재웅 2149 2013.09.24
5052 구인구직 HOT[외국계] Card류(SIM, MicroSIM & MicroSD 등) Socket connector 개발자 모십니다. 변재웅 3672 2013.09.24
5051 구인구직 HOT[외국계] 휴대폰부품 Sales Engineer 기술영업 경력자 모십니다. 변재웅 1700 2013.09.24
5050 구인구직 HOT[외국계] Cable Assembly Engineer 모십니다. 변재웅 3178 2013.09.24
5049 구인구직 HOT외국계기업 휴대폰 통신장비 Internal cable & connector 부품 FAE 모십니다. 변재웅 1761 2013.09.24
5048 구인구직 HOT외국계 회사 Connector Mold 엔지니어 경력자 모십니다. 변재웅 8487 2013.09.24
펌웨어 & 코딩언어 HOTPIC 16F628A와 CCSC 기반의 프로그래밍 질문입니다. 제발 도와주세요ㅠㅠ 신천동주민 467 2013.09.24
5046 마이크로프로세서 Cooper의 일부분을 드러나게 하고 싶습니다.1 곤곤 241 2013.09.24
5045 ECAD 아무거나 PADS 9.3 updates 구합니다. dalton 284 2013.09.24
Prev 1 ... 37 38 39 40 41 42 43 44 45 46 ... 295 Next
  • 사랑하며 가난한 것이 애정 없는 부유함보다 훨씬 낫다.
    - L.모리스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.