Title: พี่ smitdh คับ รบกวนที Post by: pakapong16 on March 12, 2010, 06:09:09 PM หากผมใช้ timer1 ความถี่ XTAL= 20 MHz
อ่าน timer/counter ออกมา ให้ได้เท่ากับใช้ Xtal 4 Mhz (clock ภายใน = 1 MHz)และ prescaler เป็น 1 ผมต้องใช้ prescale เท่าไหร่คับ Title: Re: พี่ smitdh คับ รบกวนที Post by: smitdh on March 15, 2010, 09:06:03 PM ไม่ได้เข้ามาดูซะนาน
ช่วงนี้ไม่ค่อยสบายครับ ไปตรวจสุภาพมา ถูกฉีดยาทึบรังสี แล้วแพ้ยา เลยตาลาย+มึนๆ ขอพักอีกสักวัน-สองวันนะครับ เดี๋ยวกลับมาดูให้ครับ Title: Re: พี่ smitdh คับ รบกวนที Post by: smitdh 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 ครับ Title: Re: พี่ smitdh คับ รบกวนที Post by: pakapong16 on March 19, 2010, 01:25:17 AM ขอบพระคุณอย่างสูงเลยครับ
|