You are on page 1of 5

Dạ anh, vì bài tập IC74HC595 em chưa nộp nên em kết hợp 2 bài: ngắt ngoài vào

bài LED7+74HC595 luôn.


Em cấu hình các chân GPIO như hình, chọn trở kéo lên nội cho chân ngắt ngoài
PA5, cấu hình nút nhấn kéo xuống bên ngoài và chọn mode ngắt Falling

Cấu hình cho phép khối NVIC nhận yêu cầu ngắt, chọn độ ưu tiên EXTI là mức 0
(sao cho cao hơn System Tick)

Khai báo mảng 1 chiều kiểu int chứa các mã giá trị hiển thị 0-9 của Led 7 đoạn

Tiếp theo khai báo 1 biến toàn cục index kiểu volatile int (dùng từ khóa volatile để
khai báo biến toàn cục dùng chung cho các hàm để tránh compile loại bỏ khi biên
dịch).
Trong While(1), ta liên đục đọc mã giá trị hiển thị Led7 rồi lần lượt ship nó vào
IC74HC595. Vì index là biến toàn cục nên ban đầu bằng 0

Ta gọi hàm Callback, trong hàm ta sẽ mỗi lần nhấn nút tức xảy ra ngắt thì tang
biến index lên 1, và kiểm tra nếu index bằng 10 thì reset index về 0.

Dạ em chọn mô phỏng trên Protues ạ. Build chương trình ra file Hex và nạp vào
Protues.
Link video:
https://drive.google.com/file/d/1WsnXHjo5_eD1fWYFxTdiO8w0jOzoaMR7/view
?usp=sharing

You might also like