การเขียนโปรแกรมการหน่วงเวลา
(Delay)
โดยใช้ไทเมอร์
ในการหน่วงเวลาโดยการใช้ฟังก์ชัน
delay_ms(); นั้นเป็นการหน่วงเวลาแบบประมาณค่า โดยการคิดจากการทำงานของ CPU หลักในการคิดเป็นดังนี้
หาเวลาการทำงานของ CPU จาก T = (1/f) x 4
เมื่อ f = 20000000 จะได้ T = (1/20000000) x 4 = 0.2 us
นั่นหมายถึง CPU ทำงาน 1
ไซเคิล ใช้เวลาเท่ากับ 0.2
ไมโครวินาที
การหน่วงเวลา 500 มิลลิวินาที
หมายถึง CPU หยุดทำงาน 2500000 ไซเคิล
จะเท่ากับ 2500000 x 0.2 us =
หน่วงเวลา 500 ms ซึ่งเป็นการประมาณค่า
หากต้องการความแม่นยำของการหน่วงเวลาจะต้องสร้างการหน่วงเวลาจากไทเมอร์
ในชิพ PIC16F877x มีโมดูลไทเมอร์อยู่ภายใน
มีให้ใช้งานจำนวน 3 ตัว ประกอบด้วย Timer0, Timer1 และ Timer2 แต่ละตัวมีคุณสมบัติที่ต่างกันอ่านรายละเอียดเพิ่มเติม
ไม่มีความคิดเห็น:
แสดงความคิดเห็น