Mình có 3 led 7 đoạn và số hiện thị có thể là bất kì
ví dụ : digit : 111 hay 1,11 hoặc là 11,1
vậy để hiện thị được 3 số trên với led 7 đoạn mình làm theo cách của riêng mình như sau :
- Khai báo 2 mảng mã led 7 doạn
// mảng có dấu thập phân :
unsigned char maled_dot[10] = {..........................};
// mảng mã led 7 đoạn khôg có dấu thập phân :
unsigned chả maled_undot[10] = (............);
Tiếp đó vì số hiển thị không biết là 1 trong ba trường hợp trên nên mình sẽ giả sử :
if( (0<= mod(digit)&&(mod(digit)<=9)) ==> so digit co dang la : xy,z
{
//
led_tram = maled_undot[xy,z*10/100];// hien thi duoc "x"
led_chuc = maled_dot[(xy,z*10%100)/10] ;// hien thi duoc "y"
led don vi = maled_undot[((xy,z*10%100)%10)] ; // hien thi duoc "z"
}
if(10 <= mod(digit)&&mod(digit)<=99)) ==> so digit co dang x,yz
{
}
// tương tự cho trường hợp cuối vậy là đã có thể hiện thị được số lẻ với led 7 đoạn
nhưng mình nghĩ sẽ còn nhiều cách hay hơn. xin được tham khảo các bạn.
ví dụ : digit : 111 hay 1,11 hoặc là 11,1
vậy để hiện thị được 3 số trên với led 7 đoạn mình làm theo cách của riêng mình như sau :
- Khai báo 2 mảng mã led 7 doạn
// mảng có dấu thập phân :
unsigned char maled_dot[10] = {..........................};
// mảng mã led 7 đoạn khôg có dấu thập phân :
unsigned chả maled_undot[10] = (............);
Tiếp đó vì số hiển thị không biết là 1 trong ba trường hợp trên nên mình sẽ giả sử :
if( (0<= mod(digit)&&(mod(digit)<=9)) ==> so digit co dang la : xy,z
{
//
led_tram = maled_undot[xy,z*10/100];// hien thi duoc "x"
led_chuc = maled_dot[(xy,z*10%100)/10] ;// hien thi duoc "y"
led don vi = maled_undot[((xy,z*10%100)%10)] ; // hien thi duoc "z"
}
if(10 <= mod(digit)&&mod(digit)<=99)) ==> so digit co dang x,yz
{
}
// tương tự cho trường hợp cuối vậy là đã có thể hiện thị được số lẻ với led 7 đoạn
nhưng mình nghĩ sẽ còn nhiều cách hay hơn. xin được tham khảo các bạn.
Comment