8051 타이머 모드1
아래 설명된 타이머 모드0와 별반 다를게 없습니다.
차이점은 모드0와 달리 모드1에서는 16비트 카운터로 동작을 한다는 점이죠.
<모드1>
16비트 카운터로 동작을 합니다.
TH와 TL의 모든 비트를 사용을 하게 됩니다.
TH와 TL에 설정하는 값을 계산하기 위해서는 다음의 공식에 대입을 하면 됩니다. 아래 설명된 모드0와 똑같은 값을 계산해 보죠.
먼저 내부 클럭 1개당 주기를 계산하면
T(주기)=1/f이며 머신 사이클 주파수는 11059200/12(분주)=921600
그러므로 내부 클럭 당 주기는 1/머신사이클=1/921600=0.0000010850694가 됩니다. 여기서 예를 들어 인터럽트 주기를 0.005초로 한다면
내부 클럭수는=0.005/0.0000010850694=4608이 되며 4608을 헥사값으로 나립뻗?0x1200이므로
TH,TL개수=(0xffff+1)-내부 클럭수=(0xffff+1)-0x1200=DC00이 됩니다. 이 헥사 값을 이진수로 표현하면 11011100 00000000 이 되며 이 값을 가지고 TH와 TL의 개수를 설정하면됩니다.
이것을 다시 헥사로 나타내면 TH=0xDC, TL=0x00이됩니다.
예를 들어 보면 아래 모드0와 별반 다를게 없습니다.
초기에
#define T0H=0xDC
#define T0L=0x00
이부분만 변경을 하시면 됩니다.
<< 전자기기 개발 --- 건강기기, 통신기기,각종 전자회로 개발, PCB ARTWORK >>
http://cafe.daum.net/elecom-rnd
출처 : 민이 여행
'Programming > 8051' 카테고리의 다른 글
시리얼 통신 (0) | 2009.11.30 |
---|---|
RS232/RS422/RS485 (0) | 2009.11.30 |
8051의 타이머 0 (0) | 2009.11.30 |
8051타이머 모드설정 (0) | 2009.11.30 |
8051( 중급 12부 - serial 통신 2 ) (0) | 2009.11.29 |