회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 69
판매자 보해소주 판매 납포인트 무료 평점 0점 / 총 0명 참여
8051 타이머 정복 - 제1부 -



제1부 : 8051 타이머 개요
제2부 : 타이머 관련된 SFR 레지스터 분석
제3부 : 타이머 동작모드 분석 및 예제 프로그램 작성
제4부 : 타이머 활용 및 정리



0. 들어가며

8051 마이크로컨트롤러를 학습하면서 어려움에 부딪히는 가장 중요한 기능 중의 하나가 바로 "타이머/카운터"의 활용입니다. 왜냐하면, 이 타이머 기능은 타이머 자체로서 그 역할을 하는 것에서 벗어나 인터럽트 및 시리얼 통신의 사용에 있어서도 이용이 되기 때문입니다. 다시말해, 8051의 다른 부분을 공부하다가도 다시 한번 되돌아와서 봐야 하는 부분이 바로 이 타이머/카운터(이하 타이머라고 하겠습니다). 해서, 본 강좌에서는 Ateml의 AT89S51 프로세서를 중심으로 8051 타이머에 대한 이해를 돕고, 이를 이용하여 간단한 응용 함수를 구현해보도록 하겠습니다.



1. 타이머/카운터 개요

먼저 용어의 정의를 살펴보도록 하죠. 타이머와 카운터는 일정 주기의 클럭신호를 입력 받아 특정 레지스터의 값을 계수하는 기능을 말합니다. 여기서 일정 주기의 클럭신호를 통상 클럭소스라 부르며 이 클럭소스를 외부 특정 핀으로부터 입력받으면 카운터, CPU 내부에서 입력받으면 타이머라고 부릅니다. 여기서 CPU 내부에서 클럭신호를 받는다 함은 89S51의 클럭을 담당하는 오실레이터 혹은 크리스털 부품을 이용한 클럭신호를 말하는데 보통 이 크리스털 등은 CPU 외부에 별도의 부품으로 존재하나, CPU 내의 모든 기능이 이 신호를 기준으로 동작하므로 카운터와의 구별을 위해 내부 클럭신호라고 부르도록 하겠습니다. 카운터로 동작하는 경우에는 아래 그림의 빨간색과 파란색 표시가 된 핀이 신호의 입력을 담당하게 됩니다. 참고로 고전적인 8051계열의 칩은 이 타이머/카운터가 2개 존재하며, 8051의 개량형인 8052계열(AT89S52, AT89S8252 등)은 추가 타이머 1개를 포함하여 총 3개의 타이머를 제공합니다.



<그림 1 : AT89S51(좌) 및 AT89S52(우)의 타이머/카운터 핀 아웃>



위의 그림에서처럼, 카운터는 소스가 외부(T0,T1)에서 인가되는 것 외에는 기본적인 기능은 타이머와 다를 바가 없으므로 타이머에 대해서 확실히 알게 되면 카운터는 식은죽 먹기입니다.

자아!!! 이제 본론으로 들어가기 전에 몇 가지 질문을 받아보도록 할까요?

[Q]위에서 오실레이터와 크리스털이란 부품을 언급하셨는데 각각이 어떤 부품을 말하는지 궁금합니다.

[A]통상 CPU는 자신과 내부 모듈 그리고 주변장치와의 신호간 동기화를 위해 클럭이란 시그널을 사용합니다. 이 클럭 주파수가 높을 수록 처리속도가 높다고 보아도 무방하죠. 이 클럭신호는 CPU칩마다 이용하는 방식이 다른데, 크게 CPU 내부에서 자체적으로 만들어내는 것과, 외부의 부품을 달아서 클럭신호를 제공받는 경우 두 가지가 존재합니다. 8051칩은 이 중 후자의 경우에 해당하기 때문에 클릭신호 생성을 위해 별도의 외장부품을 달아야 합니다. 그 외장부품이 바로 오실레이터크리스털입니다. 아래 사진에 두 부품의 외형을 실었습니다. 두 부품의 차이점은 CPU에 클럭신호를 제공하는 것에는 차이가 없으나 배선 방식에 다소 차이가 나며, 가격은 오실레이터보다 크리스털이 좀 더 저렴하고, 8051과 같은 마이컴 계열의 보드에서는 부품배치가 용이한 ATS타입의 크리스털이 주로 이용되기도 합니다. 참고로 크리스털은 자체만으로는 진동을 할 수 없기 때문에 LC진동을 위해서 커패시터를 추가적으로 달아주게 되어 있습니다.




