Xuất Led 7 đoạn 74HC595, Sử dụng IC mở rộng, Lập trình STM32 Keil C

Xuất Led 7 đoạn 74HC595 là thông qua 3 chân giao tiếp của vi điều khiển STM32 mở rộng ra số lượng chân OUTPUT được lớn hơn. Phương pháp này giúp tối ưu hệ thống và tiết kiệm chân giao tiếp của Stm32.

Mua linh kiện điện tử tại Điện tử Nhật Tùng

Liên hệ làm mạch 

Khóa học Vi điều khiển có phí Hình thức học: Video hoặc Kèm trực tiếp ===>>>>  Kích vào hình để được biết thêm chi tiết khóa học lập trình vi điều khiển online

Tải File bài giải

 
Pass giải nén: Huynhnhattung.com
 
===>>>   Nếu bạn chưa có phần mềm giải nén:

Hướng dẫn Tải và Cài đặt phần mềm giải nén Winrar

 

Video Xuất led 7 đoạn 74HC595, Giao tiếp IC Mở rộng 74HC595 + STM32F103C8T6

Blog Xuất led 7 đoạn 74HC595, Giao tiếp IC mở rộng 74HC595 + STM32F103C8T6

Bài giải 

Phần cứng:

  • Sử dụng kit ra chân sẵn STM32F103C8T6 kết nối với IC mở rộng 74HC595 thông qua:
             B12             kết nối vào     CK.              B13            kết nối vào     EN595.              B14            kết nối vào     DATA.
  • Sử dụng dao động nội thạch anh 8M.
xuat-led-7doan-74hc595-lap-trinh-stm32-keilc-chuong-trinh

Phần mềm Xuất led 7 đoạn 74HC595:

Phần mềm STM32CubeMX

xuat-led-don-74hc595-lap-trinh-stm32-keilc-stm32cubemx Khai báo SYS: Tại vị trí Debug chọn Serial Wire để chọn nạp từ St-Link V2. Khai báo OUTPUT: Chọn chân PB12, PB13, PB14 cho các chân giao tiếp ngõ ra điều khiển ic mở rộng 74HC595

Chương trình chính bên Keil C:

Khai báo thư viện:

xuat-led-7doan-74hc595-lap-trinh-stm32-keilc-chuong-trinh-tien-xu-ly
  • Vi điều khiển hiện tại mình đan dùng là STM32F103C8T6.
  • Hiện dùng thạch anh nội 8MHz.  
  • Định nghĩa chân:tùy theo chức năng của chân mà tên định nghĩa được bám sát vào nội dung đan thực hiện.
  • Mảng ma7doan : các bạn lấy mã từ google . 
  • Tên khai báo biến : phụ thuộc vào chức năng để khai báo cho phù hợp. 
  • Khi các biến không biết được giá trị cuối thì nên khai báo signed int, long,… tức khai báo biến có dấu32bit, lúc này giá trị rất rộng không sợ bị thiếu.

Chương trình ic mở rộng 74HC595:

xuat-led-7doan-74hc595-lap-trinh-stm32-keilc-chuong-trinh-ic-595
  • Chương trình xuat_595.
Đối với 1 IC mở rộng 595 sẽ có 8bit. nên vòng lặp chạy 8 lần. Mỗi lần sẽ xuất 1bit số 7. Vì thế kiểm tra với 0x80. Nếu bit số 7 là 1 thì kết quả trả về sẽ bằng 0x80 lúc này tại chân Data xuất giá trị 1 ra ic 74hc595, ngược lại sẽ là 0. Mỗi 1bit được xuất ra phải kèm theo 1 xung CK để đẩy giá trị vào ic 74HC595.
  • Chương trình xuat_2led.
Đối với phần cứng có 2 ic mở rộng 74HC595 nên khi xuất phải truyền 2 tham số. Khi xuất hết cho ic thứ nhất thì tiến hành xuất cho IC thứ hai. Lúc này các trạng thái tích cực được lưu trên thanh ghi của ic 74hc595. Kích xung chân EN để đẩy toàn bộ 16bit ra ngoài led đơn.

Chương trình chính xuất led 7 đoạn 74HC595:

xuat-74hc595-lap-trinh-stm32-keilc-chuong-trinh-chinh Đối Đối với chương trình chính chỉ là bài đếm lên cơ bản.  Riêng hàm giải mã led1 và led2 cũng đơn giản nên mình không giải thích. xuat_2led(led2,led1);  xuất led hàng chục và hàng đơn vị.

Chúc các bạn có một kỳ thi thành công…!!!

Leave a Reply