회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
55 Software & IDEs HOTAllegro OrCAD 16.6 파일 보내주실 수 있나요?2 jihE 481 2018.01.28
54 Software & IDEs 소스 분석툴 관련 질문드려요2 아톰신 166 2017.01.02
53 Software & IDEs 리눅스 커널에 대해 공부하려고 하는데 서적 한부 추천 부탁드립니다.1 아톰신 167 2017.01.02
52 Software & IDEs PADS.9.4.1 받을수 있는 방법(훈련병)2 하운드 297 2016.07.13
51 Software & IDEs 리눅스는 여기 사이트와 거리가 먼거죠?1 pcb훈련변 182 2016.06.05
50 Software & IDEs epm3128act100-10n 프로그램 확인 땡쟁이 214 2015.12.17
49 Software & IDEs 신입생입니다.3 sunni 223 2015.12.09
48 Software & IDEs gps단말기 펌웨어질문입니다1 힘술쟁이 248 2015.11.18
47 Software & IDEs HOTUSB를 사용하는 디바이스 펌웨어 개발 책? 문서?1 베이아터 479 2014.01.09
46 Software & IDEs HOT큐블럭 프로그래밍 관련 질문 올립니다.1 행복이아빠 595 2013.08.22
45 Software & IDEs HOTProteus 7.7 Professional2 Keyshaun 755 2013.07.12
44 Software & IDEs HOTmsp430f1611을 사용하고 있는데 ADC에서 읽어들인 값하고 직접 테스터기로 찍은 값이 달라요1 김진성짱 812 2013.06.25
43 Software & IDEs HOTOV9620 SXGA 모드 설정 좀 도와주세요1 로미옹 515 2013.03.25
42 Software & IDEs HOT주차 시스템 회로 구성하는데요.. peng2 1201 2011.10.09
41 Software & IDEs HOTFreescale 질문인데 아시는 분 없나요? ㅠㅠ2 jzho 1550 2011.07.19
40 Software & IDEs HOTkey board 관련1 jjhuem 2448 2011.07.06
39 Software & IDEs HOT펌웨어 하다가 막히는 부분이 있어서 질문 드립니다. 마모루 1556 2011.06.13
38 Software & IDEs HOT어셈블리어 공부하기1 아이스으 2192 2011.03.22
37 Software & IDEs HOT스마트폰 앱 개발시 음성필터요..1 귤씅 2210 2011.01.28
36 Software & IDEs HOTWDK 관련 문의 입니다.1 소보루 1293 2010.11.18
  • 사람은 무엇인가 좋은 일을 할 수 있는 동안에는 자살 등을 생각해서는 안 된다. 좋은 일을 함으로써 삶의 보람을 찾아야 한다.
    - 베토벤
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.