Tư vấn: 0979.466.469 / 0938.128.290

MENU

CHƯƠNG TRÌNH VÒNG LẶP DELAY TRONG VI ĐIỀU KHIỂN 8051

Nhận mua hàng nước ngoài
Trong vi điều khiển 8051, nó yêu cầu 12 chu kì xung clock để thực hiện 1 chu kì lệnh. Đối với vi điều khiển sử dụng xung clock được cung cấp bở tụ thạch anh 12 MHz thì nó mất khoảng 1us để thực hiện

CHƯƠNG TRÌNH VÒNG LẶP DELAY

TRONG VI ĐIỀU KHIỂN 8051

 

CHƯƠNG TRÌNH VÒNG LẶP DELAY TRONG 8051

 Trong một vi điều khiển 8051, nó yêu cầu 12 chu kì xung clock để thực hiện 1 chu kì lệnh. Đối với vi điều khiển sử dụng xung clock được cung cấp bở tụ thạch anh 12 MHz thì nó mất khoảng 1us để thực hiện một chu kì lệnh và được tính theo phương trình, “Thời gian cho 1 chu kỳ lệnh” = 12/12 MHz = 1uS. Những lệnh ngắn nhất được thực thi trong vòng 1us,và những lệnh khác sẽ được thực thi trong vòng 2us hoặc nhiều hơn tùy vào kích thước của lệnh. Do đó, khi ta lặp đi lặp lại một lệnh nó sẽ tạo ra một độ trễ nhất định và phù hợp với thời gian trễ mà chúng ta cần. Nhưng hãy nhớ rằng, thời gian delay của chương trình không chính xác lắm vì chúng ta không thể dự đoán chính xác thời gian chương trình thực hiện một lệnh. Trên lý thuyết thời gian delay có thể tính toán được, nhưng thực tế nó có thể tăng lên hoặc giảm đi vì rất nhiều lý do khác nhau. Vì vậy người ta không dùng vòng lặp delay để thiết kế thời gian thực. Nhưng dù sao thì nó vẫn đủ tốt và dễ phát triển cho các ứng dụng đơn giản và ít quan trọng.

 

CHƯƠNG TRÌNH DELAY 1ms

 Chương trình trên tạo ra độ trễ xấp xỉ 1ms. Câu lệnh DJNZ Rx,LABEL tương ứng với hai giá trị R6, R7 sẽ mất 2us để thực thi hai câu lệnh này. Lặp lại hai câu lệnh trên 500 lần sẽ tạo ra thời gian delay là 500 x 2µS = 1mS. Chương trình được viết dưới dạng chương trình con và nó hoạt động theo kiểu vòng lặp. Khi gọi chương trình delay, thanh ghi R6 R7 sẽ load với giá trị bắt đầu là 250D. Sau đó DJNZ R6, LABEL1 được thực thi cho đến khi R6 trở thành 0 và DJNZ R7, LABEL2 được thực thi cho đến khi R7 bằng 0. Điều này tạo ra một vòng lặp DJNZ Rx, LABEL lặp lại 500 lần và kết quả sẽ là độ trễ 1mS. Như tôi đã nói, thực tế thời gian delay chỉ là một con số gần đúng, khi bạn kiểm tra chương trình, bạn có thể thấy đầu ra có một sự sai lệch nhỏ. Bạn có thể điều chỉnh giá trị ban đầu của R6 và R7 để làm cho kết quả chính xác hơn.

 Chương trình hiển thị dưới đây tạo ra độ trễ khoảng 1s. Trong chương trình này chương trình con Delay được gọi 4 lần và mỗi chương trình con Delay lặp lại 250 lần. Kết quả là tạo ra thời gian trễ  4 x 1mS x 250 = 1000mS = 1s.

CHƯƠNG TRÌNH DELAY 1s

TẠO SÓNG VUÔNG SỬ DỤNG 8051

Module điện tử 932*50

 Sử dụng chương trình con delay của 8501 để tạo sóng vuông trên một dải tần số rộng (giới hạn bởi tần số tụ thạch anh). Ý tưởng rất đơn giản, chạy chương trình con với độ trễ bằng một nửa thời gian của sóng vuông, bổ sung cho bất kỳ chân cổng nào sau khi thời gian delay kết thúc, lặp lại chương trình con delay một lần nữa, bổ sung cho cùng một chân cổng và lặp lại chu kỳ theo thời gian. Cách làm này sẽ tạo ra một sóng vuông có tần số yêu cầu tại chân cổng tương ứng. Sơ đồ mạch để tạo sóng vuông sử dụng 8051 được hiển thị bên dưới. Cùng một mạch ta có thể được sử dụng để tạo ra bất kỳ tần số nào nhưng chương trình thì khác.

 

CHƯƠNG TRÌNH TẠO SÓNG VUÔNG 1KHz

CHƯƠNG TRÌNH TẠO SÓNG VUÔNG 2KHz

CHƯƠNG TRÌNH TẠO SÓNG VUÔNG 10KHz

 

 

Gia công pcb 932*150
Sản phẩm nổi bật
Chưa có dữ liệu
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0964238397
Bạn cần linh kiện mẫu ? 7-11 ngày