회원가입 ID/PW 찾기
AA

#include <mega128.h>
#include <delay.h>
unsigned long cnt, flag;


void main(void)
{

PORTB=0x00;
DDRB=0xFE;

PORTC=0x00;
DDRC=0xFF;

PORTD=0x00;
DDRD=0xFF;

PORTE=0x00;
DDRE=0xDF;

PORTF=0x00;
DDRF=0xFF;

flag=0;

while (1)
      {
        cnt++;
       
        if(cnt==1)
            { PORTB.1=1;
              PORTD.5=1;
            }
        else if (cnt==2)
            { PORTB.2=1;
              PORTD.6=1;
            }
        else if (cnt==3)
            { PORTB.3=1;
              PORTD.7=1;
            }
        else if (cnt==4)
            { PORTB.4=1;
              PORTE.0=1;
            }
        else if (cnt==5)
            { PORTB.5=1;
              PORTE.1=1;
            }                 
        else if (cnt==6)
            { PORTB.6=1;
              PORTE.2=1;
            }           
        else if (cnt==7)
            { PORTB.7=1;
              PORTE.3=1;
            }
        else if (cnt==8)
            { PORTC.0=1;
              PORTE.4=1;
            }           
        else if (cnt==9)
            { PORTC.1=1;
            }     
        else if (cnt==10)
            { PORTC.2=1;
            }     
        else if (cnt==11)
            { PORTC.3=1;
            }     
        else if (cnt==12)
            { PORTC.4=1;
            }
        else if (cnt==13)
            { PORTC.5=1;
            }           
        else if (cnt==14)
            { PORTC.6=1;
            }           
        else if (cnt==15)
            { PORTC.7=1;
            }           
        else if (cnt==16)
            { PORTD.0=1;
            }
        else if (cnt==17)
            { PORTD.1=1;
            }
        else if (cnt==18)
            { PORTD.2=1;
            }
        else if (cnt==19)
            { PORTD.3=1;
            }
        else if (cnt==20)
            { PORTD.4=1;
            }                 
         else if (cnt =21)
           { PORTB=0x00;
              PORTC=0x00;
              PORTD=0x00;
           }
           else
            {
              cnt=0;
            }



위에 코드가 순차별로 꺼지고 켜지는거인데 스위칭인가? 그걸로 간단하게 간소화 시킬수 있다고
들었는데 간단하게 설명좀 부탁드릴께요 ㅠ..
그리고.. 이 코드를 이용해 변수의 증가 방법을 다른 방법으로 할수 있는지 궁금하네요 조언좀 부탁드릴께요


그리고 만약에 프로그램을 실행 시켰을때 asm 쪽에

;#include <mega128.h>
 #ifndef __SLEEP_DEFINED__
 #define __SLEEP_DEFINED__
 .EQU __se_bit=0x20
 .EQU __sm_mask=0x1C
 .EQU __sm_powerdown=0x10
 .EQU __sm_powersave=0x18
 .EQU __sm_standby=0x14
 .EQU __sm_ext_standby=0x1C
 .EQU __sm_adc_noise_red=0x08
 .SET power_ctrl_reg=mcucr         <<<<<<<<<<<<<<<<<<<<<<<<이쪽에 에러라고 나온다면 무슨현상이에요?

댓글 11

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

search
번호 분류 제목 글쓴이 조회 수 날짜
등록된 글이 없습니다.
  • 회복의 유일한 길은 다시 시작하는 것이다.
    - 체이즈
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.