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

📄 clock.c

📁 在keil c51 环境下开发时钟秒表源代码
💻 C
字号:
#include<reg51.h>
#include<absacc.h>
#include<intrins.h>

#define uchar unsigned char

#define W_C_GLCD XBYTE[0xA000]
#define W_D_GLCD XBYTE[0xA001]
#define R_B_GLCD XBYTE[0xA002]
#define R_D_GLCD XBYTE[0xA003]

uchar DHZTAB[]={"    秒:         "};


sbit flag=ACC^7;
uchar i;
void initial_GLCD();
void command_GLCD(uchar ord);
void chkbusy_GLCD();
void write_GLCD(uchar dat);
void delay();
void display(unsigned int count);

void main()
{
	uchar i,temp,j;
	unsigned int count;
	initial_GLCD();
    
	temp=0x10;
	command_GLCD(temp|0x80);
	for(j=0;j<8;j++)
	{   
		write_GLCD(DHZTAB[i]);
		i++;
		write_GLCD(DHZTAB[i]);
		i++;
	}
    
	i=0;	
	TMOD=0x01;
	TCON=0x10;
	while(1)
	{
		if(TF0==1)
		{
			TH1=0x97;
			TL1=0xFA;
			TMOD=0x10;
			TCON=0x40;
		}
		if(TF1==1)
		{
			TMOD=0x01;
			TCON=0x10;
			count++;
			if(count==600)
			{
				TMOD=0x00;
				TCON=0x00;

			}
			display(count);
		}
	}		
}

void initial_GLCD()
{
	command_GLCD(0x30);
	delay();
	command_GLCD(0x30);
	delay();
	command_GLCD(0x30);
	delay();
	command_GLCD(0x06);
	delay();
	command_GLCD(0x01);
	delay();
	command_GLCD(0x0c);
	delay();
}

void command_GLCD(uchar ord)
{
	chkbusy_GLCD();
	W_C_GLCD=ord;
}

void chkbusy_GLCD()
{
	do{ACC=R_B_GLCD;}
	while(flag==1);
}

void write_GLCD(uchar dat)
{
    chkbusy_GLCD();
    W_D_GLCD=dat;
}

void delay()
{
    uchar i;
    for(i=0;i<25;i++)
    {;}
}

void display(unsigned int count)
{
	uchar d0,d1,d2,temp,firs;
	d0=count/100;
	d1=count/10%10;
	d2=count%10;
	temp=0x11;
	command_GLCD(temp|0x80);
	firs=0x30+d0;
	write_GLCD(firs);
	firs=0x30+d1;
	write_GLCD(firs);
	
	temp=0x14;
	command_GLCD(temp|0x80);
	firs=0x30+d2;
	write_GLCD(firs);	
}

⌨️ 快捷键说明

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