AT89C51 (8051)

Micro controler (마이컴) 의 사양 및 레지스터 set.







 

TMOD : 타이머 설정에 필요한 레지스터. 타이머1과 0 사용에 관한 설정을 하는 곳


[[GATE] [C/T] [M1] [M0]]TIMER_1 | [[GATE] [C/T] [M1] [M0]]TIMER_0


GATE : 0(타이머 카운터를 소프트웨어적으로 구동)

C/T  : 0 -  TIMER 로 동작

       1 -  COUNTER 로 동작


M1, M0 - 두 비트가 합해서 의미를 가짐. 

            0 0 : 모드0 : 13비트 프리스케일러 모드 - MCS48 호환을 위해 만들어 둔 것

            0 1 : 모드I  : 16비트로 기능하는 타이머.

                          16비트를 쓰기 위해 TH0 TL0 TH1 TL1을 각각 합쳐서 사용

            1 0 : 모드II  : 8비트로 기능하는 타이머

                           I초기값을 설정해서 가질수 있다

            1 1 : 모드III



SCON - Serial port CONtrol register (비트별 제어가능)


[ SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI ]


SM0, SM1 : 각각 0 1로 설정한다. 이는 모드1을 쓴다는 의미이다.

SM2 : 0 으로 설정, 모드 1에서는 사용하지 않는다.

REN : 수신 가능 비트, 1로 설정하면 수신 가능, 0으로 설정하면 수신 불가

TB8 : 0, 모드 1에서 사용하지 않음

RB8 : 0, 모드 1에서 수신된 스톱비트값.

TI : 전송 인터럽트 플래그, 모두 전동되면 1이 된다.

RI : 수신 인터럽트 플래그, 모두 수신되면 1이 된다.



PCON - Power CONtrol register (비트별제어 불가능)


[ SMOD | - | - | - | GF1 | GF0 | PD | IDL ]


SMOD : 1로 설정, baud rate 설정시 사용

- : 예약된 비트

GF1, GF0 : 일반목적 사용가능, 별로 사용하지 않음

PD : Power Down bit, 1로 설정하면 CPU가 파워다운 모드로 들어감

IDL : Idle Mode bit, 1로 설정하면 아이들모드로 들어감

TCON 레지스트. - 비트별로 제어 가능하다.


[TF1] [TR1] [TF0] [TR0]


TF1, TF0 : 타이머1과 0의 오버플로우 플래그 (사용자가 설정하는 값이 아님)

            인터럽트를 체크하면서 하드웨어적으로 자동 세트되고, 오버플로우 발생시

            인터럽트 서비스 루틴을 실행시킨 후 다시 0으로 자동 소거된다.


TR1, TR0 : Timer1 or 0 run control bit

            타이머를 On/Off 시킬때 소프트웨어적으로 할 수 있도록 설정하는 것.




Posted by Yoons...
,