<그림 2 : 오실레이터(좌)와 크리스털(중), ATS 타입 크리스털(우)>



[Q] 제가 가진 보드의 크리스털은 클럭주파수가 22.1182MHz입니다. 같은 CPU라도 사용되는 클럭주파수가 보드마다 다른 경우가 있던데 타이머 강좌를 하면서 문제가 되진 않나요?

[A] 당연히 사용되는 클럭주파수에 따라 타이머 주기가 달라진답니다. 본 강좌를 공부하시고 나면 클럭주파수에 따른 타이머 주기를 계산 할 수 있습니다. 따라서, 특별히 문제되는 것은 없으니 걱정 안하셔도 됩니다. *^^*


[Q] 8051 관련 교재를 공부하다보면 타이머0,1 각각에 타이머모드라는게 존재하던데요.

[A] 그것 때문에 이 글을 쓰게 된 것입니다. 타이머0,1는 각각 모드 0 부터 모드3까지 4가지의 동작모드가 있습니다. 각각의 모드는 설정 방법이나 동작 방식이 상이하므로 정확한 이해가 필요한데, 어떤 동작모드를 사용하느냐에 따라 타이머 관련 응용함수의 구현 방식도 달라지기 때문입니다.



오늘은 맛배기니까 일단 여기까지입니다. 혹시라도 타이머에 대해서 더 궁금하신 분들은아래 링크된문서를 다운받아 읽어보시는 것도 좋을 듯합니다.

문서보기

그럼 제2부에서 뵙기로 하죠!!! *^^*

profile
진도령 2007.09.08 19:28

초보자인 저도 보기쉽게 잘 설명해 주셔서 감사합니다.앞으로 잘 부탁 드립니다.

profile
도리형 2007.09.19 17:55

좋은 글 감사합니다.

profile
콜록 2007.09.30 16:33
옷.. 감사감사.~
profile
붕붕 2007.11.03 16:49
잘보았습니다^_^ㅋ
profile
yahoosm 2007.11.25 17:30
설명을 너무 잘하시네요^^ 감동!
profile
찹쌀덕두개 2007.12.06 13:05
자료감사합니다
profile
ssonic00 2008.03.10 15:49
자료 감사합니다.
profile
sniperlee 2008.03.12 21:20

감사히 볼께요.

profile
해려니 2008.04.05 10:15
안그래도 타이머가 뭔지 몰라 고생이었는데 좋은 자료 감사해용
profile
대장 2008.04.08 01:02
열심히 공부하겠습니다.
profile
kayer 2008.04.12 23:47
잘보고 갑니다~~
profile
울프썬 2008.04.15 23:14
^^좋은자료 감사합니다^^
profile
Zosys 2008.04.21 13:59
감사합니다^^
profile
아이구머쩌라 2008.05.22 11:48
감사합니다^^
profile
호랭이 2008.05.23 10:07
좋은글 감사합니다 ~~~~
profile
bug 2008.06.08 22:45
수고하셨어요
profile
바람돌돌 2008.06.19 16:36
감사합니다.
profile
A.T.O 2008.07.07 23:25
감사합니다~
profile
진검승부 2008.08.25 13:00

한 수 배웠습니다. ^^;;

profile
마르베쑤 2008.09.16 09:40

감사합니다

profile
초보 컨트롤 2008.09.16 11:30
감사합니다
profile
뽀슬비 2008.09.17 16:32
좋은 글 감솨~
profile
쫑가 2008.09.19 08:08

감사합니다.

profile
moneywin 2008.09.21 20:40

 좋은자료 감사합니다~~^^

profile
사사사 2008.09.22 14:11
좋은자료 ㄳ
profile
꿀꿀 2008.10.01 22:46
감사합니다 !! ㅋ
profile
외뿔공룡 2008.10.10 20:55
설명이 쉽게 되어 있네요. 감사-
profile
오뎅 2008.10.17 13:27
감사합니다. ㅋㅋ
profile
하지훈 2008.10.23 20:18
감사합니다^^
profile
투덜이닌자 2008.10.24 10:17
thank you
profile
함해보끄나 2008.11.27 18:06
쌩유~~
profile
비누방울 2008.12.03 14:28
캄사합니당 >.<
profile
여누법사 2009.05.12 22:20
와우~ 여기 정말 좋은거 같네요
profile
마니온 2009.08.13 17:20
좋은 자료 감사합니다.~~
profile
newcheck 2009.09.24 19:53
굿 입니당..ㅎ
profile
ernie 2009.10.15 22:46
감사합니다. ^^
profile
단단다다 2009.10.16 03:13
감사합니다ㅎㅎ 그런데 그림 링크가 깨졌네요;
profile
snapshot 2009.11.01 01:58
2부가 기대 되는 군요...
profile
leo 2009.11.27 16:20
많은 도움이 되었습니다.
profile
물지않아요 2009.11.30 13:49
많은도움이되었어요!
profile
피타고라니 2009.12.01 15:59
자세하군요 감사합니다.
profile
GONGBA 2009.12.15 10:15
아...빨리 공부하고 싶은데 납이 없으니까 안되네요...
열심히 하겠습니다...
profile
평생동안 2009.12.28 10:55
잘 배우고갑니다~
profile
오호 2010.01.07 10:34
아하하하 감사합니다... 그림이 링크가 깨져서 조금 아쉽네요.. ^^
profile
라온아비 2010.02.24 09:46
강의가 쉽고 재밋게 되어 있네요.. 잘 봤습니다.
profile
어쩌라고 2010.03.20 10:22

