회원가입 ID/PW 찾기

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

콘텐츠 수 200

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%를 돌려드립니다.
200 펌웨어 & 코딩언어 AVR 128에 시리얼통신칩 설정 참고 [1] 무료 어부 2015-11-17 0 413
199 펌웨어 & 코딩언어 혼자 연구하는 c/c++ 입니다. [26] 무료 신념짱가 2013-08-23 0 1144
198 펌웨어 & 코딩언어 컴구조 공부중에 질문이요 [1] 무료 왈라c 2011-01-25 0 2983
197 펌웨어 & 코딩언어 The Art of Assembly Language [3] 무료 TreeOfDream 2011-01-16 0 2602
196 펌웨어 & 코딩언어 [펌]C언어의 기본구조 [21] 무료 스마트패넘 2010-12-16 0 3681
195 펌웨어 & 코딩언어 C언어 관련 레퍼런스 자료입니다.(C 라이브러리 사용시 유용함.) [14] 무료 승아 2010-11-06 0 3379
194 펌웨어 & 코딩언어 c언어 성적표 프로그램 [3] 무료 RTEE 2010-10-05 0 2931
193 펌웨어 & 코딩언어 c언어 잘할수있는게 [4] 무료 아기 2010-09-27 0 2436
192 펌웨어 & 코딩언어 C 언어 [3] 무료 연희야 2010-08-12 0 2386
191 펌웨어 & 코딩언어 윈도우 7 새 시스템 파티션을 만들거나 기존 시스템 파티션을 찾을 수 없습니다 무료 아크마 2010-07-22 0 8022
190 펌웨어 & 코딩언어 자바 개발 툴 [2] 무료 TreeOfDream 2010-06-21 0 2879
189 펌웨어 & 코딩언어 제가 사용하는 계산기 프로그램입니다. [7] 무료 타미아 2010-06-04 0 3716
188 펌웨어 & 코딩언어 모바일 프로그래밍 res파일 [2] 무료 니나노올 2010-06-02 0 2162
187 펌웨어 & 코딩언어 모바일 프로그래밍 게임소스 [1] 무료 니나노올 2010-06-02 0 2348
186 펌웨어 & 코딩언어 MFC로 영상이미지 역상처리하는 프로그램 [3] 무료 나얼제자 2010-05-25 0 3467
185 펌웨어 & 코딩언어 아스키 코드표 [3] 무료 siwall 2010-05-24 0 5071
184 펌웨어 & 코딩언어 RTOS 자료 두번째. [4] 무료 워터보이 2010-05-13 0 1923
183 펌웨어 & 코딩언어 RTOS 자료. [4] 무료 워터보이 2010-05-13 0 2238
182 펌웨어 & 코딩언어 InnoSetup 셋업 프로그램 만드는 프리웨어 [2] 무료 전자과조교 2010-05-04 0 2159
181 펌웨어 & 코딩언어 freescale사의 s12 instruction set 요약입니다. [2] 무료 아싸라삐야 2010-05-01 0 2303
  • 호기심이란 무지의 고백인데 그것은 의도적이면 당당하며 열렬하다.
    - 루빈슈티안
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.