【单片机】简单的时钟代码

成品展示最终成品展示
涉及到:单片机,LCD1602,定时器,中断。

这只是个基础的程序,他可以演变许多复杂的模块,比如:定时中断,定时器,数据显示,闹钟程序等等。

他所需要用到的代码:

#include <REGX52.H>
#include “LCD1602.h” //
#include “Delay.h” //
#include “time.h” //这有三个模块

unsigned char sec,min,hour;

void main()

{ LCD_Init();
sec=51; //这是时钟的初值,可以删去或者改变初值
hour=21; //之所以赋初值是方便观察
min=59; //
Timer0Init();
LCD_ShowString(1,1,“timebomb”); //改变timebomb输入你想表达的英文
LCD_ShowString(2,1," : : ");
while(1)
{
LCD_ShowNum(2,1,hour,2);
LCD_ShowNum(2,4,min,2);
LCD_ShowNum(2,7,sec,2);
}

}

void Timer0_Routine() interrupt 1
{
static unsigned int T0Count;
TL0 = 0x18; //设置定时初值
TH0 = 0xFC; //设置定时初值
T0Count++;

if(T0Count>=1000)
{
	T0Count=0;
	sec++;
	if(sec>=60)
	{
		sec=0;
		min++;
			if(min>=60)
			{
				min=0;
				hour++;
				if(hour>=24)
				{
					hour=0;
					
				
				}
			}
	}
}

}
以上仅展示主程序

这个程序所需要的模块若打出来的话所需页面太大,如果有需要的话,可在百度网盘下载。

百度网盘:
链接:https://pan.baidu.com/s/1zpgV8QUCOHoRpEHF225ZZw
提取码:0ifz

我只是一个小白,如果有错误的话,我会赶快改正,谢谢啦

猜你喜欢

转载自blog.csdn.net/weixin_54092701/article/details/113346998