Tôi có một vấn đề với ngắt ngoài, nhờ các bác cao thủ ở đây giúp đỡ.
Tôi viết một chương trình bằng Keil C để kiểm tra ngắt ngoài. Debug trên Keil thì có vẻ ổn, nhưng khi chạy mạch thật thì có vấn đề. Vấn đề ở đây là mạch đã tạo ra ngắt, chương trình ngắt đã chạy nhưng khi chạy hết chương trình ngắt thì không trở về chương trình chính nữa.
Trong chương trình chính có vòng lặp while (1), trong đó cho hien thị ra LCD các số từ 1 đến 9. Ngắt được tạo ra từ các nút bấm. Khi một trong các nút bấm được ấn (mức tín hiẹu 0) thì sẽ tạo ra một xung để tạo ra ngắt. Mạch ngắt tôi post ở dưới các bác xem qua nhé. Khi chương trình ngắt chạy thì kiểm tra xem nút nào được ấn rồi hiển thị ra LCD tên nút.
Các bác giải thích dùm xem tôi đã viết chương trình sai ở chỗ nào mà chương trình của tôi khi chạy vào chương trình ngắt rồi, nhận nút bấm rồi, hiển thị ra LCD rồi. Nhưng nó nhất quyết không chịu về chương trình chính ( không tiếp tục hiển thị các số từ 1 đến 9 nữa). Nhưng nếu có một ngắt tiếp tục xảy ra thì chương trình ngắt lại tiếp tục chạy (lại kiểm tra nút bấm). Debug trên Keil thì tôi vẫn thấy nó quay trở lại chương trình chính và tiếp tục hiển thị các số. Các bác cao thủ hãy ra tay giúp đỡ tôi nhé. Thanks !
Tôi viết một chương trình bằng Keil C để kiểm tra ngắt ngoài. Debug trên Keil thì có vẻ ổn, nhưng khi chạy mạch thật thì có vấn đề. Vấn đề ở đây là mạch đã tạo ra ngắt, chương trình ngắt đã chạy nhưng khi chạy hết chương trình ngắt thì không trở về chương trình chính nữa.
Trong chương trình chính có vòng lặp while (1), trong đó cho hien thị ra LCD các số từ 1 đến 9. Ngắt được tạo ra từ các nút bấm. Khi một trong các nút bấm được ấn (mức tín hiẹu 0) thì sẽ tạo ra một xung để tạo ra ngắt. Mạch ngắt tôi post ở dưới các bác xem qua nhé. Khi chương trình ngắt chạy thì kiểm tra xem nút nào được ấn rồi hiển thị ra LCD tên nút.
Các bác giải thích dùm xem tôi đã viết chương trình sai ở chỗ nào mà chương trình của tôi khi chạy vào chương trình ngắt rồi, nhận nút bấm rồi, hiển thị ra LCD rồi. Nhưng nó nhất quyết không chịu về chương trình chính ( không tiếp tục hiển thị các số từ 1 đến 9 nữa). Nhưng nếu có một ngắt tiếp tục xảy ra thì chương trình ngắt lại tiếp tục chạy (lại kiểm tra nút bấm). Debug trên Keil thì tôi vẫn thấy nó quay trở lại chương trình chính và tiếp tục hiển thị các số. Các bác cao thủ hãy ra tay giúp đỡ tôi nhé. Thanks !
Comment