본문 바로가기
코스웨어/16년 스마트컨트롤러

20160317-조재찬-업무일지-펌웨어(타이머 카운터)

by 알 수 없는 사용자 2016. 3. 17.
728x90
반응형

타이머/카운터


 

클럭 : 동작 주파수

 

클럭-시간

주파수-초당 진동수

 

 

Atmega2560의 클럭 16mhz

16,000,000hz - oscillator(16.000 mhz)

1:1

    

 

빠른 CPU는?

기본외부 주파수 16mhz일때, PLL이 48mhz로 뻥튀기

 

PLL (phase locked loop) ; 위상 동기 루프

 

10진법-인간-1Mhz->1000khz

2진법-컴-1Mbyte->1024kbyte   

 

 

분주비의 개념

 

 

 

No prescaling - 분주를 하지 않음
From prescaler 분주비   (x/n)

 

/1024가 세기에 가장 좋음

 

 

8bit 타이머 카운터를 만드는데는 8/64/256/1024 중에서

오차 없는 분주비 64가 최적

 

 

동작주파수

분주비

클럭당 소요시간

기준시간

카운터

16000000

1

0.00000006250000000000

0.001

16000.000

8

0.00000050000000000000

0.001

2000.000

64

0.00000400000000000000

0.001

250.000

256

0.00001600000000000000

0.001

62.500

1024

0.00006400000000000000

0.001

15.625

 

  

 

 

내부 인터럽트 - 두가지 방식

over flow방식, compare방식

 

over flow방식

CharA=256;   printf 했을 때 0

 

 

Interrupt Vectors in ATmega 2560

Table

 

 

 


 

 

 







 

타이머 카운터 실습


1초마다 A세기

 


타이머카운터(1초마다 a세기).7z









시간 출력(00:00:03)


00_00_03.7z




 

char caTime[]="00:00:00"; 

//0시 0분 0초, 2byte : 0~65535  최대 18시간 저장가능한 시계를 만들수 있다.


 '0'

 '0'

 :

 '0'

 '0'

 :

 '0'

 '0'

 null


[0] [1]  2  [3] [4]  5  [6] [7] 8   - 9개


시 : 0, 1    / 분 : 3, 4    / 초 : 6, 7 

 

728x90