资源简介
也是在网上看到的DS3231代码,使用的0.96OLED【屏幕】,不过代码仅仅是可以正常使用,调节按键,还没来得及修改,IIC驱动还有OLED驱动都在相应的H文件里面;

代码片段和文件信息
#include “reg51.h“
#include “intrins.h“
#include “oled.h“
#include “DC3231.h“
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define u8 unsigned char
#define u32 unsigned int
#define OLED_CMD 0 //写命令
#define OLED_DATA 1 //写数据
#define OLED_MODE 0
uchar key1;
uchar sec min hour day date month yearDtemp;
//------------------------------------------------------------------------
void DS3231_Init(void)
{
uchar k;
P6=k=IIC_single_byte_read(0x02);
k|=0x20;
P7=k;
IIC_single_byte_write(k0x02); //转换12小时制 第六位置H = 0100 0000
//P7=IIC_single_byte_read(0x02);
//P7=~P7;
}
//--------------------------------------------------------------------------
uchar BCD2HEX(uchar val) //BCD转换为Byte
{
return ((val>>4)*10)+(val&0x0f);
}
//--------------------------------------------------------------------------
uchar B_BCD(uchar val)//Byte码转换为BCD码
{
return (((val%100)/10)<<4)|(val%10);
}
//--------------------------------------------------------------------------
void Readtime()
{
uchar temp;
temp=IIC_single_byte_read(0x00);//秒
sec=(int)BCD2HEX(temp);
//sec=2;
temp=IIC_single_byte_read(0x01);//分
min=BCD2HEX(temp);
temp=IIC_single_byte_read(0x02); //时
//temp&=0x3F;
hour=BCD2HEX(temp);
day=IIC_single_byte_read(0x03);//星期
temp=IIC_single_byte_read(0x04); //日
date=BCD2HEX(temp);
temp=IIC_single_byte_read(0x05); //月
month=BCD2HEX(temp);
temp=IIC_single_byte_read(0x06); //年
year=BCD2HEX(temp);
Dtemp=IIC_single_byte_read(0x11);//温度
}
//-------------------------------------------------------------------
void Showtime()
{
disp16(002); //年的千位
disp16(800); //年的百位
OLED_Set_Pos(341);
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
/////////////////////////////////////////////////////////////
OLED_Set_Pos(591);
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
OLED_WR_Byte(0x011); //由上至下二进制低至高位
////////////////////////////////////////////////////////////
OLED_Set_Pos(394);
OLED_WR_Byte(0x181);
OLED_WR_Byte(0x3C1);
OLED_WR_Byte(0x3C1);
OLED_WR_Byte(0x181);
OLED_Set_Pos(395);
OLED_WR_Byte(0x601);
OLED_WR_Byte(0xF01);
OLED_WR_Byte(0xF01);
OLED_WR_Byte(0x601);
//////////////////////////////////////////////////////////////
OLED_Set_Pos(854);
OLED_WR_Byte(0x181);
OLED_WR_Byte(0x3C1);
OLED_WR_Byte(0x3C1);
OLED_WR_Byte(0x181);
OLED_Set_Pos(855);
OLED_WR_Byte(0x601);
OLED_WR_Byte(0xF01);
OLED_WR_Byte(0xF01);
OLED_WR_Byte(0x601);
Readtime();
disp32(933sec/10); //秒的十位
disp32(1113sec%10); //秒的个位
disp32(463min/10); //分的十位
disp32(643min%10); //分的个位
disp32(03hour/10); //时的十位
disp32(183hour%10); //时的个位
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 277 2018-11-16 14:36 DS3231+12864\DC3231.H
文件 61269 2018-11-16 14:36 DS3231+12864\DS3231+12864
文件 2070 2018-11-16 14:36 DS3231+12864\DS3231+12864.build_log.htm
文件 14738 2018-11-16 14:36 DS3231+12864\DS3231+12864.hex
文件 95 2018-11-16 14:36 DS3231+12864\DS3231+12864.lnp
文件 38791 2018-11-16 14:36 DS3231+12864\DS3231+12864.M51
....... 72591 2018-11-16 14:36 DS3231+12864\DS3231+12864.uvgui.Administrator
....... 6517 2018-11-16 14:36 DS3231+12864\DS3231+12864.uvopt
....... 14159 2018-11-16 14:36 DS3231+12864\DS3231+12864.uvproj
文件 3444 2018-11-16 14:34 DS3231+12864\ds3231IIC.C
文件 5719 2018-11-16 14:36 DS3231+12864\ds3231IIC.LST
文件 11195 2018-11-16 14:36 DS3231+12864\ds3231IIC.OBJ
文件 8204 2018-11-16 14:35 DS3231+12864\main.c
文件 14309 2018-11-16 14:36 DS3231+12864\main.LST
文件 25435 2018-11-16 14:36 DS3231+12864\main.OBJ
文件 9799 2018-11-16 14:28 DS3231+12864\oled.c
文件 1184 2018-11-16 14:28 DS3231+12864\oled.h
文件 14169 2018-11-16 14:36 DS3231+12864\oled.LST
文件 32902 2018-11-16 14:36 DS3231+12864\oled.OBJ
文件 7876 2018-11-16 14:14 DS3231+12864\oledfont.h
文件 6376 2009-05-07 14:37 DS3231+12864\STARTUP.A51
文件 14048 2018-11-16 14:36 DS3231+12864\STARTUP.LST
文件 749 2018-11-16 14:36 DS3231+12864\STARTUP.OBJ
目录 0 2018-11-16 14:36 DS3231+12864
----------- --------- ---------- ----- ----
365916 24
相关资源
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- 单片机89c52与MLX90614红外的测温程序
- stm32f103AES加密 cbc模式
- 单片机 点阵 字模提取软件
- C高级编程讲义-传智播客
- NOIP必学内容之前缀和与差分颜鸿宇
- Skyline高效检索算法实现.zip
- STM8S103系列IO模拟串口通信实现真正串
- stm32f103c8t6移植uC/OS-III基于HAL库的工程
- 温度、一氧化碳、二氧化碳、PM2.5以及
- 王道论坛计算机考研机试指南
- 有限元中网格剖分算法
- PLC开源资料
评论
共有 条评论