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

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

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

Cinque Terre

Yêu cầu:

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

- Mỗi số hiển thị trong thời gian 1 giây.

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)	// khai báo chương trình con có tên là batnguon với biến tham chiếu là t
{
	if(t==1){P2_0=0;P2_1=0;}	// thiết lập các giá trị của P2_0 và P2_1 tương ứng với t=1
}
void xuatkytu(unsigned int h)	// khai báo chương trình con có tên là xuatkytu với biến tham chiếu là h
{
	if(h==0){P2_2=0;P2_3=0;P2_4=0;P2_5=0;}	// thiết lập các giá trị của P2_2,P2_3,P2_4 và P2_5 tương ứng với h=0
	if(h==1){P2_2=1;P2_3=0;P2_4=0;P2_5=0;}	// thiết lập các giá trị của P2_2,P2_3,P2_4 và P2_5 tương ứng với h=1
}
void tre_1s()					// khai báo chương trình con tạo thời gian chờ 1s
{
	 unsigned int i,j;			// khai báo 2 biến i, j với kiểu dữ liệu là số nguyên không dấu
	 for(i=0;i<1000;i++)		// tạo một vòng lặp 1000 lần với biến i, vòng lặp này bao hàm vòng lặp của biến j. 
	 	for(j=0;j<125;j++);	// tạo một vòng lặp 125 lần với biến j, tổng thời gian cho vòng lặp này là 125x8=1000us
}
void main()			// Khai báo chương trình chính
{
	batnguon(1);	// bật nguồn cho led 7 đoạn thứ 1. xuất mã tương ứng ra IC74138
	while(1)		// Vòng lặp vô tận, giúp chương trình chính được lặp đi lặp lại.
	{
	xuatkytu(0);	// xuất mã của số 0 ra IC 7447 để hiển thị số 0 trên led 7 đoạn
	tre_1s();		// chờ 1s
	xuatkytu(1);	// xuất mã của số 1 ra IC 7447 để hiển thị số 0 trên led 7 đoạn
	tre_1s();		// chờ 1s
	}
}
	

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!