ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Micro_Processer]Final Test....
    Study 2005. 12. 18. 19:27
    4장-8051용의 Keil_C51
    1.데이터형(기존의 C언어 데이터형과 8051용 데이터형)
    -bit : 1bit 단위의 데이터 형
    -sbit : sfr과 관련된 bit변수 처리, Bdata지정 데이터의 비트 단위 접근시
    -sfr : 특수기능 레지스터를 선언할 때 사용(포트를 특정 레지스터 주소와 매핑 시킬때 등의 예)
    -sfr16 : 16비트 데이터(워드단위)를 다루는 레지스터, 2개의 sfr을 동시에 접근

    2.메모리형 지정자
    *각 변수는 메모리형 지정을 통하여 특정 메모리 공간에 할당 가능
    -Code : 프로그램 메모리(ROM)64K, opcode MOVC @a+DPTR
    -Data : 내부 데이터 메모리 중 직접 주소 지정 영역(00H~7FH), 가장 빠름
    -Idata : 내부 데이터 메모리 중 간접 주소 지정 영역(00H~FFH), 메모리 전체
    -Bdata : 내부 데이터 메모리 중 비트 단위 접근이 가능한 영역(20H~2FH), 바이트와 비트를 혼합하여 접근 가능
    -Xdata : 외부 데이터 메모리(RAM)64K, opcode MOVX @a+DPTR
    -Pdata : 외부 데이터 메모리를 256바이트 단위로 접근하는 영역, opcode MOVX @Rn

    3.8051에서의 포인터 사용법 2가지
    *포인터가 저장되는 메모리 위치와 포인터가 가리키는 변수가 저장되어 있는 메모리의 위치
    -일반 포인터(ANSI C와 동일)
    -----------------------------
    | 1바이트 | 2바이트 | 3바이트 |
    -----------------------------
    |메모리형|상위 주소|하위 주소|
    -----------------------------
    *메모리 형에 따른 데이터 값
    1:Idata. 2:Xdata, 3:Pdata, 4:Data/Bdata, 5:Code

    -메모리 지정 포인터(코드 생성 측면에서 효율적이고 수행이 빠름)
    1.Code, Xdata Pointer는 2바이트
    -------------------
    | 1바이트 | 2 바이트 |
    ------------------
    |상위 주소|하위 주소|
    --------------------
    2.Idata, Data, Bdata, Pdata Pointer는 1바이트

    -메모리 모델(프로그램과 데이터 메모리가 어떠한 형태로 사용되는가)
    SMALL : 128Byte의 메모리 사이즈. 모든 변수가 내부 메모리에 선언.
    COMPACKT : 256byte off-chip(128or256 on-chip)의 메모리 사이즈.
    LARGE : 64KB의 메모리 사이즈(123


    6장-I/O 포트의 이해
    -각 포트의 역할
    P0 : 입출력 기능과 외부 메모리 인터페이스시에 하위 8bit 주소/데이터 버스 기능
    P1 : 범용 I/O
    P2 : 범용 I/O 기능과 외부 메모리 인터페이스시에 상위 8bit 주소 버스
    P3 : 범용 I/O 기능과 각 핀별 복합기능
    * P3.0 : RXD(직렬 입력 포트)
    * P3.1 : TXD
    * P3.2 : INT0
    * P3.3 : INT1
    * P3.4 : T0
    * P3.5 : T0
    * P3.6 : WR(외부 메모리 쓰기 신호)
    * P3.7 : RD

    -포트 사용시 주의사항(P.132)
    1.포트0을 범용 I/O포트로 사용할 때에는 Open드레인이 되기 때문에 사용자가 반드시 풀업 시켜야한다.
    2.포트0~3을 I/O포트의 입력 기능으로 사용할 때, 올바른 핀의 상태로 입력하려면 래치에 '1'을 써넣고 입력을 하여야 한다. MOS는 래치의 (Not)Q출력이 연결되어 있기 때문에 사용자가 래치에 '0'을 써 넣으면 MOS는 ON이 되어 핀은 항상 0이 된다. 그래서 사용자는 '1'을 써 넣어 MOS를 OFF시켜 핀의 상태를 올바르게 입력할 수 있다.

    -예제 6.1 / 6.2 / 6.3


    7장-타이머/카운터 동작
    -타이머 모드
    *Mode0(13bit Counter)
    TLx(5) + THx(8) -> TFx
    *Mode1(16bit Counter)
    TLx(8) + THx(8) -> TFx
    *Mode2(8bit 자동 재적재)
    TLx(8bit)->TFx
    THx(자동 재적재 할 값을 넣어 둠)
    *Mode3(8bit 분할 Timer)


    -모드별 초기화 방법


    -표7.5(P.182)

    -예제1~3


    8장-직렬통신 포트 동작
    1.각 포트의 기능
    2.직렬 포트 레지스터(SCON)의 초기화
    3.동작 모드 4가지(0~3)
    4.비동기식 모드(Mode1,2,3)에서 Baud Rate 구하기


    9장-인터럽트 동작

    'Study' 카테고리의 다른 글

    [ARM]thumb code  (0) 2007.01.01
    gt4 샘플 프로그램 수행시 발생하는 에러  (0) 2006.12.26
    [Micro_Processer]source  (0) 2005.12.07
    [자료구조]이진 트리 순회  (0) 2005.10.27
    명령어 실행  (0) 2005.10.24
Designed by Tistory.