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 

 

'Study > Embedded' 카테고리의 다른 글

20160322_펌웨어(USART)  (0) 2016.03.22
20160321_펌웨어(UART)  (0) 2016.03.21
20160316-LCD출력  (0) 2016.03.17
20160315-펌웨어 분석 및 학습  (0) 2016.03.16
20160314-펌웨어 분석(외부 인터럽트)  (0) 2016.03.15

+ Recent posts