Hàm DELAY Qua bài học thứ nhất, chúng ta đã học về cách bật tắt một đèn LED. Bây giờ nếu muốn làm cho đèn LED nhấp nháy, có nghĩa là chúng ta bật đèn LED, sau đó chờ một khoảng thời gian, và tắt đèn led đó đi, sau đó lại chờ một khoảng thời gian nữa và lại bật đèn led lên. | Hàm DELAY Học vi điều khiển PIC trong 1 ngày Qua bài học thứ nhất chúng ta đã học về cách bật tắt một đèn LED. Bây giờ nếu muốn làm cho đèn LED nhấp nháy có nghĩa là chúng ta bật đèn LED sau đó chờ một khoảng thời gian và tắt đèn led đó đi sau đó lại chờ một khoảng thời gian nữa và lại bật đèn led lên. Muốn thực hiện việc này chúng ta phải tìm cách làm một hàm delay delay - tiếng Anh có nghĩa là trễ chậm lại Hàm DELAY là một hàm rất thông dụng khi lập trình thời gian thực. Nguyên lý của hàm delay là dùng thời gian thực hiện các lệnh của vi điều khiển để làm thời gian trễ. Như các bạn đã biết nếu chưa biết thì bây giờ biết. hihi mỗi lệnh của vi điều khiển khi thực hiện cần phải tốn một khoảng thời gian nào đó. Nếu một việc làm mà không tốn thời gian thì đúng là vô lý. Vậy thời gian thực hiện một lệnh của PIC là bao lâu Như trong bài học đầu tiên chúng ta đã đề cập chúng ta sử dụng thạch anh từ 4MHz đến 10MHz và đến 20MHz. Thạch anh này tạo ra các dao động xung nhịp chính xác để duy trì những khoảng thời gian xác định cho vi điều khiển hoạt động. Chúng ta xem hình sau để hiểu được nguyên lý tạo dao động bên trong vi điều khiển Hình 1 Thạch anh tạo dao động trên các chân OSC đưa vào bên trong PIC. PIC sẽ đếm 4 nhịp trên dao động thạch anh và để thực hiện một lệnh. Như vậy thời gian thực hiện một lệnh chính là 4 nhịp dao động của thạch anh. Chúng ta thường gọi thời gian thực hiện một lệnh của PIC là một chu kỳ máy đoạn số 2 trên hình . Vậy một chu kỳ máy bằng bao nhiêu nếu chúng ta sử dụng thạch anh 10MHz cho PIC Code Tần số dao động của thạch anh F_osc 10MHz Chu kỳ của dao động thạch anh T_osc 1 s Chu kỳ máy T_instruction 4 T_osc 4 s s ms us 400 ns Như vậy một lệnh máy được thực hiện trong vòng micro giây hay 400 nano giây. Tương tự khi các bạn dùng thạch anh 4MHz chu kỳ máy sẽ là 1us và dùng thạch anh 20MHz chu kỳ máy sẽ là 200 nano giây. Quay trở lại với việc nếu chúng ta cần thực hiện một việc gì đó giống như nhấp nháy