Cổng Kết Nối - Glong Electronic

Xin Chào!

Đây là trang đang thử nghiệm và hoàn thiện nội dung, mong các bạn thông cảm

Mọi thắc mắc và góp ý xin gửi về mail: Nglongbs@gmail.com

Xin chân thành cảm ơn!


 
CLB ĐIỆN TỬ
Công khai group · 94 thành viên
Tham gia nhóm
 

CHU KỲ MÁY VÀ CHU KỲ LỆNH

1. Thế nào là chu kỳ máy?

- Vi điều khiển 8051 hoạt động được nhờ nguồn xung clock lấy từ 2 chân XTAL1 và XTAL2. Thông thường 2 chân này được mắc với 1 thạch anh 12Mhz. (trong một số trường hợp ta vẫn có thể sử dụng thạch anh 24Mhz để nâng tần số hoạt động lên.)

- Tần số dao động của thạch anh sẽ được chia cho 12. Kết quả thu được chính là tần số hoạt động của vi điều khiển.

Cinque Terre

- 1 chu kỳ máy chính là thời gian của một xung nhịp.

- Ví dụ: Nếu thạch anh là 12Mhz, thì tần số hoạt động của vi điều khiển là 1Mhz, và 1 chu kỳ máy sẽ có thời gian là 1us (micro giây).

2. Thế nào là chu kỳ lệnh?

- Chu kỳ lệnh là thời gian để vi điều khiển thực hiện hoàn tất một lệnh nào đó.

- Mỗi loại lệnh khác nhau thì sẽ có thời gian thực hiện khác nhau do đó có chu kỳ lệnh khác nhau.

- Đối với các bạn lập trình 8051 theo ngôn ngữ ASM thì chu kỳ lệnh là một điều bắt buộc phải nhớ. Vì nó ảnh hưởng rất lớn đến việc tính toán các khoảng thời gian trong chương trình.

- Đối với các bạn lập trình 8051 theo ngôn ngữ C thì phần này gần như bỏ qua. Vì gần như không cần quan tâm. Keil C tự động tính toán và sinh mã để hoàn thiện giúp bạn.

- Ví dụ: cho đoạn chương trình sau:


#include <REGX52.H>
void main()
{
unsigned int i;
for(i=0;i<125;i++);
}
	

- Ta thực thi mô phỏng bằng Debug của Keil sẽ thấy:

Cinque Terre

- Trước khi thực thi lệnh for, thời gian của chương trình là 0.000389s

Cinque Terre

- Sau khi thực thi lệnh for, thời gian của chương trình là 0.001392s. Chênh lệch thời gian tính ra được là 0.001003s

- Như vậy lệnh For với giá trị so sánh là 125, cho chúng ta một khoảng thời gian để thực hiện hoàn tất lệnh này là 1,003 ms. Nếu chia đều cho 125 lần lặp lại của lệnh for, thì mỗi vòng for chỉ mất xấp xỉ 8us. Ta có thể xem như 8us là một chu kỳ lệnh của lệnh for.


Hi vọng sau bài học này các bạn có được chút thu hoạch cho mình.

Cám ơn và hẹn gặp lại!