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 đơn

BT3: Tạo hiệu ứng led sáng dồn

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

Cinque Terre

Yêu cầu:

- Các led sáng dồn từ P0_0 đến P0_7 và khi tất cả các led đều sáng thì tắt dần từ P0_7 đến P0_0.

- Mỗi 1s thì sáng thêm 1 led hoặc tắt đi 1 led.

Mô phỏng hoạt động của yêu cầu:

Cinque Terre

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


#include <REGX52.H>	//khai báo thư viện cho IC89S52
void delay_ms(unsigned int t)
{
	unsigned int i,j;
	for(i=0;i<t;i++)
	for(j=0;j<125;j++);
}
void main()
{
	unsigned int x,n;

while(1)
	{
	P0=0xfe;	// khởi tạo trạng thái ban đầu led 1 sáng các led khác tắt
	for(n=0;n<8;n++)
		{
		delay_ms(1000);
		x=P0<<1; // dịch thanh ghi P0 về bên trái 1 bit 
		P0=x;
		}
	P0=0x80; // khởi tạo trạng thái led 8 tắt các led khác sáng
	for(n=0;n<8;n++)
		{
		delay_ms(1000);
		x=P0>>1; // dịch thanh ghi P0 về bên phải 1 bit
		x=x|0x80; // nạp bit 1 vào MSB để làm cho các led tắt đi sau khi dịch thanh ghi.
		P0=x;
		}
	}		   
}
	

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!