티스토리 뷰

C언어

타이머 1 을 이용하여 보레이트(Baud rate) 만들기

시작이반입니다 시작이반입니다 2021. 8. 24. 03:00

타이머 1 을 이용하여 보레이트(Baud rate) 만들기

8051 의 직렬 통신은 통신 모드 1 (8비트 통신, 보레이트 가변 모드) 을 주로 사용합니다. 보레이트는 초당 전송되는 비트수(bps) 로 정의 될 수 있습니다. 이 보레이트를 만들기 위하여 타이머 1 의 모드 2 를 사용합니다. 타이머 모드 2 는 TL1 레지스터를 시정수로 사용합니다. TL1 이 오버플로우 되면 (0xFF -> 0x00) TH1 의 값이 TL1 으로 로드 됩니다. (오토 리로드) 타이머 1 을 사용한 경우의 보레이트 공식은 다음과 같습니다. 시스템 클럭은 22.1184 MHz 이고 SMOD 를 1 로 하고 TH1 을 0xFD(253) 로 해서 보레이트를 계산해 보면 38400 (bps) 이 됩니다. TH1 을 0xFA(250) 로 해서 보레이트를 계산해 보면 19200 (bps) 이 됩니다. TH1 을 0xF4(244) 로 해서 보레이트를 계산해 보면 9600 (bps) 이 됩니다. SMOD 를 0 로 하고 TH1 을 0xFD(253) 로 해서 보레이트를 계산해 보면 19200 (bps) 이 됩니다. TH1 을 0xFA(250) 로 해서 보레이트를 계산해 보면 9600 (bps) 이 됩니다. TH1 을 0xF4(244) 로 해서 보레이트를 계산해 보면 4800 (bps) 이 됩니다. SMOD 와 TH1 은 프로그램 상에서 변경이 가능하므로 소프트웨어적으로 보레이트를 변경하는 것이 가능합니다. 베타키트는 크리스탈을 교체할 수 있도록 제작되어 있기 때문에 크리스탈(시스템 클럭)을 11.0592 MHz 로 교체하면 보레이트를 반으로 줄일 수도 있습니다.

댓글
댓글쓰기 폼
공지사항
최근에 달린 댓글
Total
1,626
Today
0
Yesterday
15
링크
TAG
more
«   2021/10   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
글 보관함