회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
413 전기전자 아무거나 hdmi 분배기 회로를 찾고 있습니다.1 molody88 339 2015.01.21
412 전기전자 아무거나 HOT전기차 BMS 회로 개발자분 계신가요?6 lucawa86 1092 2014.12.13
411 전기전자 아무거나 실제 PCB분석 질문입니다.2 nogaring 319 2014.12.04
410 전기전자 아무거나 Orcad layout 은 쓰면 안되는 건가요?4 달달이 343 2014.11.12
409 전기전자 아무거나 HOT전자회로에 대해 도움을 부탁드립니다1 참조은 574 2014.08.09
408 전기전자 아무거나 HOT선배님들 전력 계통 연구 때문에 PSCAD 시작하려고 하는데 조언 좀 부탁드려요1 WizardlyY 776 2014.07.07
407 전기전자 아무거나 HOT납땜 규정 관련7 머찐데이 679 2014.07.02
406 전기전자 아무거나 HOTPADS에서 PCB ARRAY하는 방법2 SS 1484 2014.06.16
405 전기전자 아무거나 HOT485통신 Isolation2 미스터요다 456 2014.02.26
404 전기전자 아무거나 HOT어떤 장치를 써야될지 아시는분 지도편달 부탁드립니다...3 lacoca 24092 2013.11.21
403 전기전자 아무거나 HOT프로그래머에서 하드웨어?4 통신장애 26220 2013.11.20
402 전기전자 아무거나 HOT초음파 센서를 이용한 거리 측정을 IC들로만 구현 김종철 1478 2013.11.20
401 전기전자 아무거나 HOT인터넷이 연결되어져 있으면 orcad 16.3이 demo로만 구동합니다3 만주19 576 2013.10.28
400 전기전자 아무거나 이 현상 좀 해결해주세요2 기계공학 304 2013.10.22
399 전기전자 아무거나 마이컴박스 지식박스를 유지하는 것이 좋을까요?1 아크마 323 2013.08.10
398 전기전자 아무거나 HOTMatlab에서 euler metod할때 입니다!1 binary공학도 676 2013.03.31
397 전기전자 아무거나 왜 이 세상에 공학이 필요합니까?5 아크마 368 2013.02.11
396 전기전자 아무거나 HOT포토커플러에 대해서 문의드려요3 꼬기 607 2013.01.23
395 전기전자 아무거나 HOT꼭좀요 성의껏1 세사조 404 2012.10.21
394 전기전자 아무거나 IMP525 대체품을 찾습니다.1 windjick 256 2012.09.18
Prev 1 2 3 4 5 6 7 8 9 10 ... 25 Next
  • 벗이 먼곳으로부터 찾아오니 이 얼마나 즐거운가.
    - 유붕자원방래불역낙호논어
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.