一、简介
此电路主要有51单片机、LCD1602模块、PCF8563芯片和按键组成组成,通过LCD1062显示当前时间,按键可设置时间。
二、运行效果
三、部分代码
/*想要更多项目私wo!!!*/
#include #include #define uchar unsigned char #define uint unsigned int void init() { uchar num; lcden=0; write_com(0x38); //0011 1000B,功能模式设置,设置为8为数据口,两行显示,5*7点阵 write_com(0x0c); //0000 1011B,显示开及光标设置,关显示,显示光标,光标闪烁 write_com(0x06); //0000 0110B,显示光标移动设置,读或写一个字符,地址指针减一且光标减一,写一个字符屏幕显示不移动 write_com(0x01); //0000 0001B,显示清屏,数据指针和所有显示清屏 write_com(0x80); //1000 000B,关闭显示 delay1602(5); write_com(0x80); //1000 000B,设置为2行显示,写入第一行字符的地址,第一行地址是00-2F for(num=0;num<15;num++) { write_date(table[num]); //写入第一行数据 delay1602(5); } write_com(0x80+0x40); //1100 0000B,设置为2行显示,写入第二行字符的地址,第而行地址是40-67 for(num=0;num<15;num++) //写入第二行数据 { write_date(table1[num]);//写入第二行数据 delay1602(5); } } /******************************************** 读入时间到内部缓冲区----外部调用 ********************************************/ void P8563_gettime() { P8563_Read(); if(g8563_Store[0]==0) P8563_Read(); /*如果为秒=0,为防止时间变化,再读一次*/ } //---主函数---// void main() { P8563_init(); init(); while(1) { P8563_gettime(); BCD_16( ); display(); key_scan(); } }
相关文章