⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 some reference exercise of C language
💻 C
字号:
// Khai bao cac file header
#include	<AT89X52.H>
#include	<Kit8051.h>

// Khai bao cac bien toan cuc
unsigned char code LED_code[] =  {Number0,
				  Number1,
				  Number2,
				  Number3,
				  Number4,
				  Number5,
				  Number6,
				  Number7,
				  Number8,
				  Number9};
unsigned char stt=0;
// Khai bao cac ham
void Delay(unsigned int n);
void InitSystem(void);
void ScanMatrix(void);
void Display(unsigned char number);


// Dinh nghia cac ham
void Delay(unsigned int n)
{
	unsigned int i,j;
	for(i=0;i<n;i++)
		for(j=0;j<100;j++);
}
void Display(unsigned char number)
{
	// Hien thi so thu tu phim bam ra LED cuoi cung
	LED = LED_code[number];
	K4 = 0;
	Delay(1);
	K4 = 1;
}
void InitSystem(void)
{
	// Cam LCD
	LCD_E = 0;
	// Cau hinh Timer0 o che do 16 bit
	TMOD = 0x01;	
	// Cho phep ngat tran Timer 0
	ET0 = 1;
	EA = 1;
	// Cho Timer 0 chay
	TR0 = 1;
}
void Timer0Interrupt(void) interrupt TF0_VECTOR
{
	// Dung Timer 0
	TR0 = 0;
	// Nap lai gia tri = 55536--> con 10000 clock nua la tran
	TH0 = (unsigned char)(55536>>8);
	TL0 = (unsigned char)(55536);
	// Tiep tuc cho chay Timer 0
	TR0 = 1;
	Display(stt);
}
void ScanMatrix(void)
{
	// Chuyen cac hang lam dau vao, cac cot lam dau ra muc thap
	ROW_1 = 1;
	ROW_2 = 1;
	ROW_3 = 1;
	COL_1 = 0;
	COL_2 = 0;
	COL_3 = 0;
	// Kiem tra xem co phim bam?
	if((!ROW_1)|(!ROW_2)|(!ROW_3))
	{
		// Chong rung phim
		Delay(100);
		// Kiem tra lai
		// Neu la hang 1 co phim bam
		if(!ROW_1)
		{
			// Chuyen cac cot lam dau vao
			COL_1 = 1;
			COL_2 = 1;
			COL_3 = 1;
			// Hang 1 lam dau ra muc thap
			ROW_1 = 0;
			// Kiem tra cac cot de xac dinh phim
			if(!COL_1)		stt = 1;
			else if (!COL_2)	stt = 2;
			else if (!COL_3)	stt = 3;
		}
		// Neu la hang 2 co phim bam
		if(!ROW_2)
		{
			// Chuyen cac cot lam dau vao
			COL_1 = 1;
			COL_2 = 1;
			COL_3 = 1;
			// Hang 2 lam dau ra muc thap
			ROW_2 = 0;
			// Kiem tra cac cot de xac dinh phim
			if(!COL_1)		stt = 4;
			else if (!COL_2)	stt = 5;
			else if (!COL_3)	stt = 6;
		}
		// Neu la hang 3 co phim bam
		if(!ROW_3)
		{
			// Chuyen cac cot lam dau vao
			COL_1 = 1;
			COL_2 = 1;
			COL_3 = 1;
			// Hang 3 lam dau ra muc thap
			ROW_3 = 0;
			// Kiem tra cac cot de xac dinh phim
			if(!COL_1)		stt = 7;
			else if (!COL_2)	stt = 8;
			else if (!COL_3)	stt = 9;
		}
	}
}
// Chuong trinh chinh
void main(void)
{
	// Khoi tao he thong
	InitSystem();
	// Vong lap vo tan
	while(1)
	{
		ScanMatrix();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -