📄 main.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 + -