基于51单片机的数字电子钟C程序设计.doc
《基于51单片机的数字电子钟C程序设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的数字电子钟C程序设计.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于51单片机的数字电子钟C程序设计&仿真图/*lns主程序snl*/#include /包含头文件#include /包含头文件/*数据类型定义*/#define uchar unsigned char /数据类型定义/*定义变量并初始化*/uchar n=31; /定义月份天数变量并初始化uchar ms=0; /定义毫秒变量并初始化uchar h1=0,m1=0,s1=0; /定义计时时、分、秒变量并初始化uchar h2=0,m2=1,s2=1; /定义定时时、分、秒变量并初始化 uchar year=7,month=9,day=8; /定义年、月、日变量并初始化uchar wday=
2、6; /定义星期变量并初始化uchar *h=&h1,*m=&m1,*s=&s1; /定义显视位变量并初始化uchar *p; /定义调节指针uchar k1=0,k2=0,k3=0,k4=0,k5=0; /定义控制变量并初始化uchar counter=0; /定义铃声节拍变量并初始化uchar count=0; /定义铃声音符变量并初始化sbit sound=P10; /定义铃声输出位uchar a8=1,2,3,4,5,6,7; /定义显视输出位数组并初始化uchar code tt12= 0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6
3、f,0x40,0x00 ; /数码管显视代码uchar code array= 0x18, 0x30, 0x1C, 0x10, 0x20, 0x40, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x18, 0x40, 0x1C, 0x20, 0x20, 0x20, 0x1C, 0x20, 0x18, 0x20, 0x20, 0x80, 0xFF, 0x00, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x
4、20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0xFF, 0x00, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x
5、20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0x20, 0x30, 0x1C, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x15, 0x1F, 0x05, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x
6、20, 0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x30, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x40, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x13, 0x60, 0x18, 0x20, 0x15, 0x40, 0x13, 0x40, 0x18, 0x80, 0x00, 0x
7、00 ; /arrayi=0x00 代表歌曲演唱完毕 /arrayi=0xff 代表是休止符/* 函数名称:leap()* 功 能:计算二月份天数* 入口参数:year* 出口参数:无*/ uchar leap(uchar year) /判断是否闰年并返回二月份的天数 /闰年返回29,平年返回28 year+=2000; if(year%4=0) if(year%100=0) if(year%400=0) return 29; else return 28; else return 29; else return 28; /* 函数名称:mon()* 功 能:计算并返回每个月的天数* 入口参数
8、:month* 出口参数:无*/ uchar mon(uchar month) /计算并返回每个月的天数 switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12:return 31;break; /1,3,5,7,8,10,12月每月31天 case 4: case 6: case 9: case 11:return 30;break; /4,6,9,11月每月30天 case 2: return leap(year);break;/返回二月份的天数 default:break; /* 函数名称:music(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 数字 电子钟 程序设计
限制150内