TAILIEUCHUNG - Lý thuyết lập trình cơ bản - Chương3: Các lệnh nhảy, vòng lặp và lệnh gọi

Chương này ta sẽ tìm hiểu các lệnh chuyển điều khiển có trong hợp ngữ của 8051 như các lệnh sử dụng cho vòng lặp, các lệnh nhảy có và không có điều khiển, lệnh gọi và cuối cùng là mô tả về một chương trình con giữ chậm thời gian. | CHƯƠNG 3 Các lệnh nhảy vòng lặp và lệnh gọi Trong một chuỗi lệnh cần thực hiện thường có nhu cần cần chuyển điều khiển chương trình đến một vị trí khác. Có nhiều lệnh để thực hiện điều này trong 8051 ở chương này ta sẽ tìm hiểu các lệnh chuyển điều khiển có trong hợp ngữ của 8051 như các lệnh sử dụng cho vòng lặp các lệnh nhảy có và không có điều khiển lệnh gọi và cuối cùng là mô tả về một chương trình con giữ chậm thời gian. Vòng lặp và các lệnh nhảy. Tạo vòng lặp trong 8051. Qúa trình lặp lại một chuỗi các lệnh với một số lần nhất định được gọi là vòng lặp. Vòng lặp là một trong những hoạt động được sử dụng rộng rãi nhất mà bất kỳ bộ vi sử lý nào đều thực hiện. Trong 8051 thì hoạt động vòng lặp được thực hiện bởi lệnh DJNZ thanh ghi nhãn . Trong lệnh này thanh ghi được giảm xuống nếu nó không bằng không thì nó nhảy đến địa chỉ đích được tham chiếu bởi nhãn. Trước khi bắt đầu vòng lặp thì thanh ghi được nạp với bộ đếm cho số lần lặp lại. Lưu ý rằng trong lệnh này việc giảm thanh ghi và quyết định để nhảy được kết hợp vào trong một lệnh đơn. Ví dụ Viết một chương trình để a xoá ACC và sau đó b cộng 3 vào ACC 10 lần. Lời giải MOV A 0 Xoá ACC A 0 MOV R2 10 Nạp bộ đếm R2 10 BACK ADD A 03 Cộng 03 vào ACC DJNZ R2 AGAIN Lặp lại cho đến khi R2 0 10 lần MOV R5 A Cắt A vào thanh ghi R5 Trong chương trình trên đây thanh ghi R2 được sử dụng như là bộ đếm. Bộ đếm lúc đầu được đặt bằng 10. Mỗi lần lặp lại lệnh DJNZ giảm R2 không bằng 0 thì nó nhảy đến địa chỉ đích gắn với nhãn AGAIN . Hoạt động lặp lại này tiếp tục cho đến khi R2 trở về không. Sau khi R2 0 nó thoát khỏi vòng lặp và thực hiện đứng ngay dưới nó trong trường hợp này là lệnh MOV R5 A . Lưu ý rằng trong lệnh DJNZ thì các thanh ghi có thể là bất kỳ thanh ghi nào trong các thanh ghi R0 - R7. Bộ đếm cũng có thể là một ngăn nhớ trong RAM như ta sẽ thấy ở chương 5. Ví dụ Số lần cực đại mà vòng lặp ở ví dụ có thể lặp lại là bao nhiêu Lời giải Vì thanh ghi R2 chứa số đếm và nó là thanh ghi 8 bit nên .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.