회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 1,041

8051입출력포트

마이크로프로세서 구매수 0 2010.06.25 10:27:51
판매자 양치기광녀 판매 납포인트 무료 평점 0점 / 총 0명 참여

8051의 포트

맨처음에 설명했지만 다시 보면,

 

 1) 포트 0 (P0.0 ~ P0.7)

 8 비트 양방향 입출력 단자, 내부 풀업 저항이 없기 때문에 풀업 저항이 필요하다. 포트 0은 외부 메모리를 연결할 때는 하위 AD0 ~ AD7 로 어드레스 신호와 데이터 신호가 함께 나오는 라인이다.

 출력으로 사용할 경우 8개의 LS TTL에 사용이 가능하다.

 

 2) 포트 1 (P1.0 ~ 1.7)

 8 비트 양방향 입출력 단자, 내부적으로 풀업이 되어 있어서 따로 외부에풀업 저항 없이 출력 값을 유지할 수 있다.

 출력으로 사용할 경우 4개의 LS TTL에 사용이 가능.

 

 3) 포트 2 (P2.0 ~ 2.7)

 8 비트 양방향 입출력 단자, 내부적으로 풀업이 되어 있어서 따로 외부에풀업 저항 없이 출력 값을 유지할 수 있다.

 포트 2는 외부 메모리나 다른 입출력 장치들을 확장할 때 상위 AD8 ~ AD 15로 어드레스 버스로 이용한다.

 출력으로 사용할 경우 4개의 LS TTL에 사용이 가능

 

 4) 포트 3 (P3.0 ~ 3.7)

 8 비트 양방향 입출력 단자, 내부에 풀업 저항이 있다.

 출력으로 사용할 경우 4개의 LS TTL에 사용이 가능.

 포트 3는 입출력 기능외에 다른 기능을 가짐.

      

 Pin

 Name

Alternate Function 

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RXD

TXD

INT0

INT1

T0

T1

WR

RD

Serial Input LIne

Serial output Line

External Interrupt 0

External Interrupt 1

Timer 0 external input

Timer 1 external input

External Data Memory Write Strobe

External Data Memory Read Strobe

                       포트3의 구성

 

예제 소스를 보며 어떻게 포트로 출력하는지 보자.

 

#include <reg51.h>

void delay(unsigned int i);

void main(void) {
    unsigned int i;

    for(i=0; i<5; i++) {
        P1 = 0xAA;
        delay(20000);
        P1 = 0x55;
        delay(20000);
    }

    while(1) {
        P1 = 0x01;
            for(i=0; i<7; i++) {
                P1 <<= 1;
                delay(5000);
            }
            for(i=0; i<7; i++) {
                P1 >>=1;
                delay(5000);
            }
    }
    }


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

 

 내용은 간단하다. main()의 for() 문을 보면 P1에 각각 0xAA와 0x55 값을 넣어 주는데, AA(16) = 170(10) = 10101010(2) 이며, 55(16) = 85(10) = 01010101(2) 이 된다. 8051보드에 있는 LED를 보면 변환된 이진수 값과 같이 LED가 깜박거리는 것을 5번 반복하게 된다.

 다음에 while()문에서 반복을 하는데, LED에 차례로 1값을 쉬프트하게 된다. 프로그램이 동작하는 동안 LED가 왔다 갔다 하게 된다.

 

※ 참고

Pull Up 저항 (풀업저항)

간단하게 요약하면,

디지털 회로에서 pull up저항이 필요한 이유에 대해 알아봅시다.
우선 두개의 IC사이에 Interface 전압이 다른 경우입니다. 한쪽은 3.3V를 사용하는데
다른쪽은 5V를 사용하는 경우또는 그 반대의 경우 가장 많이 사용하는 방법이
출력을 Open Collector 또는 Open Drain 에 필요한 전압을 걸어 전압을 맞출때 사용합니다.

 

 

 

출처 - http://blog.paran.com/mcu/5310538


profile
younglhh 2010.12.03 08:44

입문할때는 led 켜는 겨도 신기했는데 ^^ 잘 읽고 갑니다.

profile
컴쟁이 2012.11.24 00:02
자료감사요
profile
시나브로69 2016.07.16 16:31

좋은 자료 감사합니다.

search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
861 마이크로프로세서 오실로스코프 PC와 연동 [6] 무료 kebin 2010-07-21 0 4846
860 마이크로프로세서 시리얼 모니터링 프로그램 [5] 무료 kebin 2010-07-21 0 6162
859 마이크로프로세서 [펌] 04. AVR 8비트 타이머 & 카운터.pdf [13] 무료 우량감자 2010-07-16 0 4293
858 마이크로프로세서 [펌] 03. AVR ATmega128 PORT.pdf [16] 무료 우량감자 2010-07-16 0 4381
857 마이크로프로세서 [펌] 01. 마이크로 컨트롤러 개론.pdf [11] 무료 우량감자 2010-07-16 0 3759
856 마이크로프로세서 AVR 초심자를 위한 개발환경 구축 요약자료 [7] 무료 우량감자 2010-07-16 0 3562
855 마이크로프로세서 초음파센서 테스트 프로그램(AVRGCC) [4] 무료 dodo 2010-07-16 0 4537
854 마이크로프로세서 AVR 용 부트로더 프로그램 [2] 무료 dodo 2010-07-16 0 3522
853 마이크로프로세서 스텝모터 가감속테이블!! [11] 무료 흑마늘 2010-07-15 0 5531
852 마이크로프로세서 MSPF1611 기능정리! [2] 무료 흑마늘 2010-07-15 0 4950
851 마이크로프로세서 MSP430F149 예제! [3] 무료 흑마늘 2010-07-15 0 5163
850 마이크로프로세서 MSP430F44x 예제! [2] 무료 흑마늘 2010-07-15 0 4552
849 마이크로프로세서 MSP430F21x2 예제! [2] 무료 흑마늘 2010-07-15 0 4674
848 마이크로프로세서 요즘 제가 유용하게 사용하고 있는 시리얼 프로그램 입니다. [3] 무료 우보만리 2010-07-14 0 4062
847 마이크로프로세서 오실로스코프 사용법입니다. [9] 무료 모도보도 2010-07-13 0 4939
846 마이크로프로세서 터치스크린에 대한 자료입니다, [8] 무료 모도보도 2010-07-13 0 4503
845 마이크로프로세서 가입기념 ^^ GLCD 한글사용 라이브러리 입니다.- WIN AVR [10] 무료 모도보도 2010-07-09 0 6588
844 Software & IDEs [Win32api/게임 ] 갤러그 [4] 무료 밍구리 2010-07-02 0 3627
843 마이크로프로세서 이게강좌인지 자료인지하여간 일반포트로 서보모터제어하기입니다... [2] 무료 9219jaks 2010-06-30 0 4588
842 마이크로프로세서 AVR로 BusLCD 제어하기 [11] 무료 나다고나다고 2010-06-30 0 3879
  • 어리석은 자는 수치스러운 일을 할 때에도 그것이 언제나 그의 의무라고 선포한다.
    - 버나드쇼
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.