找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8379|回复: 14
打印 上一主题 下一主题
收起左侧

用STC15F2K60S2单片机和DS1302+DS18B20制作的万年历

  [复制链接]
跳转到指定楼层
楼主
/* 液晶演示程序DV12864G-COG,串行接口!
   驱动IC是:UC1701X或兼容的IC,比如ST7565R
*/
#include <stc15f2k60s2.H>
#include "common.h"
#include "JLX12864.h"           //液晶显示
#include "delay.h"              //延时函数
#include <intrins.h>
#include <Ctype.h>
#include "nongli.h"             //农历转换
#include "zk.c"                 //字库文件
#include "zk1.c"                //字库文件
#include "xianshi.h"            //显示处理
#include "ds18B20.h"            //温度读取
#include "key.h"                //按键处理
#include "ds1302.h"             //时钟芯片

sbit cs1=P2^0;        
sbit reset=P2^1;
sbit rs=P2^2;
sbit sclk=P2^4;
sbit sid=P2^3;

extern char sec,min,hour,day,month,year,week;    //定义全局变量,秒,分,时,日,月,年和星期
extern bit century;                              //定义世纪位:0为20世纪,1为19世纪。
extern uchar setflag;                                  //时钟设置状态

bit timeset=0;                                     //1302时间设置标志

uint tvalue;   //温度值
bit tflag;     //负温度标志

void waitkey()
{
repeat:        
        if(key==1) goto repeat;
        else delay(1000);
}

void main(void)
{
        initial_lcd();                               //初始化JLX2864
        if (timeset)
        init1302();                                  //时间初始化
        clear_screen();                                                                         //清屏
        century=0;
        
        while(1)
        {
                tvalue=Ds18b20_Temp();                       //读取温度
    sec=read1302(0x81);                          //读秒
          min=read1302(0x83);                          //读分
          hour=read1302(0x85);                         //读时
          day=read1302(0x87);                          //读日期
          month=read1302(0x89);                        //读月
          week=read1302(0x8b);                         //读星期
          year=read1302(0x8d);                         //读年
//需把以上数据转换为十进制存储
    sec=(sec>>4)*10+sec%16;
    min=(min>>4)*10+min%16;
    hour=(hour>>4)*10+hour%16;
                day=(day>>4)*10+day%16;
                month=(month>>4)*10+month%16;
                year=(year>>4)*10+year%16;
          Conversion(century,year,month,day);          //转换为阴历数据

//    read_temp();                               //读出温度值
               
          ds1820disp();                               //温度值显示
          key();                                      //扫描按键
          if(setflag==0)
    disp_time();                                //调用显示时间程序
  }
}

4.jpg (80.45 KB, 下载次数: 194)

农历温度万年历

农历温度万年历

3.jpg (47.61 KB, 下载次数: 173)

JLX12864液晶屏

JLX12864液晶屏

带农历万年历JLX DS302 DS18B20-3.7z

29.3 KB, 下载次数: 292, 下载积分: 黑币 -5

全部程序

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏15 分享淘帖 顶 踩
回复

使用道具 举报

来自 10#
ID:328014 发表于 2021-6-24 23:56 | 只看该作者

用winrar才能解压,解压后,需要添加stc的头文件:http://www.51hei.com/bbs/dpj-36960-1.html
否则无法编译

51hei.png (58.1 KB, 下载次数: 186)

51hei.png
回复

使用道具 举报

沙发
ID:661191 发表于 2020-9-21 16:29 | 只看该作者
下载了,学习下编程!
回复

使用道具 举报

无效楼层,该帖已经被删除
地板
ID:229632 发表于 2020-10-18 22:46 | 只看该作者
压缩文件有问题,下载多次都是解压出错。提醒完善。
回复

使用道具 举报

5#
无效楼层,该帖已经被删除
6#
ID:911921 发表于 2021-4-25 16:25 | 只看该作者
顶一下,手里正好有12864的屏幕
回复

使用道具 举报

7#
无效楼层,该帖已经被删除
8#
ID:161785 发表于 2021-6-3 20:21 来自触屏版 | 只看该作者
挺好,研究一下。十分感谢。
回复

使用道具 举报

9#
ID:944329 发表于 2021-6-24 22:59 | 只看该作者
压缩文件有问题
回复

使用道具 举报

11#
ID:613618 发表于 2021-6-28 21:50 来自触屏版 | 只看该作者
程序没写完全
回复

使用道具 举报

12#
ID:987494 发表于 2022-5-7 15:09 | 只看该作者
感谢分享有没有原理图啊。
回复

使用道具 举报

13#
无效楼层,该帖已经被删除
14#
ID:1016025 发表于 2022-6-2 09:54 | 只看该作者
感谢分享,可惜没有仿真,谁能根据楼主的程序画一个仿真图吗?
回复

使用道具 举报

15#
ID:1076990 发表于 2023-5-12 17:57 | 只看该作者
感谢分享,可是我装载在开发板上没有效果啊
回复

使用道具 举报

16#
ID:1064915 发表于 2023-7-18 17:39 | 只看该作者
界面设计很漂亮
回复

使用道具 举报

17#
ID:242298 发表于 2023-9-15 21:46 | 只看该作者
ZK1.C(1): error C129: missing ';' before 'code'
XIANSHI.C(36): warning C280: 'fb': unreferenced local variable
XIANSHI.C(47): warning C280: 'fb': unreferenced local variable
编译出错。怎么解决
回复

使用道具 举报

18#
ID:242298 发表于 2023-9-22 04:17 | 只看该作者
很多警告是怎么回事
回复

使用道具 举报

19#
无效楼层,该帖已经被删除
20#
ID:242298 发表于 2023-11-24 02:18 | 只看该作者
XIANSHI.C(36): warning C280: 'fb': unreferenced local variable
XIANSHI.C(47): warning C280: 'fb': unreferenced local variable
ZK1.C(1): error C129: missing ';' before 'code'
求大神解惑,是什么问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表