Quản lý ngắt

Một phần của tài liệu Xây dựng mô hình điều khiển động cơ DC servo bằng vi điều khiển (Trang 32 - 33)

CHƢƠNG 2: VI ĐIỀU KHIỂN ATMEGA

2.2.1.3.Quản lý ngắt

Ngắt là một cơ chế cho phộp thiết bị ngoại vi bỏo cho CPU biết về tỡnh trạng sẵn xàng cho đổi dữ liệu của mỡnh.Vớ dụ:Khi bộ truyền nhận UART nhận được một byte nú sẽ bỏo cho CPU biết thụng qua cờ RXC hoặc khi nú đó truyền được một byte thỡ cờ TX được thiết lập…

Khi cú tớn hiệu bỏo ngắt CPU sẽ tạm dừng cụng việc đạng thực hiện lại và lưu vị trớ đang thực hiờn chương trỡnh (con trỏ PC) vào ngăn xếp sau đú trỏ tới vector phuc vụ ngắt và thức hiện chương trỡnh phục vụ ngắt đú chơ tới khi gặp lệnh RETI (return from interrup) thỡ CPU lại lấy PC từ ngăn xếp ra và tiếp tục thực hiện chương trỡnh mà trước khi cú ngăt nú đang thực hiện. Trong trường hợp mà cú nhiều ngắt yờu cầu cựng một lỳc thỡ CPU sẽ lưu cỏc cờ bỏo ngắt đú lại và thực hiện lần lượt cỏc ngắt theo mức ưu tiờn .Trong khi đang thực hiện ngắt mà xuất hiện ngắt mới thỡ sẽ xảy ra hai trường hợp. Trường hớp ngắt này cú mức ưu tiờn cao hơn thỡ nú sẽ được phục vụ. Trường hợp nú cú mức ưu tiờn thấp hơn thỡ nú sẽ bị bỏ qua.

Bộ nhớ ngăn xếp là vựng bất kỡ trong SRAM từ địa chỉ 0x60 trở lờn. Để truy nhập vào SRAM thụng thường thỡ ta dựng con trỏ X,Y,Z và để truy nhập vào SRAM theo kiểu ngăn xếp thỡ ta dựng con trỏ SP. Con trỏ này là một thanh ghi 16 bit và được truy nhập như hai thanh ghi 8 bit chung cú địa chỉ :SPL :0x3D/0x5D(IO/SRAM) và SPH:0x3E/0x5E.

33

Khi chương trỡnh phục vu ngắt hoặc chương trỡnh con thỡ con trỏ PC được lưu vào ngăn xếp trong khi con trỏ ngăn xếp giảm hai vị trớ.Và con trỏ ngăn xếp sẽ giảm 1 khi thực hiện lệnh push. Ngược lại khi thực hiện lệnh POP thỡ con trỏ ngăn xếp sẽ tăng 1 và khi thực hiện lệnh RET hoặc RETI thỡ con trỏ ngăn xếp sẽ tăng 2. Như vậy con trỏ ngăn xếp cần được chương trỡnh đặt trước giỏ trị khởi tạo ngăn xếp trước khi một chương trỡnh con được gọi hoặc cỏc ngắt được cho phộp phục vụ. Và giỏ trị ngăn xếp ớt nhất cũng phải lớn hơn 60H (0x60) vỡ 5FH trỏ lại là vựng cỏc thanh ghi.

Một phần của tài liệu Xây dựng mô hình điều khiển động cơ DC servo bằng vi điều khiển (Trang 32 - 33)