QC

Hiển Thị led 7 đoạn từ 0- 9 STM32 Mbed.

 HIỂN THỊ 0 - 9 STM32 DÙNG MBED.

Ở Đây ta xử dụng led 7 đoạn dương chung( Anode chung). Chân Anode chung bạn nối lên 5v.

PHẦN 1: TÌM HIỂU LED 7 ĐOẠN BẠN CÓ THỂ TÌM Ở ĐÂY.

https://uss-technology.blogspot.com/2021/07/hien-thi-led-7-oan.html

PHẦN 2: TÌM HIỂU THUẬT TOÁN.

BusOut - Flexible way to write multiple DigitalOut pins as one value.

( BusOut - Cách linh hoạt để ghi nhiều chân DigitalOut dưới dạng một giá trị ).


Ví dụ sử dụng hàm này:

Bước 1: khai báo chân cho bus.

BusOut LED7SEG( PB_0,  PA_2, PA_7,  PB_1,  PB_11,  PC_4,  PA_5,  PC_5);

Trong đó  ứng              a          b        c          d            e          f             g        h

Bước 2: khai báo số 0 - 9 như sau:

   // Mã Led 7 đoạn        -  Dgfe dcba    D :trong đó là Diot Led nhỏ tròn phía dưới.

    const int s0 = 0x3F;    // 0011 1111

    const int s1 = 0x06;    // 0000 0110

    const int s2 = 0x5B;    // 0101 1011

    const int s3 = 0x4F;    // 0100 1111

    const int s4 = 0x66;    // 0110 0110

    const int s5 = 0x6D;    // 0110 1101

    const int s6 = 0x7D;    // 0111 1101

    const int s7 = 0x07;    // 0000 0111

    const int s8 = 0x7F;    // 0111 1111

    const int s9 = 0x6F;    // 0110 1111

Đưa Mã 0 - 9 vào 1 Mảng .

 const int So[] = {s0, s1, s2, s3, s4, s5, s6, s7, s8, s9};

              vị trí :     0    1    2   3    4    5   6    7    8   9

VD Hiển thị Số 0.

LED7SEG =So[0]  //  Hiển thị số 0.

LED7SEG =So[1]  //  Hiển thị số 1.

LED7SEG =So[2]  //  Hiển thị số 2.

LED7SEG =So[3]  //  Hiển thị số 3.

LED7SEG =So[4]  //  Hiển thị số 4.

LED7SEG =So[5]  //  Hiển thị số 5.

LED7SEG =So[6]  //  Hiển thị số 6.

LED7SEG =So[7]  //  Hiển thị số 7.

LED7SEG =So[8]  //  Hiển thị số 8.

LED7SEG =So[9]  //  Hiển thị số 9.


Bây giờ bạn muốn hiển thị liên tục từ 0 - 9 bạn có thể dùng vòng for như sau :

for(int i=0 ; i<10 ; i++)

{

LED7SEG =So[i] ;

wait(0.5);

}


#include "mbed.h"

BusOut LED7SEG (PB_0, PA_2, PA_7, PB_1, PB_11, PC_4, PA_5, PC_5); //h=>dot/DP
 
int main() {
 
    const int s0 = 0x3F;    // 0011 1111
    const int s1 = 0x06;    // 0000 0110
    const int s2 = 0x5B;    // 0101 1011
    const int s3 = 0x4F;    // 0100 1111
    const int s4 = 0x66;    // 0110 0110
    const int s5 = 0x6D;    // 0110 1101
    const int s6 = 0x7D;    // 0111 1101
    const int s7 = 0x07;    // 0000 0111
    const int s8 = 0x7F;    // 0111 1111
    const int s9 = 0x6F;    // 0110 1111
 
    // mãng chứa 0 -9
    const int So[] = {s0, s1, s2, s3, s4, s5, s6, s7, s8, s9};
    
    
    while(1) {

              for(int i=0 ; i<10 ; i++)

              {

                 LED7SEG =So[i] ;

                 wait(0.5);

               }

    }

}







Nap Code vào PY32F003 dùng Stlink

 Nap Code vào PY32F003 dùng Stlink Bước 1: Cài đặt  KeilC v5.39 theo link sau ( chú ý 5.39 keil c mới nạp ok). https://edge07.111.ir.cdn.ir/...