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

📄 main.c

📁 基于AT89C51的电子万年历
💻 C
字号:
/************************************************************************
*程序名:液晶1602显示万年历												*
*作者:武汉理工大学    王康												*
*创作时间:2008.5.8	午夜0点												*
*第一次修改时间:2008.5.8	下午3点										*
*功能补充时间:2008.5.8	晚11点											*
*第一次修改时间:														*
*小结:晚上寝室的睡觉了,我坐在电脑前写着程序,外面很安静,挺喜欢这种感觉的,*
*	  似乎也体会到夜晚工作的意境了,脑子里好清晰,我一个人继续着的工作,我 *
*	  爱她,最近的确挺累的,但生活就是这样,需要你去拼搏,坚持下去,加油吧!	*
*	  写这种复杂的程序时,将程序模块化,开始写的时候一个模块一个模块的写,	*
*	  写完一个调试一个,这样比较容易找出错误,脑子里要知道先实现什么,后实	*
*	  现什么,写的过程中需要加什么模块就在相应的位置添加即可.			*
************************************************************************/


//文件名:main.c
//主要包括变量申明,函数声明,主程序
//Fosc=12.00M


//头文件
#include<reg52.h>						//调用头文件(单片机内部的寄存器定义)

//宏定义
#define uchar unsigned char 
#define uint unsigned int

/******硬件I/O口定义********/
sbit Lcd_en=P2^0;						//定义Lcd_en为P2^0口
sbit RS=P2^1;							//定义RS为P2^1口
sbit RW=P2^2;							//定义RW为P2^2口
sbit SET=P2^3;							//定义功能切换键
sbit value_up=P2^4;						//定义加调节键
sbit value_down=P2^5;					//定义减调节键	

bit SET_flag;							//定义设置模式标志位

/******变量定义********/
//注意这里是变量定义
uchar num,temp,t;						//全局变量
char hour,min,sec;						//定义时,分,秒
char mon,day,we;						//定义月,日,星期几
int year;								//定义年
char Lcd_data;							//定义读出的数据
uchar code table[]="DA:2008-05-09--5";	//液晶初始化界面显示
uchar code table1[]="TI:08:50:00   WK";


/******外部函数声明********/
extern void Delay(uchar z);				//延时1ms子程序
extern void Write_com(uchar com);		//写命令子程序
extern void Write_data(uchar dat);		//写数据子程序
extern char Read_Data(void);			//读数据子程序
extern void Initiate(void);				//初始化子程序
extern void Key_scan(void);				//键盘扫描子程序
extern void Write_Time(uchar add,uchar dat);//刷新时间子程序
extern void Write_Date(uchar add,uchar dat);//刷新日期子程序
extern void Write_Year(uchar add,int dat);//刷新年份子程序
extern void Up_key(void);				//加调节键按键扫描程序
extern void Down_key(void);				//减调节键按键扫描程序	
extern void Key_process(void);			//按键处理子程序


/******外部中断函数声明********/
extern void INT0_int(void);				//interrupt 0 外部中断0


/******主函数部分********/
void main()
{
	Initiate();
	while(1)
	{
		while(SET_flag)
			Key_process();
		while(!SET_flag)
			Key_scan();
	}
}

⌨️ 快捷键说明

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