Cổng Kết Nối - Glong Electronic

Xin Chào!

Đây là trang đang thử nghiệm và hoàn thiện nội dung, mong các bạn thông cảm

Mọi thắc mắc và góp ý xin gửi về mail: Nglongbs@gmail.com

Xin chân thành cảm ơn!


 
CLB ĐIỆN TỬ
Công khai group · 94 thành viên
Tham gia nhóm
 

Các bài tập về hiển thị led 7 đoạn

BT3: Hiển thị số trên 2 led 7 đoạn

Sơ đồ mạch điện:

Cinque Terre

Yêu cầu:

- Hiển thị 0 trên led 7 đoạn thứ 1 và số 1 trên led 7 đoạn thứ 2

Mô phỏng yêu cầu:

Cinque Terre

Chương trình lập trình:



#include <REGX52.H>			// khai báo thư viện cho IC 89S52
void batnguon(unsigned int t)
{
	if(t==1){P2_0=0;P2_1=0;}
	if(t==2){P2_0=1;P2_1=0;}
}
void xuatkytu(unsigned int h)
{
	if(h==0){P2_2=0;P2_3=0;P2_4=0;P2_5=0;}
	if(h==1){P2_2=1;P2_3=0;P2_4=0;P2_5=0;}
	if(h==2){P2_2=0;P2_3=1;P2_4=0;P2_5=0;}
	if(h==3){P2_2=1;P2_3=1;P2_4=0;P2_5=0;}
	if(h==4){P2_2=0;P2_3=0;P2_4=1;P2_5=0;}
	if(h==5){P2_2=1;P2_3=0;P2_4=1;P2_5=0;}
	if(h==6){P2_2=0;P2_3=1;P2_4=1;P2_5=0;}
	if(h==7){P2_2=1;P2_3=1;P2_4=1;P2_5=0;}
	if(h==8){P2_2=0;P2_3=0;P2_4=0;P2_5=1;}
	if(h==9){P2_2=1;P2_3=0;P2_4=0;P2_5=1;}
}
void tre_ms(unsigned int t)
{
	 unsigned int i,j;
	 for(i=0;i<t;i++)
	 	for(j=0;j<125;j++);
}
void main()
{
	while(1)
	{
	xuatkytu(0);
	batnguon(1);
	tre_ms(50);
	xuatkytu(1);
	batnguon(2);
	tre_ms(50);
	}
}
	

- thời gian delay ở trong chương trình là để phù hợp với mô phỏng trên Proteus. Khi nạp trên bộ kit thực hành các bạn cần điều chỉnh lại delay cho hợp lý. Các bài về quét led như thế này Proteus mô phỏng không nổi. nên buộc phải giảm delay xuống để có thể hiển thị được ý đồ lập trình.

Bài tập làm thêm:

- BT1: hiển thị các con số khác trên 2 led 7 đoạn.

- BT2: Hiển thị các số tăng dần từ 00 đến 09.

- BT3: Hiển thị các số tăng dần từ 00 đến một số tự chọn.

- BT4: Hiển thị các số giảm dần từ 99 đến một số tự chọn.

- BT5: Hiển thị các số giảm dần từ 99 đến 00.

- BT6: Hiển thị các số giảm dần từ 99 đến một số tự chọn.


Hi vọng sau bài học này các bạn có được chút thu hoạch cho mình.

Cám ơn và hẹn gặp lại!