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

📄 clock.c

📁 ARM芯片LPC2131的一个小程序
💻 C
字号:
// 文件名: CLOCK_374.c
// 说明: 利用2个374实现电子钟
// 编写: 王晓荣
// 日期: 20080324
#include <LPC213X.H>

const unsigned char LEDMAP[] =
{
	0x3f, 0x06, 0x5b, 0x4f, 0x66, 
	0x6d, 0x7d, 0x07, 0x7f, 0x6f,0x00
};

unsigned char LEDBuf[6]; 
unsigned char sec;
unsigned char min;
unsigned char hour;


delay1ms()
{
	unsigned char i;
	for(i = 250; i > 0; i--); 
	for(i = 247; i > 0; i--);
}
display()
{
	unsigned char i;
	unsigned char outbit;
	outbit = 0x01;  // 从右边开始显示
	for (i = 0; i < 6; i++)
	{
		// 关所有LED		
		IO0SET = 0x3f << 8;
		// 送数据  
		IO0SET = LEDMAP[LEDBuf[i]];
		IO0CLR = ~LEDMAP[LEDBuf[i]]; 
		IO0SET = (~outbit) << 8;
		IO0CLR = outbit << 8; 		
		delay1ms();
		outbit <<= 1;     // 显示下一位
	}
}
delay1s()
{
	unsigned char i;
	for(i = 162; i > 0; i--)
	{
		display();
	}	
}
main()
{
	IO0DIR |= 0X00003F7F;
	IRQEnable();
	while(1)
	{
		LEDBuf[0] = sec%10;
		LEDBuf[1] = sec/10;
		LEDBuf[2] = min%10;
		LEDBuf[3] = min/10;
		LEDBuf[4] = hour%10;
		LEDBuf[5] = hour/10;
		sec++;		
		if(60 == sec)
		{
			sec = 0;
			min ++;	
			if(60 == min)
			{
				min = 0;
				hour ++;	
				if(24 == hour)
				{
					hour = 0;			
				}
			}
		}
		delay1s();	
	}
}//

⌨️ 快捷键说明

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