公司网站报价,电子商务网站建设流程,本地wordpress搭建,网站icp备案是什么新建工程
打开软件
LCD1602模块代码添加
因为我们在LCD1602上显示时钟#xff0c;因此我们需要添加LCD1602的模块代码
跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客#xff0c;复制相关代码跳转到这条博客51单片机学习之旅——模块化编程集…新建工程
打开软件
LCD1602模块代码添加
因为我们在LCD1602上显示时钟因此我们需要添加LCD1602的模块代码
跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客复制相关代码跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客复制相关代码
定时器0模块代码添加
本次项目在LCD1602上显示时钟要用到定时器中断因此我们下来添加定时器中断模块代码跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客复制相关代码跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客复制相关代码
main.c文件代码
#include REGX52.H
#include LCD1602.h//头文件的作用是声明我这里要用到啥啥啥
#include timer0.h//让程序知道到哪里去找相当于“任意门”unsigned char s0,m0,h0;//s秒m分钟h小时void main()//键盘Insert键会让输入竖线变下划线
{//初始化LCD_Init();//LCD1602屏幕初始化Timer0_Init();//定时器0初始化//不用实时更新的部分LCD_ShowString(1,1,Clock:);//从第一行第一列开始显示Clock:LCD_ShowString(2,1, : :);//从第二行第一列开始显示 while(1)//需要实时更新的部分写在循环里{LCD_ShowNum(2,1,h,2);//从第二行第一列开始以两位宽显示变量hLCD_ShowNum(2,4,m,2);//从第二行第四列开始以两位宽显示变量mLCD_ShowNum(2,7,s,2);//从第二行第七列开始以两位宽显示变量s}
}void Timer0_Routine() interrupt 1//定时器0中断函数
{static unsigned int T0Count;//累计1秒TL00x18;//定时器0配置的是01模式116位不重载模式且单片机是12MHz,12T分频TH00XFC;//所以TL0(65536-1000)%256TH0(65536-1000)/256T0Count;if(T0Count1000)//如果时间够1秒{T0Count0;//归零重新计数s;//秒累加1s等同于ss1}if(s60){s0;//满60秒进位1分钟秒归零重新累加m;}if(m60){m0;//满60分钟进位1小时分钟归零重新累加h;}if(h24){h0;//一天24个小时}
}