회원가입 ID/PW 찾기

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

콘텐츠 수 15

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%를 돌려드립니다.
15 전력전자 DC-DC Switching Converter IC Design 이론 자료 입니다. [8] 무료 또지 2018-03-03 0 440
14 전력전자 벅 컨버터 설계자료 [31] 무료 칸장군 2012-02-10 0 3755
13 전력전자 buck converter LC filter 설계 [3] 무료 파월 2010-09-09 0 6343
12 전력전자 high efficiency optimization of llc resonant converter for wide road range [4] 무료 파월 2010-09-09 0 3032
11 전력전자 Forward 컨버터 설계 관련 팁입니다. [4] 무료 여비04 2010-08-02 0 3168
10 전력전자 3상 전원회로의 기본~! [5] 무료 열정의도가니 2010-07-27 0 4039
9 전력전자 DC-DC 강의 PPT자료 입니다. [26] 무료 풩님 2010-07-20 0 5244
8 전력전자 SMPS 기초입니다. [32] 무료 에드문도 2010-07-12 0 3027
7 전력전자 watt 계산표 [13] 무료 연거리 2010-04-21 0 2649
6 전력전자 SMPS개요2 [5] 무료 키스님 2009-12-15 0 2803
5 전력전자 SMPS개요 [8] 무료 키스님 2009-12-15 0 2852
4 전력전자 정전압 회로 [9] 무료 DJh 2009-12-03 0 4663
3 전력전자 3레벨 컨버터를 이용한 철도차량용 주 전력변환장치 [1] 무료 나입니다. 2009-11-08 0 2255
2 전력전자 전원회로 설계 핸드북 [28] 무료 치프 2009-11-02 0 5564
1 전력전자 DC-DC 컨버터 두개 병렬연결 가능한가요?? [17] 무료 날뽕녀 2008-11-14 0 4396
  • 사랑은 사람들을 치료한다. 사랑을 받는 사람, 사랑을 주는 사람 할것 없이.
    - 메닝거
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.