8051/PIC > 89S51 실습보드 dip스위치로 led제어

TODAY342 TOTAL610,927
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 8051/PIC | 8051 | 89S51 실습보드 dip스위치로 led제어

페이지 정보

작성자 키트 작성일2017-09-12 10:32 조회360회 댓글0건

본문

#include <AT89X51.h>


char buff0, buff1;

void delay(unsigned int cnt){
   while(cnt--); 
}

void move_0x01(void){
  while(1){ 
    buff1=P1;                     
// P1으로 입력한 값을 buff1에 저장
    if(buff1==0x02)return;        
// SW2 누르면 리턴함

    P2=0xaa; delay(60000);        
// PORT2에 1010 1010 출력
    P2=0x55; delay(60000);        
// PORT2에 0101 0101 출력
  } 
}

void move_0x02(void){
  buff0=0x01;

  while(1){
    buff1=P1;                     
// P1으로 입력한 값을 buff1에 저장
    if(buff1==0x01)return;        
// SW1 누르면 리턴함

    P2=buff0;                     //buff0데이터를 PORT2로 출력
    if(buff0==0xff)buff0=0x01;
    
else  buff0=buff0<<1;
    buff0|=
0x01;
    delay(
60000);
  }
}


void main(){
  P0=
0xff; P1=0xff; P2=0xff; P3=0xff;
  
while(1){
    buff1=P1;                
//P1으로 입력한 값을 buff1에 저장
    
    
switch(buff1){
        
case 0x01: move_0x01(); break;
        
case 0x02: move_0x02(); break;
        
defaultbreak;
    }
  }
}


// 8051은 하드웨어 구조상 LED와 스위치는 논리가 바뀌어 있습니다.

#include <
AT89X51.h>

char buff0, buff1;

void delay(unsigned int cnt){
   
while(cnt--); 
}

void move_0x01(void){
  
while(1){ 
    buff1=P1;                     
// P1으로 입력한 값을 buff1에 저장
    if(buff1==0xFD)return;        
// SW2 누르면 리턴함

    P2=0xaa; delay(60000);        
// PORT2에 1010 1010 출력
    P2=0x55; delay(60000);        
// PORT2에 0101 0101 출력
  } 
}

void move_0x02(void){
  buff0=
0x01;

  
while(1){
    buff1=P1;                     
// P1으로 입력한 값을 buff1에 저장
    if(buff1==0xFE)return;        
// SW1 누르면 리턴함

    P2=~buff0;                    
//buff0데이터를 반전시켜서 PORT2로 출력
    if(buff0==0xff)buff0=0x01;
    
else  buff0=buff0<<1;
    buff0|=
0x01;
    delay(
60000);
  }
}


void main(){
  P0=
0xff; P1=0xff; P2=0xff; P3=0xff;
  
while(1){
    buff1=P1;                
//P1으로 입력한 값을 buff1에 저장
    
    
switch(buff1){
        
case 0xFE: move_0x01(); break;
        
case 0xFD: move_0x02(); break;
        
defaultbreak;
    }
  }
}

댓글 0

조회수 360

등록된 댓글이 없습니다.

8051/PICHOME > 8051/PIC > 전체 목록

8051/PIC 목록
제목 작성자 작성일 조회
109 8051 1. 8051 내부구조 이미지 키트 17-09-12 614
108 8051 8051 개요 이미지 키트 17-09-12 527
107 8051 3. 8051의 인터페이스 이미지 키트 17-09-12 536
106 8051 AT89S 시리즈 타겟 ISP 기본 회로도 키트 17-09-12 439
105 8051 keil 8051을 이용한 FND 6자리 시계구현 키트 17-09-12 499
104 8051 8051 6자리 세그먼트 keil 시계 키트 17-09-12 372
103 8051 PWM 0~200kHz 영역의 주파수를 측정 이미지 키트 17-09-12 793
102 8051 8051 4x3 매트릭스 키 스캔 키트 17-09-12 339
101 8051 SE-BATCAR 라인트레이서 조립 KIT - 대만 MEGAWIN 사의 RISC 형 8051 이미지 키트 17-09-12 593
100 8051 코드변경 8051 ==>AVR (출력 포트) 키트 17-09-12 322
현재글 8051 89S51 실습보드 dip스위치로 led제어 키트 17-09-12 361
98 8051 8051 Architecture - Datasheets - Atmel 키트 17-09-12 299
97 8051 LED 순차점등 키트 17-09-12 485
96 8051 win51 신호등 키트 17-09-12 305
95 8051 초보자를 위한 8051 시계키트 강좌 (3) - C소스분석 키트 17-09-12 352
게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기