• PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 402KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 5
    下载次数
  • 2011-05-11 01:44
    上传日期
基于DS12C887带农历节日等显示的电子钟
DS12C887.rar
  • DS12C887
  • 实习.lnp
    33B
  • 实习.M51
    49.9KB
  • 实习.hex
    22.1KB
  • 实习.Opt
    1KB
  • 实习.Uv2
    2.1KB
  • 带农历带生肖.LST
    64.5KB
  • 实习_Opt.Bak
    1KB
  • 带农历带生肖.c
    40.8KB
  • 实习_Uv2.Bak
    2.1KB
  • qlj.jpg
    433.8KB
  • 实习.plg
    172B
  • 85c52.STC
    15.8KB
内容介绍
/*----------------------------------------------------------------------------- 单片机万年程序 单片机:89C52RC 晶振:12MHz 时钟芯片:DS12c887 液晶屏:LCM-12864-ST7920 时间:2009年01月22日夜 LCM12864使用并口连接方式 /-----------------------------------------------------------------------------*/ //头文件 #include <REG52.h> #include <string.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char /*****************************************************************************/ sbit LCM_cs = P1^0; sbit LCM_std = P1^1; sbit LCM_sclk = P1^2; sbit LCM_psb = P1^5; //H=并口; L=串口; sbit LCM_rst = P1^6; //Reset Signal 低电平有效 sbit beep = P1^7; /*****************************************************************************/ //温度传感器定义 sbit DQ = P1^ 3;//ds18B20 /*****************************************************************************/ //键盘引脚定义 sbit KEY_1 = P3^0; //左上 sbit KEY_2 = P3^1; //左下 sbit KEY_3 = P3^2; //右上 sbit KEY_4 = P3^3; //右下 /*定义DS12CR887数据线--------------------------------------------------------*/ sbit DS_CS = P3^4; sbit DS_AS = P3^5; sbit DS_RW = P3^6; sbit DS_DS = P3^7; #define Ds_Bus P2 //DS12CR887数据总线 //定义累加器A中的各位 sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; /*****************************************************************************/ //定义全局变量 unsigned char yy,mo,dd,xq,hh,mm,ss,e;//定义时间映射全局变量(专用寄存器) bit c_moon; data uchar year_moon,month_moon,day_moon,week; bit w = 0; //调时标志位 static unsigned char menu = 0;//定义静态小时更新用数据变量 static unsigned char keys = 0;//定义静态小时更新用数据变量 static unsigned char timecount = 0;//定义静态软件计数器变量 uchar code tab1[]={ " 单片机万年历 " " 版本 AT89C52 " "2009年01月22日夜" " 钱力军制作 " }; /****************************************************************************/ void DelayM(unsigned int a) //延时函数 1MS/次 { unsigned char i; while( --a != 0) { for(i = 0; i < 125; i++); //一个 ; 表示空语句,CPU空转。 } //i 从0加到125,CPU大概就耗时1毫秒 } /****************************************************************************/ //函数声明 void LCM_WriteString(unsigned char *str) ; //写字符 例:LCM_WriteString("您好!"); void LCM_WriteDatOrCom(bit ,unsigned char ); //(0,指令) (1,数据) void LCM_w_byte(unsigned char bbyte); //写一个字节给LCM void delaynms(unsigned int di); //延时 void LCM_init(void); //LCM初始化 void LCM_clr(void); //清屏 void Delay(int num); bit get_moon_day(uchar month_p,uint table_addr); void Conversion(bit c,uchar year,uchar month,uchar day); void nl(); //void ds_int(address); void days (viod) //公历节日数据库 { LCM_WriteDatOrCom(0,0x80); LCM_WriteDatOrCom(0,0x98); // ----|----------------| if ( mo == 0x01 && dd == 0x01 ){ LCM_WriteString("Happy New Year!!"); }//1月 if ( mo == 0x01 && dd == 0x28 ){ LCM_WriteString(" 世界麻风日 "); } if (month_moon== 0x01 && day_moon == 0x01 ){ LCM_WriteString(" 春节快乐 "); }//阴历日期填阴历月和日 if (month_moon== 0x01 && day_moon == 0x15 ){ LCM_WriteString(" 元宵节快乐 "); } /*****************************************************************************/ if (month_moon== 0x02 && day_moon == 0x02 ){ LCM_WriteString(" 青龙节 "); } if ( mo == 0x02 && dd == 0x02 ){ LCM_WriteString(" 世界湿地日 "); }//2月 if ( mo == 0x02 && dd == 0x13 ){ LCM_WriteString(" 明天情人节了 "); } if ( mo == 0x02 && dd == 0x14 ){ LCM_WriteString(" 情人节快乐 "); }//阳历日期填实际的阳历月和日 /*****************************************************************************/ if ( mo == 0x03 && dd == 0x01 ){ LCM_WriteString(" 国际海豹日 "); }//3月 if ( mo == 0x03 && dd == 0x03 ){ LCM_WriteString(" 全国爱耳日 "); } /*****************************************************************************/ // 结婚纪念日 3.8日 if ( mo == 0x03 && dd == 0x07 ){ LCM_WriteString("明天是结婚纪念日 "); } if ( mo == 0x03 && dd == 0x08 ){ LCM_WriteString("3.8 结婚纪念日 "); } // 结婚纪念日 3.8日 /*****************************************************************************/ if ( mo == 0x03 && dd == 0x12 ){ LCM_WriteString(" 植树节 "); } if ( mo == 0x03 && dd == 0x14 ){ LCM_WriteString(" 国际警察日 "); } if ( mo == 0x03 && dd == 0x15 ){ LCM_WriteString(" 消费者权益日 "); } if ( mo == 0x03 && dd == 0x17 ){ LCM_WriteString(" 国际航海日 "); } if ( mo == 0x03 && dd == 0x21 ){ LCM_WriteString(" 世界森林日 "); } if ( mo == 0x03 && dd == 0x22 ){ LCM_WriteString(" 世界水日 "); } if ( mo == 0x03 && dd == 0x23 ){ LCM_WriteString(" 世界气象日 "); } if ( mo == 0x03 && dd == 0x24 ){ LCM_WriteString("世界防治结核病日"); } if ( mo == 0x04 && dd == 0x01 ){ LCM_WriteString("愚人节 小心上当"); }//4 if ( mo == 0x04 && dd == 0x07 ){ LCM_WriteString(" 世界卫生日 "); } /*****************************************************************************/ // 老爸的生日 阴历 3月15日 if (month_moon== 0x03 && day_moon == 0x14 ){ LCM_WriteString("明天是老爸的生日"); } if (month_moon== 0x03 && day_moon == 0x15 ){ LCM_WriteString("老爸:生日快乐"); } // 老爸的生日 阴历 3月15日 /*****************************************************************************/ if ( mo == 0x04 && dd == 0x08 ){ LCM_WriteString(" 复活节 "); } if ( mo == 0x04 && dd == 0x13 ){ LCM_WriteString(" 黑色星期五 "); } if (month_moon== 0x05 && day_moon == 0x05 ){ LCM_WriteString("端午节快乐"); } /*****************************************************************************/ // 钱力军的生日 阳历5.1 if ( mo == 0x04 && dd == 0x30 ){ LCM_WriteString("明天是我的生日 "); }//5 if ( mo == 0x05 && dd == 0x01 ){ LCM_WriteString("5.1 * 生日快乐* "); }//5 // 钱力军的生日 阳历5.1 /*****************************************************************************/ if ( mo == 0x05 && dd == 0x04 ){ LCM_WriteString(" 五四青年节 "); } if ( mo == 0x05 && dd == 0x08 ){ LCM_WriteString(" 世界红十字日 "); } if ( mo == 0x05 && dd == 0x12 ){ LCM_WriteString(" 国际护士节 "); } if ( mo == 0x05 && dd == 0x05 ){ LCM_WriteString("近日注意母亲节 "); } if ( mo == 0x05 && dd == 0x15 ){ LCM_WriteString(" 国际家庭日 "); } if ( mo == 0x05 && dd == 0x31 ){ LCM_WriteString(" 世界无烟日 "); } /*****************************************************************************/ // 儿子的生日 阳历 6月11日 if ( mo == 0x06 && dd == 0x01 ){ LCM_WriteString(" 国际儿童节 "); }//6 if ( mo == 0x06 && dd == 0x10 ){ LCM_WriteString("明天是儿子的生日 "); }//6 if ( mo == 0x06 && dd == 0x11 ){ LCM_WriteString("儿子:生日快乐 "); }//6 // 儿子的生日 阳历 6月11日 /*****************************************************************************/ if ( mo == 0x06 && dd == 0x05 ){ LCM_WriteString(" 世界环境日 "); } if ( mo == 0x06 && dd == 0x26 ){ LCM_WriteString(" 国际禁毒日 "); } if ( mo == 0x06 && dd == 0x06 ){ LCM_WriteString(" 全国爱眼日 "); } if ( mo == 0x06 && dd == 0x13 ){ LCM_WriteString("近日注意父亲节 "); } if ( mo == 0x06 && dd == 0x15 ){ LCM_WriteString("近日注意父亲节 "); } if (month_moon== 0x07 && day_moon == 0x07 ){ LCM_WriteString("乞巧节中国情人节"); } /*****************************************************************************/ // 老婆的生日 阴历 5月19日 if (month_moon== 0x05 && day_moon == 0x18 ){ LCM_WriteString("明天是老婆的生日"); } if (month_moon== 0x05 && day_moon == 0x19 ){ LCM_WriteString("老婆:生日快乐!"); }//阴历日期填阴历月和日 // 老婆的生日 阴历 5月19日 /**********************************
评论
    相关推荐
    • ds12887.rar
      ds12c887实时时钟,驱动程序。带掉电保护。
    • Multi--clock.rar
      多功能时钟 ,具有收音机功能,5767收音+12c887+12864液晶显示器;程序代码为C语言
    • 12313123213213213213.zip
      STC 12C 5a60s2的时钟和温度程序
    • 12864Pds12c887Pdht11Pstr18.zip
      实现阳历年、月、日、时、分、秒及阴历年、月、日、二十四节气、属相、温湿度、天气预报、整点报时、闹钟、无线收发等功能。
    • LCD12864Pds12887Pds18b20P89c54.rar
      LCD12864+ds12887+ds18b20+89c54模拟时钟显示
    • 12864LCD-calendar-source-code-.rar
      12864电子万年历(DS12C877时钟芯片、集成万年历、闹钟、音乐播放器、农历转化、计时器等功能)
    • ds12c887时钟.rar
      51单片机驱动DS12C887时钟芯片制作的LCD时钟,有温湿度,农历显示
    • 51单片机+12864大数字时钟-电路方案
      该数字时钟以STC89C52RC为主控芯片,通过DS12CR887时钟芯片和DS18B20温度传感器在12864上实现日期、星期、时间、农历、温度等的显示。 说明:附件内容包含两个版本的PCB板文件,要用的改下io定义就可以了。用1302的话...
    • 农历节日提醒电子钟
      农历节日提醒电子钟 找了很久才找到的资料 对于51单片机很有用
    • USBTORS232Converter.rar
      Z-TEK USB转RS232串口驱动文件,网上很难找到,今天我吧它贴出来,希望能帮助大家!