감사합니다.

잘 배웠습니다~^^

profile
kusum 2010.03.30 01:40
좋은 강좌 감사드립니다.
profile
키키오오 2010.04.04 02:18

감사합니다.

profile
야래 2010.04.05 18:56
감사합니다!
profile
야래 2010.04.05 19:51
사진이 안뜨네요...저만그런가..ㅜㅜ
search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
69 머신러닝, AI & 알고리즘 matlab 쉽게 배우는 방법없나요? [7] 무료 kayle 2013-09-26 0 441
68 머신러닝, AI & 알고리즘 Kalman 필터로 쉽게 센서통합하기 [8] 무료 아크마 2011-08-01 0 2993
67 머신러닝, AI & 알고리즘 매크로 이름에 괄호를 사용하기 [5] 무료 밝은전기구슬 2011-03-28 0 4923
66 머신러닝, AI & 알고리즘 Solving ODEs with MATLAB [3] 무료 HALU13 2010-11-29 0 2154
65 머신러닝, AI & 알고리즘 A Guide to MATLAB Object-Oriented Programming - Andy H. Register [5] 무료 HALU13 2010-11-29 0 2299
64 머신러닝, AI & 알고리즘 매트랩 한글 메뉴얼 입니다. [33] 무료 우당탕카 2010-06-01 0 5727
63 머신러닝, AI & 알고리즘 보간법 매틀랩 코드입니다. 무료 나얼제자 2010-05-25 0 4140
62 머신러닝, AI & 알고리즘 매틀랩 명령어 정리 입니다 [14] 무료 지노쟁이 2010-04-29 0 4648
61 머신러닝, AI & 알고리즘 matlab이 저에게 필요한가요 [5] 무료 딘재 2010-04-16 0 2250
60 머신러닝, AI & 알고리즘 공업수학요약정리4 [10] 무료 알라뷰 2010-03-07 0 2525
59 머신러닝, AI & 알고리즘 공업수학요약정리3 [8] 무료 알라뷰 2010-03-07 0 2483
58 머신러닝, AI & 알고리즘 공업수학요약정리2 [8] 무료 알라뷰 2010-03-07 0 2061
57 머신러닝, AI & 알고리즘 공업수학요약정리1 [12] 무료 알라뷰 2010-03-07 0 3187
56 머신러닝, AI & 알고리즘 proxmity sensing 알고리즘입니다. [2] 무료 퀴아쿠 2010-02-19 0 2047
55 머신러닝, AI & 알고리즘 알고리즘 설계 및 실습 - Huffman & Dijkstra [5] 무료 블루미르7 2010-01-05 0 3471
54 머신러닝, AI & 알고리즘 간단한 비례 공식입니다 ㅎㅎ [2] 무료 karismapong 2009-10-20 0 2648
53 머신러닝, AI & 알고리즘 Euler 미분법[MATLAB] [4] 무료 아크마 2009-10-01 0 4642
52 머신러닝, AI & 알고리즘 Matlab코드를 C코드로 변환할 수 있다는데.. 무료 kezman 2009-09-25 0 4195
51 머신러닝, AI & 알고리즘 MPLAB 컴파일을 했더니 에러가 떠요..ㅠㅠ [2] 무료 로이lee 2009-04-16 0 3968
50 머신러닝, AI & 알고리즘 (MATLAB) S-ALOHA의 Throughput 시뮬레이션 소스 [2] 무료 태상노군 2008-09-23 0 5172
  • 사슴을 쫓는 사람은 토끼를 쳐다보지 않는다.
    - 유안
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.