Pages: [1]   Go Down
Print
Author Topic: พี่ smitdh คับ รบกวนที  (Read 8373 times)
0 Members and 1 Guest are viewing this topic.
pakapong16
Jr. Member
**
Offline Offline

Posts: 33


« on: March 12, 2010, 06:09:09 PM »

หากผมใช้ timer1 ความถี่ XTAL= 20 MHz
อ่าน timer/counter ออกมา
ให้ได้เท่ากับใช้ Xtal 4 Mhz (clock ภายใน = 1 MHz)และ prescaler เป็น 1
ผมต้องใช้ prescale เท่าไหร่คับ
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #1 on: March 15, 2010, 09:06:03 PM »

ไม่ได้เข้ามาดูซะนาน
ช่วงนี้ไม่ค่อยสบายครับ ไปตรวจสุภาพมา ถูกฉีดยาทึบรังสี แล้วแพ้ยา
เลยตาลาย+มึนๆ ขอพักอีกสักวัน-สองวันนะครับ เดี๋ยวกลับมาดูให้ครับ
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #2 on: March 18, 2010, 09:03:56 PM »

คงเป็นคำถามเดียวกับ
http://www.thaimicrotron.com/webboard2/index.php?topic=439.msg1331#msg1331
จากคำถาม
หากผมใช้ timer0 ความถี่ XTAL= 20 Mhz
นับเวลา 6 ms ให้ได้ 6 ms. ตรงๆๆหรือใกล้เคียงนี้
ผมต้องใช้ prescale เท่าไหร่คับ
แล้วค่าเหล่านี้ล่ะคับต้องกำหนดยังงัย

หากผมใช้ timer1 ความถี่ XTAL= 20 MHz
อ่าน timer/counter ออกมา
ให้ได้เท่ากับใช้ Xtal 4 Mhz (clock ภายใน = 1 MHz)และ prescaler เป็น 1
ผมต้องใช้ prescale เท่าไหร่คับ


การใช้งาน Timer0
เมื่อไม่ใช้ prescaler หรือ prescaler =1
- หากคุณใช้ XTAL=4MHz สัญญาณนาฬิกาจากภายใน =  fosc/4 = 1us
ค่าที่นับได้ 1 ก็คือ 1Us
- หากคุณใช้ XTAL=20MHz สัญญาณนาฬิกาจากภายใน =  fosc/4 = 0.2us
ค่าที่นับได้ 1 ก็คือ 0.2Us

-เมื่อใช้ prescaler ขนาดของคาบเวลา=ค่าที่นับได้* prescaler
เช่น  XTAL=20MHz ,prescaler = 4 , นับได้ 100
คาบเวลา = (100*0.2us)*4 = 80us

-แต่เนื่องจาก Timer0 มีขนาด 8 บิท (0-255)
XTAL=20MHz เมื่อไม่ใช้ prescaler  จะนับได้ 255*0.2us = 51us เท่านั้น
คาบเวลาสูงสุดที่นับได้ เมื่อใช้ prescaler=256
51us *256 = 0.013sec หรือ 13 ms

ก็ยังใช้งานได้จากโจทย์ของคุณ ที่ต้องการนับเวลา 6 ms ครับ

Logged
pakapong16
Jr. Member
**
Offline Offline

Posts: 33


« Reply #3 on: March 19, 2010, 01:25:17 AM »

ขอบพระคุณอย่างสูงเลยครับ

Logged
Pages: [1]   Go Up
Print
 
Jump to: