1 / 15

การใช้งาน TIMER/ เคาน์เตอร์

ตัวนับ. จากภายใน. การใช้งาน TIMER/ เคาน์เตอร์. 5. ส่งสัญญาณออกมา เมื่อนับครบ. To. ตัวนับ. จากภายนอก. ตัวจับเวลา. ส่งสัญญาณออกมา เมื่อนับครบ. การทำงานของตัวนับตัวจับเวลา. Q. Q. Q. 1. 2. 0. การทำงานของ Timer. Timer Flip Flops (3). “ Flag ” Flip Flop. D. D. D. D. Q. Q.

sylvia
Download Presentation

การใช้งาน TIMER/ เคาน์เตอร์

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ตัวนับ จากภายใน การใช้งาน TIMER/เคาน์เตอร์ 5 ส่งสัญญาณออกมา เมื่อนับครบ To ตัวนับ จากภายนอก ตัวจับเวลา ส่งสัญญาณออกมา เมื่อนับครบ การทำงานของตัวนับตัวจับเวลา

  2. Q Q Q 1 2 0 การทำงานของTimer Timer Flip Flops (3) “Flag” Flip Flop D D D D Q Q Q Q clock Q “Flag” LSB MSB (ก)

  3. Q Q Q 0 2 1 การทำงานของTimer clock (LSB) (MSB) 0 1 2 3 4 5 6 7 0 Count Flag Flag is Set on 7-to-0 Timer Over Flow (ข)

  4. รีจีเตอร์ที่ใช้เป็น Timer

  5. (TMOD) Timer Mode Register

  6. T1 T0 โดยทั่วไป Gate จะเป็น 0 ตัวอย่าง 1 ใช้ T0 เป็นตัวจับเวลา ที่โหมด 1 0 0 0 0 0 0 0 1 หรือMOV TMOD , #01H ตัวอย่าง 2 ใช้ T1 เป็นตัวนับ ที่โหมด 2 0 1 1 0 0 0 0 0 หรือMOV TMOD , #60H

  7. การใช้ Timer โหมดต่างๆ

  8. การทำงานของ Timer ในโหมดต่างๆ เมื่อใช้ Timer 0 และ Timer 1 จะต้องใช้รีจิสเตอร์คู่ TL x และTH x โดยค่า x จะเป็นตัวบอกว่าเป็น Timer 0 หรือ Timer 1 การใช้ Timer สามารถใช้งานได้หลายโหมด ซึ่งเราสามารถเซตค่าโหมดการทำงานได้ โดยการโปรแกรมใน รีจีสเตอร์ TMOD

  9. TL x ( 5 bits ) TH x ( 8 bits ) Timer Clock TF x Overflow Flag Mode 0 การทำงานในโหมด 0 จะเป็นการใช้ Timer แบบ 13 บิต ซึ่งจะใช้ 5 บิตล่างของ TL x และอีก 8 บิตของ TH x การทำงานในโหมดนี้ เมื่อบิตของ TL x นับไปจนถึง “1” ทุกบิต จะส่ง Clock 1 ลูกให้ TH x นับต่อและเมื่อนับเป็น “1” ทุกบิต และเปลี่ยนกับเป็น “0” จะเกิด Overflow Flag เกิดขึ้น

  10. TL x TH x Timer Clock TF x Overflow Flag Mode 1 การทำงานในโหมดนี้จะเหมือนกับการทำงานในโหมด 0 แต่เป็น Timer 16 บิต ซึ่งการนับจะเริ่มตั้งแต่ 0000H ,0001H,0002H ไปเรื่อยๆและเกิด Overflow Flag เมื่อมีการเปลี่ยนแปลงจาก FFFFH เป็น 0000H ซึ่งเป็นการเซต Overflow Flag และค่านี้จะเกิดขึ้นในบิต TF x ของรีจีสเตอร์ TCONซึ่งสามารถอ่าน และเขียนด้วยโปรแกรม

  11. Mode 2 การทำงานในโหมด 2 เรียกอีกอย่างหนึ่งว่า 8 – bit Auto – reload Mode โดยใช้ Timer ไบต์ต่ำ ( TL x) เป็น Timer แบบ 8 บิต Timer Clock TL x TH x Reload Overflow Flag TH x เมื่อไบต์ต่ำเกิด Overflows หรือเกิดการเปลี่ยนแปลงจาก FFH เป็น 00H จะมีการโหลดค่าที่เก็บไว้ในไบต์สูง (TH x) ไปเก็บไว้ที่ไบต์ต่ำ(TL x) ซึ่งจะเป็น ค่าเริ่มต้นของการนับครั้งต่อไป นิยมใช้สร้างเป็นฐานเวลาที่สามารถโปรแกรมได้

  12. Timer Clock TL 1 TH 1 Timer Clock TF 0 TL 0 Overflow Flag 1 / 12 Fos TF 1 TH 0 Overflow Flag Mode 3 การทำงานในโหมด 3 นี้ ตัว Timer 1 จะไม่ทำงาน ตัว Timer 0 จะแยกเป็น 2 ตัวตัวละ 8 บิต คือTL 0 และ TH 0 เมื่อ Timer เกิด Overflows จะมีการเซตบิต TF 0 และ TF 1

  13. Clocking Source การใช้ Timer นี้สามารถใช้ได้ 2 หน้าที่ คือ เป็นตัวจับเวลา ( Timer )และเป็นตัวนับ ( Counter ) ซึ่งสามารถโปรแกรมได้โดยการเซต หรือรีเซตบิต C / T ในรีจิสเตอร์ TMOD 1. การใช้เป็นตัวจับเวลา ( Timer ) ถ้าบิต C/T ใน TOMD เป็นลอจิก 0 จะเป็นการเลือกให้ Timer นำ Clock มาจากวงจร Oscillator ในชิพ ซึ่งสัญญาณนาฬิกาจะเข้ามาทุกๆ Machine Cycle หรืออาจกล่าวได้ว่าค่าใน TH x และ TL x จะมีค่าเพิ่มขึ้น ด้วยอัตราการนับแต่ละครั้งใช้เวลาเท่ากับ 1/12 ของความถี่ของสัญญาณนาฬิกาที่ใช้บิตชิพ

  14. Clocking Source 2. การใช้เป็นตัวนับ ( Counter ) ถ้าบิต C/T เป็น 1 ตัว Timer จะนำ Clock มาจากภายนอกโดยใช้ขา P3.4 หรือ T 0 เป็นขา Input Clock ให้กับ Timer 0 และใช้ขา P3.5 หรือ T 1 เป็น Input Clock ให้กับ Timer 1

  15. Intializing and Accessing Timer Register การใช้งาน Timer เริ่มแรกจะต้องโปรแกรมเพื่อเลือกโหมดการทำงานของ Timer ก่อน เมื่อเริ่มใช้งานก็โปรแกรมให้เริ่มทำงาน หยุดการทำงาน อ่าน เคลียร์ค่าบิตแฟลก อ่านค่า Timer Register ตามลำดับ เพื่อนำไปประยุกต์การใช้งานต่อไป TMOD คือ รีจีสเตอร์ที่ต้องโปรแกรม โดยเซตโหมดการทำงานก่อน ตัวอย่างเช่น ถ้าให้ Timer 1 เป็น 16 –bits Timer (โหมด 1) นับสัญญาณนาฬิกาบนชิพ สามารถเขียนคำสั่งได้ดังนี้ MOV TMOD , #00010000B

More Related