회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
1072 마이크로프로세서 HOTkeil 컴파일러 에서 왜 이런에라가?2 강원도 630 2014.01.12
1071 Software & IDEs HOTUSB를 사용하는 디바이스 펌웨어 개발 책? 문서?1 베이아터 465 2014.01.09
1070 마이크로프로세서 프로그램 시작 하려 합니다.2 서봉 200 2014.01.05
1069 마이크로프로세서 HOTPADS 자삽 데이터 작성법 좀 알려 주세요.1 SS 838 2013.12.18
1068 마이크로프로세서 HOT인체감지모듈 어셈블리어 질문1 lacoca 577 2013.12.14
1067 마이크로프로세서 HOT8051 mcu를 사용한 압력조절장치 프로그램이 필요합니다. ndk 514 2013.11.13
1066 마이크로프로세서 HOTavr과 근접센서 질문드립니다!2 고냥정권 749 2013.11.01
1065 펌웨어 & 코딩언어 HOT피보나치 수열..2 aNitMotD 539 2013.10.30
1064 마이크로프로세서 layout footprint를 allegro에서 열 수 있나요? 갈아만든공돌이주스 296 2013.10.29
1063 마이크로프로세서 프로그램 다운로드 관련1 청풍근이 305 2013.10.16
1062 마이크로프로세서 내부eeprom에 대한 질문_delay jaemi2010 393 2013.10.08
1061 펌웨어 & 코딩언어 HOT1D FEM coding 문제 ..원하는 답이 안나와요 수치해석미쵸 496 2013.09.29
펌웨어 & 코딩언어 HOTPIC 16F628A와 CCSC 기반의 프로그래밍 질문입니다. 제발 도와주세요ㅠㅠ 신천동주민 467 2013.09.24
1059 마이크로프로세서 Cooper의 일부분을 드러나게 하고 싶습니다.1 곤곤 241 2013.09.24
1058 마이크로프로세서 HOTpickit3 에넣은 hex 추출가능한지?1 야니 657 2013.09.15
1057 Software & IDEs HOT큐블럭 프로그래밍 관련 질문 올립니다.1 행복이아빠 583 2013.08.22
1056 마이크로프로세서 HOTAT90CAN128 통신 관련 질문드립니다 Twinkle 582 2013.07.23
1055 Software & IDEs HOTProteus 7.7 Professional2 Keyshaun 745 2013.07.12
1054 Software & IDEs HOTmsp430f1611을 사용하고 있는데 ADC에서 읽어들인 값하고 직접 테스터기로 찍은 값이 달라요1 김진성짱 800 2013.06.25
1053 마이크로프로세서 HOT상단메뉴에 있는 '계산기'란 카테고리에 대하여... 음악은나의삶 408 2013.06.17
Prev 1 2 3 4 5 6 7 8 9 10 ... 58 Next
  • 인간은 입이 하나 귀가 둘이 있다. 이는 말하기보다 듣기를 두 배 더하라는 뜻이다.
    - 탈무드
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.