Trợ giúp cần thiết về các gián đoạn bên ngoài trên vi điều khiển

S

southafrikanse

Guest
Xin chào tất cả Tôi đang sử dụng một vi điều khiển AT89S8253 để làm việc như một đồng hồ thời gian thực với các báo động. So far so good Tôi đã quản lý để chương trình đồng hồ. Tôi đang sử dụng hai bị gián đoạn bên ngoài của vi điều khiển của tôi (INT0 và INT1), INT0 được điều khiển bởi một chuyển đổi hoạt động là SET_TIME (trong các tập tin đính kèm với biến "Horas") trong khi INT1 là SET_ALARM của tôi (trong các tập tin đính kèm với các biến "Alarme"). Tôi biên dịch nó với Keil và khi tôi đã đi để kiểm tra nếu 2 bị gián đoạn đã làm việc chỉ INT0 được làm việc. Bạn có thể giúp tôi tìm ra vấn đề tại sao INT1 không thể làm việc? Tôi hỏi bạn bè của tôi những gì tôi nên làm gì nhưng họ đã có cùng một vấn đề trong dự án của họ. Tôi đang sử dụng ngôn ngữ C. Mọi câu hỏi xin vui lòng yêu cầu. Tôi cần giải pháp này càng sớm càng tốt và tôi chỉ có thể sử dụng gián đoạn. Trân trọng. Mã của tôi là trong các tập tin đính kèm.
 
tôi không thể mở tập tin. có thể là nó bị hư hỏng. cố gắng rar một lần nữa và tải lên.
 
[Quote = aupa] tôi không thể mở tập tin. có thể là nó bị hư hỏng. cố gắng rar một lần nữa và tải lên [/b] Bạn phải mở nó bằng notepad.
 
tôi không bao giờ làm việc với các chip này nhưng từ cái nhìn ngắn gọn các thông số kỹ thuật này vi có IE (gián đoạn cho phép đăng ký) cầm cờ cho phép ngắt vector khác nhau ngắt. Bạn xử lý gián đoạn cho phép 2 định nghĩa (từ mã nguồn của bạn): # define D_INT IE = 0x0 # define E_INT IE = 0x81, tôi không thể tìm thấy bất kỳ cố gắng truy cập khác để trình duyệt IE đăng ký trong mã của bạn. Cách bố trí của IE là: EA - ET2 ES ET1 EX1 ET0 EX0 bit 0 là cho phép cờ cho INT0 và bit 2 là cho phép lá cờ cho INT1. Khi phân 0x81 để trình duyệt IE, bạn chỉ cho phép INT0. Bạn cần phải gán 0x85 # xác định E_INT IE = 0x85, thay vì # define E_INT IE = 0x81; Sau đó, chú ý đến thói quen xử lý ngắt cho dù đó là đúng quy định hay không.
 
@ Artem tôi đã thực hiện những gì bạn đã nói với tôi. Tuy nhiên, các vấn đề vẫn là có: | EDIT: Không bao giờ tâm trí nó làm việc, tôi đã được gọi gián đoạn báo động tại địa điểm sai. cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn.
 

Welcome to EDABoard.com

Sponsor

Back
Top