C51单片机多功能数字钟C源程序.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51单片机多功能数字钟C源程序

/*led.h 负责声明全局变量 */ #includereg52.h #define uchar unsigned char #define uint unsigned int /*各数据在LCD中显示的地址*/ #define Year 0x80+0x00 #define Month 0x80+0x05 #define Day 0x80+0x08 #define Hour 0x80+0x40 #define Munite 0x80+0x43 #define Second 0x80+0x46 #define Weidu 0x80+0x49 /*各数据在LCD中显示的地址*/ /*******各端口定义********/ sbit lcden=P2^6; sbit lcdrs=P2^7; sbit beep=P2^5; sbit key1=P2^0; sbit key2=P2^1; sbit key3=P2^2; sbit key4=P2^3; sbit key5=P2^4; sbit dq=P3^7; /*******各端口定义********/ /*******全局变量声明******/ extern int key_function; extern int key_alarm; extern int h_alarm,m_alarm; extern int idata s,m,h,y,mo,d; extern int idata sc,mc,hc,yc,moc,dc; extern int wei; extern int music; extern int idata date[2][13]; extern uchar timeh,timel; /*******全局变量声明******/ /*******public方法声明****/ void time_cal(); void write_data(uchar date); void write_com(uchar com); void init(void); void delay(uint z); void putIntToString(int,int); void scan_key_function(); void scan_key_alarm(); void putIntToLcd(); void putIntToLcd_Alarm(int h_a,int m_a); void scan_key(); void add(int value); void mius(int value); void showGuangBiao(int value); void song(); void delay_music(uint z); void sacn_key_alarm(); void putStringtoLcd(char addr,char* p); void tempchange(); uint get_temp(); void putTemp(uint value); void tone(int value); /*******public方法声明****/ /*main.c 主功能函数 */ #includeled.h int key_function=0;//功能键标志 int key_alarm=0;//功能键标志 int num=0;//计数变量 int idata wendu; int iswarning; int istone; /* 当数据段空间不够时,可用idata修饰全局变量 */ int idata s,m,h,y=2013,mo=1,d=12;//显示在LED上的年月日时分秒变量 int idata sc,mc,hc,yc=2013,moc=1,dc=12;// 实际年月日时分秒变量 int idata date[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};//平年与闰年每个月的天数 /* 当数据段空间不够时,可用idata修饰全局变量 */ int wei;//光标显示位置变量 int h_alarm=24,m_alarm; int music; uchar timeh,timel; /*方法 将时间输入到LCD中*/ void putIntToLcd() { write_com(0x0c);//关光标显示 write_com(Hour); putIn

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档