找回密码
 立即注册

QQ登录

只需一步,快速开始

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

KS0108 12864+DS3231的万年历制作

  [复制链接]
跳转到指定楼层
楼主
前阵子看到坛友的OLED12864+DS3231的万年历制作,带农历,大字体(单片机源码+实物)

正好手里也有这种DS3231模块,就也想制作一个。但手边没有OLED 12864,就改用KS0108 12864了,同时显示屏幕也比较大些。

单片机使用STC89C52RC。

制作实物如下:



为了便于改造代码,对原来的代码稍做了分离处理。感谢坛友分享!

代码片段如下。附件压缩包中有完整的代码。

// Define the register command code
#define Disp_On                0x3F
#define Disp_Off        0x3E
#define Col_Add                0x40
#define Page_Add        0xB8
#define Start_Line        0xC0

#define LCD_BUS P2        //MCU P2<------> LCM

sbit LCD_DI = P0 ^ 5;                //rs, Data or Instrument Select
sbit LCD_RW = P0 ^ 6;                //Write or Read
sbit LCD_ENABLE = P0 ^ 7;        //6800 mode LCD_ENABLE single
sbit LCD_MCS = P0 ^ 2;                //CS1, Master chip LCD_ENABLE
sbit LCD_SCS = P0 ^ 3;                //CS2, Slave chip LCD_ENABLE
sbit LCD_RST = P0 ^ 4;                //Lcm reset

#define OLED_WrCmd                _WriteCmd
#define OLED_WrDat                _WriteData


//延时子程序
// STC89Cxx @11.0592MHz
void delay(uint t)
{
        uint i, j;
        for (i = 0; i < t; i++)
                for (j = 0; j < 10; j++)
                        ;
}
/*
//STC12Cxx @11.0592MHz 延时100us
void delay(uint t)
{
        uint k;
        for(k=0; k < t; k++)
        {
                unsigned char i, j;

                i = 2;
                j = 15;
                do
                {
                        while (--j);
                } while (--i);
        }
}
*/

//写命令到LCD
void _WriteCmd(uchar cCmd)
{
        LCD_DI = 0;
        LCD_RW = 0;

        LCD_BUS = cCmd;
        delay(0);
        LCD_ENABLE = 1;
        delay(0);
        LCD_ENABLE = 0;
}

//写数据到LCD
void _WriteData(uchar cData)
{
        LCD_DI = 1;
        LCD_RW = 0;

        LCD_BUS = cData;
        delay(0);
        LCD_ENABLE = 1;
        delay(0);
        LCD_ENABLE = 0;
}


Keil代码下载: 万年历 (51Hei显示正负温度版).rar (417.46 KB, 下载次数: 215)

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

使用道具 举报

沙发
ID:673647 发表于 2023-1-22 22:28 | 只看该作者
谢谢分享,不知有没有原理图?
回复

使用道具 举报

板凳
ID:229641 发表于 2023-1-23 22:56 来自手机 | 只看该作者
可以调时间吗?
回复

使用道具 举报

地板
ID:1059989 发表于 2023-1-28 14:36 | 只看该作者

有按键,可以调整时间。
回复

使用道具 举报

5#
ID:1059989 发表于 2023-1-28 14:42 | 只看该作者
cwb2038 发表于 2023-1-22 22:28
谢谢分享,不知有没有原理图?

用的开发板,没画专门的原理图。但是原理图很简单,12864、按键、DS3231模块就是和单片机把相应引脚连上,具体哪些引脚在程序代码里有。12864加接一个调对比度的电位器。就可以了。
回复

使用道具 举报

6#
ID:584814 发表于 2023-1-30 11:23 | 只看该作者
FrankJi 发表于 2023-1-28 14:42
用的开发板,没画专门的原理图。但是原理图很简单,12864、按键、DS3231模块就是和单片机把相应引脚连上 ...

没原理图、没仿真、没文档 ... 真麻烦你懂的
回复

使用道具 举报

7#
ID:105115 发表于 2023-2-5 17:41 | 只看该作者
正在筹备一个电子时钟。 谢谢大佬分享
回复

使用道具 举报

8#
ID:98396 发表于 2023-2-6 14:32 | 只看该作者
我也仿制了一套.


回复

使用道具 举报

9#
ID:34298 发表于 2023-7-14 21:47 | 只看该作者
比OLED屏耐用 OLED用一年亮度就衰减了 我买的就是。感觉LCD好
回复

使用道具 举报

10#
ID:78901 发表于 2023-7-19 21:45 | 只看该作者
stc89c52rc程序空间好像不够吧
回复

使用道具 举报

11#
ID:34298 发表于 2023-7-20 21:03 来自手机 | 只看该作者
无字库串口液晶屏怎么改
回复

使用道具 举报

12#
ID:1083556 发表于 2023-7-23 11:30 | 只看该作者
我买的就是。感觉LCD好,非常感谢
回复

使用道具 举报

13#
ID:138707 发表于 2023-7-23 14:58 | 只看该作者
这个设计我最细化,赶紧去研究,,,
回复

使用道具 举报

14#
ID:1093241 发表于 2023-10-5 19:28 | 只看该作者
我有TM1638不会加入到代码里   调时间,这个没有设置多个闹钟
回复

使用道具 举报

15#
ID:611626 发表于 2023-10-6 19:48 | 只看该作者
yongquan 发表于 2023-10-5 19:28
我有TM1638不会加入到代码里   调时间,这个没有设置多个闹钟

仿真为啥不能计时
回复

使用道具 举报

16#
ID:1075458 发表于 2023-10-13 16:55 | 只看该作者
左右分屏的都淘汰了吧
回复

使用道具 举报

17#
ID:34298 发表于 2023-10-15 16:19 | 只看该作者
用串口屏怎么改程序
回复

使用道具 举报

18#
ID:349598 发表于 2024-1-14 14:28 | 只看该作者
还是大屏幕好看,就是不知道功耗如何
回复

使用道具 举报

19#
ID:71233 发表于 2024-1-15 08:31 | 只看该作者
sjh7366 发表于 2024-1-14 14:28
还是大屏幕好看,就是不知道功耗如何

背灯亮的时候耗电挺大的,不开背灯耗电很小。
回复

使用道具 举报

20#
ID:860003 发表于 2024-1-17 09:13 | 只看该作者
没原理图,接脚定义在代码里面!要会看懂。
回复

使用道具 举报

21#
ID:44037 发表于 2024-1-22 13:54 | 只看该作者

回复

使用道具 举报

22#
ID:1021614 发表于 2024-4-23 16:29 | 只看该作者
赞楼主!最近想学习单片机,做一个实用的电子钟,最好用WIFI对时。先下载下来,,,谢谢!
回复

使用道具 举报

23#
ID:437129 发表于 2025-1-3 16:53 | 只看该作者
楼主老师好,附件下载解压后编译显示82个错误。

回复

使用道具 举报

24#
ID:1142457 发表于 2025-1-4 18:07 | 只看该作者
感谢楼主分享
回复

使用道具 举报

25#
ID:437129 发表于 2025-1-9 12:35 | 只看该作者
原程序更换为“stc15.h”头文件后所有错误消失。
回复

使用道具 举报

26#
ID:1110477 发表于 2025-2-18 09:23 | 只看该作者
fancunwu 发表于 2023-7-20 21:03
无字库串口液晶屏怎么改

发送数据时,把1个字节拆分成8个位逐位发出去
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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