회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
636 Analog & Mixed-Signal 설계 HOT고압 싸인파를 만들기 위한 회로도가 의심스럽습니다.5 전자뱅뱅 1025 2014.05.01
635 Analog & Mixed-Signal 설계 HOT이 회로에서 쇼트가 나는이유?3 아크마 537 2014.04.22
634 Sensor 설계 HOT어떤 부품인지 알고 싶어요3 오리온32 404 2014.03.19
633 전기전자 아무거나 HOT485통신 Isolation2 미스터요다 460 2014.02.26
632 Sensor 설계 HOT기판 점검 방법좀 알려주세요.3 고산묵월 1808 2013.12.27
631 전기전자 아무거나 HOT어떤 장치를 써야될지 아시는분 지도편달 부탁드립니다...3 lacoca 24094 2013.11.21
630 전기전자 아무거나 HOT프로그래머에서 하드웨어?4 통신장애 26233 2013.11.20
629 전기전자 아무거나 HOT초음파 센서를 이용한 거리 측정을 IC들로만 구현 김종철 1484 2013.11.20
628 전기전자 아무거나 HOT인터넷이 연결되어져 있으면 orcad 16.3이 demo로만 구동합니다3 만주19 581 2013.10.28
627 전기전자 아무거나 이 현상 좀 해결해주세요2 기계공학 306 2013.10.22
626 전기전자 아무거나 마이컴박스 지식박스를 유지하는 것이 좋을까요?1 아크마 326 2013.08.10
625 Analog & Mixed-Signal 설계 HOT노이즈 필터 설계시 역률 관계1 ganges 689 2013.06.17
624 드론/로봇/라인트레이서 HOT라인트레이서 모듈 연결을 잘못하겠습니다.1 TOP3378 405 2013.06.04
623 Analog & Mixed-Signal 설계 HOT정말 기초 질문인데요ㅠㅠ 회로설계 시작할때요 ㅠ1 플리즈헬미 732 2013.05.12
622 전력전자 HOT전원회로 커패시터 값 계산법??1 Radar22 1067 2013.05.06
621 Analog & Mixed-Signal 설계 HOTSMPS와 아답터의 차이를 알고 싶습니다.2 초보에염ㅠㅠㅠ 1839 2013.04.01
620 전기전자 아무거나 HOTMatlab에서 euler metod할때 입니다!1 binary공학도 682 2013.03.31
619 Sensor 설계 HOT충전ic1 RUOK 678 2013.03.19
618 전기전자 아무거나 왜 이 세상에 공학이 필요합니까?5 아크마 373 2013.02.11
617 Analog & Mixed-Signal 설계 HOT레귤레이터 출력 전압 조절질문입니다.1 긍정적 마인드 941 2013.01.23
Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 39 Next
  • 현명해 지기는 아주 쉽다. 그저 머릿속에 떠오르는 말 중에 바보같다 생각되는 말을 하지 않으면 된다.
    - 샙 레븐슨
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.