• 大小: 251KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-20
  • 语言: 其他
  • 标签:

资源简介

STC89C52+LCD12864+18B20+1302的万年历,已编译成功,可直接移植

资源截图

代码片段和文件信息

/*---------------------------------------------------------------------------
黄历电子智能时钟程序
单 片 机:STC89C52RC
晶    振:12MHz
时钟芯片:DS1302
液 晶 屏:LCM-12864-ST7920
功能描述: 大数字显示时间;能显示农历、温度和设置闹铃;有整点报时功能
  红外遥控和按键都能设置时间和闹铃
时    间:2011年2月2日修改完成今天大年三十算是给自己的礼物吧!呵呵...
说   明:LCM12864使用并口连接方式PSB、RST接高电平
修改日志:

------------------------------------------------------------------------------*/

/*-------------------------------头文件---------------------------------------*/
#include 
#include 
#include “LCD12864.h“
#include “DS1302.h“
#include “DS18B20.h“
#include “nongli.h“
#include “displaytime.h“
#include “zk.h“
#include “bell.h“
#include “HW.H“
#include “delay.h“

#define uint  unsigned int
#define uchar unsigned char

/*--------------------定义按键-----------------------------------------------*/
sbit K1  = P1^0; //K1-设置
sbit K2  = P1^1; //K2-确认、返回
sbit K3  = P1^2; //K3-加
sbit K4  = P1^3; //K4-减
//K5=P1^4K5-控制闹钟的打开与关闭在“hw.h“中定义

/*---------------------函数声明------------------------------*/      
void ds_w0(void);
void ds_w(void);
void Conver_week(bit cuchar yearuchar monthuchar day);
/*-----------------------------定义全局变量------------------------------*/
bit  w=0;    //调时标志位

unsigned char yymoddxqhhmmssmonth_moonday_moonweektiangandizhimoontemp1moontemp2;//定义时间映射全局变量(专用寄存器)
signed char addressitemitem0maxmini;
unsigned char clk_ala[2]={0x000x00};//闹钟数据存放初始值为00:00
unsigned char hourminutetime;//用于闹铃的设置



/*-----------------------------日期、时间设置函数-----------------------------*/

void tiaozheng(void){
yy = read_clock(0x8d);//调用1302时钟数据中的年数据,从地址0x8d中
mo = read_clock(0x89);//调用1302时钟数据中的月数据,从地址0x89中
dd = read_clock(0x87);//从1302芯片中读取日数据,从地址0x87中
week = read_clock(0x8b);//从1302芯片中读取星期数据,从地址0x8b中
//----------------------------------
lcm_w_test(00x80);
lcm_w_word(“20“);//显示内容字符20
lcm_w_test(1(yy/16)+0x30);//函数参数1,代表本行写数据,YY/16+0X30得出年十位数字的显示码地址,送显示
lcm_w_test(1yy%16+0x30);//函数
lcm_w_word(“年“);
//----------------------------------
lcm_w_test(1(mo/16)+0x30);
lcm_w_test(1mo%16+0x30);//与16取余数,得到月份的个位数,加0x30得到该数字的液晶内定显示码送显示
lcm_w_word(“月“);//调用字符显示函数,显示文字 月
//----------------------------------
/*
lcm_w_test(00x88);//第一个参数0,表示本行写入LCM的是指令,指定显示位置88H(第三行左端)
lcm_w_word(“星期“);//调用字符显示函数,显示文字 星期
lcm_w_test(1mo%16+0x30);//与16取余数,得到月份的个位数,加0x30得到该数字的液晶内定显示码送显示
*/
//----------------------------------
lcm_w_test(1(dd/16)+0x30);
lcm_w_test(1dd%16+0x30);//第一个1参数,表示本行写数据,日数据与16取余得个位数,加0x30得到显示码
lcm_w_word(“日“);//显示字符 日
//----------------------------------
if(read_clock(0x85) != hh){//如果程序中的小时与1302芯片中的不同,
hh = read_clock(0x85);//刷新程序中的小时数据
}
lcm_w_test(00x91);//第一个参数0,表示本行写入LCM的是指令,指定显示位置88H(第三行左端)
lcm_w_test(1(hh/16)+0x30);//显示十位
lcm_w_test(1hh%16+0x30);//显示个位
lcm_w_word(“时“);
//----------------------------------
if(read_clock(0x83) != mm){//如果1302芯片中的分钟数据与程序中的分钟变量不相等
mm = read_clock(0x83);//刷新程序中的分钟数据
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1133  2011-02-17 17:19  12864 1302大数字显示时钟\bell.h

     文件       1358  2011-02-02 02:13  12864 1302大数字显示时钟\delay.h

     文件       6297  2011-02-17 14:57  12864 1302大数字显示时钟\displaytime.h

     文件       3332  2011-01-30 22:38  12864 1302大数字显示时钟\DS1302.h

     文件       2476  2011-02-01 14:45  12864 1302大数字显示时钟\DS18B20.h

     文件       3334  2011-02-03 21:36  12864 1302大数字显示时钟\HW.H

     文件      60025  2011-02-17 17:19  12864 1302大数字显示时钟\Hzxin

     文件      23004  2011-02-17 17:19  12864 1302大数字显示时钟\Hzxin.hex

     文件      63783  2011-02-17 17:19  12864 1302大数字显示时钟\Hzxin.M51

     文件       1919  2011-02-17 17:19  12864 1302大数字显示时钟\Hzxin.Opt

     文件       8149  2011-02-17 17:19  12864 1302大数字显示时钟\Hzxin.plg

     文件       1983  2010-11-04 14:25  12864 1302大数字显示时钟\Hzxin.Uv2

     文件       1610  2011-02-17 17:19  12864 1302大数字显示时钟\Hzxin_Opt.Bak

     文件       2102  2010-10-12 21:46  12864 1302大数字显示时钟\Hzxin_Uv2.Bak

     文件       9665  2011-02-03 02:56  12864 1302大数字显示时钟\LCD12864.h

     文件      13725  2011-02-17 17:19  12864 1302大数字显示时钟\main.c

     文件      25648  2011-02-17 17:19  12864 1302大数字显示时钟\main.LST

     文件      73585  2011-02-17 17:19  12864 1302大数字显示时钟\main.OBJ

     文件      11604  2010-10-11 23:21  12864 1302大数字显示时钟\nongli.h

     文件       3644  2010-11-30 00:41  12864 1302大数字显示时钟\rs.h

     文件      27427  2011-02-03 02:56  12864 1302大数字显示时钟\zk.h

     文件      56789  2011-02-08 14:46  12864 1302大数字显示时钟\实物图1.jpg

     文件     118371  2011-02-08 21:44  12864 1302大数字显示时钟\实物图2.jpg

     目录          0  2011-02-17 17:23  12864 1302大数字显示时钟

----------- ---------  ---------- -----  ----

               520963                    24


评论

共有 条评论

相关资源