Điều Khiển LED 7 Thanh Phần 4: Hiển Thị Từ 0 đến 9999 - Ngõ Nhỏ
Có thể bạn quan tâm
Điều khiển LED 7 thanh phần 3: Điều khiển hiển thị số bất kỳ
Ở phần 3 chúng ta đã làm bài điều khiển LED 7 thanh sáng một số x bất kỳ, khi đã hiểu và làm được phần 3 thì chuyển sang phần 4 điều khiển LED 7 thanh sáng từ 0 - 9999 rất dễ dàng. Chìa khóa của bài này chính là cho giá trị của x tự động tăng từ 0 – 9999, sau mỗi lần tăng thì ta gọi chương trình con tính toán để tính lại các giá trị nghin, tram, chuc, đơn vị để chương trình hiển thị được chính xác.
Như vậy bình thường chương trình luôn làm nhiệm vụ hiển thị, khi đạt thời gian thì tăng giá trị của x và tính toán lại, sau đó quay lại nhiệm vụ hiển thị:
Sơ đồ:

Chương trình:
# include <AT89x51.h>
unsigned char led[10]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; // Khai báo biến mảng chứa các giá trị hiển thị các số từ 0-9
unsigned char nghin,tram,chuc,dv; // Khai báo biến nghin, tram, chuc, dv để sử dụng trong chương trình
unsigned int x=0; // Khai báo biến x, x là số hiển thị và có giá trị ban đầu bằng 0
unsigned char k; // Khai báo biến k để sử dụng trong chương trình
void TRE(unsigned int n) // Chương trình con tạo trễ
{
unsigned int i,j;
for(i=n;i>0;i--)
{
for(j=200;j>0;j--);
}
}
void TT() // Chương trình con tính toán phân tách số x thành phần nghìn, trăm, chục, đơn vị
{
nghin=x/1000;
tram=(x%1000)/100;
chuc=((x%1000)%100)/10;
dv =((x%1000)%100)%10;
}
void main()
{
P3=0x00; // Tắt tất cả các đèn
TT(); // Gọi chương trình tính toán lần đầu
while(1)
{
P3=0x01; //Bật đèn 1
P2=led[nghin]; // Hiển thị số phần nghìn
TRE(2);
P3=0x02; //Bật đèn 2
P2=led[tram]; // Hiển thị số phần trăm
TRE(2);
P3=0x04; //Bật đèn 3
P2=led[chuc]; // Hiển thị số phần chục
TRE(2);
P3=0x08; //Bật đèn 4
P2=led[dv]; // Hiển thị số phần đơn vị
TRE(2);
k++; // Mỗi lần kết thúc 1 vòng hiển thị tăng giá trị của k thêm 1
if(k>40) // Nếu đoạn mã hiển thị được 40 vòng (khoảng 1s) thì tăng giá trị của x thêm 1 và xóa k về 0 cho lần đếm 40 vòng tiếp theo
{
x++;
k=0;
TT(); // Gọi chương trình tính toán cho số x vì x vừa thay đổi giá trị (tăng thêm 1) nên phải gọi chương trình tính toán lại
if(x>9999) // Nếu x>9999 tức là đếm xong thì xóa x về 0 để đếm lại từ đầu
{
x=0;
}
}
} // Ngoặc kết thúc vòng lặp While
} // Ngoặc kết thúc chương trình chính main
.png)
Từ khóa » Dãy Số Từ 0000 đến 9999
-
Viết Dãy Số Tự Nhiên Từ 1 đến 9999, Ta được Số... - Vinastudy
-
Có Bao Nhiêu Chữ Số Từ 1 đến 9999 - Olm
-
Từ 0001 đến 9999 Có Bao Nhiêu Số
-
Từ 1 đến 9999 Có Bao Nhiêu Chữ Số ? - Hoc24
-
Có 1000 Vé Số được đánh Số Từ 0000 đến 9999. Số Vé Có 4 Chữ Số ...
-
Ý Nghĩa Sim Tứ Quý Giữa Từ 0000 đến 9999 - Báo Quảng Ngãi điện Tử
-
Trong Các Số Tự Nhiên Từ 1000 đến 9999 Có Bao Nhiêu Số Không Chia ...
-
Từ 1 đến 9999 Có Bao Nhiêu : A) Chữ Số 1 B) Chữ Số 5 B) Chữ Số 9
-
Làm Cách Nào để Tạo Danh Sách Tất Cả Các Kết Hợp 4 Chữ Số Có Thể ...
-
Từ 1000 đến 9999 Có Bao Nhiêu Số Chia Hết Cho 5
-
Có Bao Nhiêu Loại Xổ Số Hiện Hành Tại Việt Nam? - Báo Biên Phòng
-
CÁC CÂU HỎI THƯỜNG GẶP VỀ MÃ SỐ MÃ VẠCH - QUATEST 3
-
Sim Tứ Quý Giá Rẻ Các Loại Gồm【09*0000 đến 09*9999】
-
+999.OOO Sim Tứ Quý Viettel 0000>> 9999 Giá Siêu Rẻ Từ [888K]
-
Xsmn 20.1.22 - Xsmn 17 5 2022