QC

Hiển Thị Led 7 đoạn 00 - 99 STM32 Mbed.

  HIỂN THỊ 00 - 99 STM32 DÙNG MBED.



Chú ý: Từ a - g : thêm điện trở 220 ohm cũng được hay Q1.Q2 đặt điện trở 220 ohm.


NGUYÊN TẮC HOẠT ĐỘNG. 


VD Bạn hiển thị SỐ 25. Thì không phải bản hiển thị được 25 liền đâu.

DATA = HIỂN THỊ SỐ 5 LÊN LED SỐ 1. SAU ĐÓ TẮT RỒI HIỂN THỊ SỐ 2 LÊN LED SỐ 2. LUÂN PHIÊN NHƯ VẬ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);

}

Bước 3: HIỂN THỊ 2 SỐ.

Cho vòng for biến i chạy từ 0 - 99 rồi tách hàng chục ra rồi tách hàng đơn vị.

donvi = i%10;
chuc =i/10;



#include "mbed.h"
int chuc,donvi;
BusOut LED7SEG (PB_11, PB_10, PB_1, PB_0, PA_7, PA_6, PA_5, PA_4); //h=>dot/DP
DigitalOut EN_LED1(PA_2) ; // CHỐT LED THỨ 1.
DigitalOut EN_LED2(PA_3) ; // CHỐT LED THỨ 2.
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 j=0 ; j<100 ; j++)

              {

               chuc=j/10; donvi=j%10;

                              for(int i=0;i<70;i++){

                              EN_LED1=0b1;        

                                 LED7SEG =  So[chuc]; 

                                        }                             

                                 for(int i=0;i<70;i++){

                                 EN_LED2=0b1;

                                  LED7SEG =  So[donvi]; 

            }                              

         }

    }

}













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/...