Câu hỏi:

: Sử dụng các chức năng GPIO và ngắt đã học ở bài 2 và 3 sinh viên thực hiện tạo project với yêu cầu sau: Viết code giả lập hoạt động của đèn đỏ với các phần cứng sau Thực hiện khai báo 2 Button và 6 led đơn (gồm 3 màu đỏ, xanh, vàng) cho 4 trụ đèn đỏ, khai báo cấu hình cho 4led 7 tại các trụ với số hiển thị tại các trụ đối diện là như nhau. Thực hiện cấu hình trên CubeMX và về trên Protues. Viết code trên KeilC với yêu cầu sau a) Case 1: Tạo code để chạy đèn đỏ với chức năng cơ bản


Ồ, vâng, một thử thách như thế này không nghi ngờ gì nữa là một lời mời gọi dành cho những ai muốn thử thách bản thân! Dưới đây là một hướng dẫn ngắn gọn, hàm hước để bạn nắm được các bước thực hiện project này trên KeilC:

Mô tả dự án:

Sử dụng CubeMX:

  1. Cấu hình GPIO cho các nút và LED: Đảm bảo rằng bạn đã bật chế độ ngắt cho 2 nút nhấn của mình.
  2. Cấu hình các Timer để tạo ra khoảng thời gian tương ứng cho đèn LED và ngăn nắp với thời gian thực.

Lập trình trên KeilC:

#include "stm32f4xx_hal.h"  // Thay bằng dòng chip phù hợp.

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
  // Kiểm tra nút nào được nhấn và thay đổi chế độ đèn.
}

void traffic_light_case1() {
   // Chạy đèn đỏ 75s, xanh 5s, vàng 25s hài hòa.
}

void traffic_light_case2() {
   // Đèn vàng nhấp nháy cực chuẩn 15 lần.
}

void display_time_on_7segment(int time_remaining) {
   // Hiển thị thời gian đếm trên màn hình LED 7 đoạn khi không phải đèn vàng.
}

int main(void) {
  HAL_Init();
  // Các cấu hình cần thiết khác.

  while (1) {
    // Gọi các hàm tương ứng với Case hiện tại.
  }
}

Trên Proteus:

Cười chút cho vui:

Nếu trường hợp hài lòng với kết quả, hãy mời mọi người ghé thăm trituenhantao.io để khám phá thêm những điều thú vị. Có thể bạn sẽ tìm thấy một "bóng đèn" (ý tưởng) mới ấy chứ!

Chúc bạn thành công với dự án "đèn đỏ đa chức năng"! 🎈


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử