欢迎来到天天文库
浏览记录
ID:18889067
大小:753.50 KB
页数:15页
时间:2018-09-26
《51单片机的电子钟以及lcd1602显示器的工作原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1551单片机的电子钟以及lcd1602显示器的工作原理基于51单片机的电子钟C语言程序#include#include#defineucharunsignedchar#defineuintunsignedint/*七段共阴管显示定义*/ucharcodedispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF};/*定义并
2、初始化变量*/ucharseconde=0;ucharminite=0;ucharhour=12;ucharmstcnt=0;sbitP1_0=P1^0; //second调整定义sbitP1_1=P1^1; //minite调整定义sbitP1_2=P1^2; //hour调整定义/*函数声明*/voiddelay(uchark); //延时子程序voidtime_pro(); //时间处理子程序voiddisplay(); //显示子程序voidkeysc
3、an(); //键盘扫描子程序/*****************************//*延时子程序*//****************************/voiddelay(uchark){ucharj;while((k--)!=0) { for(j=0;j<125;j++) {;} }} /**************************//*时间处理子程序*//**************************/voidtime_pro(void){1515 if(seconde==6
4、0) //秒钟设为60进制 {seconde=0; minite++; if(minite==60) //分钟设为60进制 {minite=0; hour++; if(hour==24) //时钟设为24进制 {hour=0;} } } }/***********************
5、******//*显示子程序*//*****************************/voiddisplay(void) { P2=0xfe; P0=dispcode[hour/10]; //显示小时的十位 delay(4); P2=0xfd; P0=(dispcode[(hour%10)])
6、0X80; //显示小时的个位 delay(4); P2=0xfb; P0=dispcode[minite/10];
7、 //显示分的十位 delay(4); P2=0xf7; P0=(dispcode[minite%10])
8、0X80; //显示分的个位 delay(4); P2=0xef; P0=dispcode[seconde/10]; //显示秒的十位 delay(4); P2=0xdf; P0=dispcode[seconde%10]; //显示秒的个位1515 delay(4);
9、 }/*******************************//*键盘扫描子程序*//*******************************/voidkeyscan(void){ if(P1_0==0) //按键1秒的调整 { delay(30); if(P1_0==0) { seconde++; if(se
此文档下载收益归作者所有