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 시킬때 소프트웨어적으로 할 수 있도록 설정하는 것.
'Study.. > Programming' 카테고리의 다른 글
Intelligent completion at Vim 7.0 (0) | 2008.06.03 |
---|---|
_beginthreadex (2) | 2007.11.16 |
LEX & YACC (0) | 2007.09.04 |
MFC 프로그래밍.. "Hello World" + Mouse event.. (0) | 2007.08.28 |
Windows is inherently harder to secure than Linux. - 윈도우 보안이 리눅스보다 극히 어렵다. (0) | 2007.06.03 |