亚洲色资源,亚洲一本到日韩东京热,伊人久久东京热影视,国产视频一二三,日韩无码第九页,亚洲日韩一页精品发布,国产主播在线看喷水,午夜一区二区三区在线,操碰在线观看视频

知道解決
基于DS1307的簡易時鐘顯示程序分享
瀏覽360次2018-03-05 09:09

目前家用的數(shù)字電子鐘,多數(shù)只能顯示小時、分鐘等信息,功能單一,而且大都采用LED數(shù)碼管作為顯示器件,功耗大,不能令消費者滿意。

DS1307簡介

AM/PM 標志位決定時鐘工作于24小時或12小時模式,芯片有一個內(nèi)置的電源感應(yīng)電路,具有掉電檢測和電池切換功能。

是一款低功耗,具有56字節(jié)非失性RAM的全BCD碼時鐘日歷實時時鐘芯片,地址和數(shù)據(jù)通過兩線雙向的串行總線的傳輸,芯片可以提供秒,分,小時等信息,每一個月的天數(shù)能自動調(diào)整。并且有閏年補償功能

特點:

可對秒,時,分,每月的天數(shù),月份,每周的天數(shù)進行計數(shù),并具有閏年補償功能。計年上限2100。

56字節(jié)非失性的RAM

兩線串行接口

可編程方波輸出

自動掉電檢測和切換電路

在電池備份模式下,功耗小于500nA

工業(yè)級的工作溫度: -40 到80

8腳DIP和SOIC封裝

下面分享一下基于DS1307的簡易時鐘顯示程序給大家:

* Coder:NUIST_XKFYT

* E-mail:weilun_fong@nuist.edu.cn(Welcome to get help info about this program)

* Date:2016-7-17

*

* Device:STC89C54RD,DS1307Z+

* FuncTIon:簡易時鐘顯示

* Note:

* 1.DS1307四位固定地址位為1101,三位可編程地址位為000

*/

#include 《STC89C5xRC.h》

#include 《intrins.h》

//#include 《TIme.h》

#define uchar unsigned char

#define uint unsigned int

#define DS1307_WRITE 0xD0

#define DS1307_READ 0xD1

#define DS1307_DISABLE 0x80

#define DS1307_ENABLE 0x7F

#define DS1307_12HOUR_MODE 0x20

#define DS1307_24HOUR_MODE 0xDF

#define ADDR_SEC 0x00

#define ADDR_MIN 0x01

#define ADDR_HOUR 0x02

#define ADDR_DAY 0x03

#define ADDR_DATE 0x04

#define ADDR_MonTH 0x05

#define ADDR_YEAR 0x06

#define ADDR_COR 0x07

//#define AT24C02_WRITE 0xA0

//#define AT24C02_READ 0xA1

sbit I2C_SCL = P1^0;

sbit I2C_SDA = P1^1;

uchar min = 0;

uchar sec = 0;

uchar code tab[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

struct tm

{

uchar tm_sec;

uchar tm_min;

uchar tm_hour;

uchar tm_mday;

uchar tm_mon;

uchar tm_year;

uchar tm_wday;

};

void delay_5us(void)

{

_nop_();

}

void delay_ms(uint par)

{

uchar cnt = 0;

while(par--)

for(cnt = 120;cnt 》 0;cnt--);

}

void I2C_Start(void)

{

I2C_SDA = 1;

I2C_SCL = 1;

delay_5us();

I2C_SDA = 0;

delay_5us();

}

void I2C_Stop(void)

{

I2C_SDA = 0;

I2C_SCL = 1;

delay_5us();

I2C_SDA = 1;

delay_5us();

}

void I2C_Ack(void)

{

uchar cnt = 0;

I2C_SCL = 0;

delay_5us();

while((I2C_SDA == 1)&&(cnt 《 250))

cnt++;

I2C_SCL = 0;

delay_5us();

}

void I2C_noAck(void)

{

I2C_SCL = 1;

delay_5us();

I2C_SDA = 1;

I2C_SCL = 0;

delay_5us();

}

void I2C_sendByte(uchar dat)

{

uchar cnt = 0;

uchar dat_buf = 0;

dat_buf = dat;

for(cnt = 0;cnt 《 8;cnt++)

{

dat_b

右側(cè)廣告
關(guān)于我們 | 廣告服務(wù) | 會員服務(wù) | 隱私申明 | 友情鏈接 | 聯(lián)系我們 | 法律顧問 | 網(wǎng)站地圖 | 百方網(wǎng)信用評價制度 (c)2008-2025 BYF All Rights Reserved
網(wǎng)絡(luò)標識
可信網(wǎng)站識
 
滨州市| 长沙市| 竹溪县| 邵阳市| 武胜县| 浦江县| 乌恰县| 华池县| 南川市| 资源县| 诏安县| 肇东市| 玛沁县| 云安县| 友谊县| 赞皇县| 盐源县| 财经| 乡城县| 西城区| 永修县| 峨山| 望城县| 云南省| 佳木斯市| 双峰县| 噶尔县| 新河县| 灵宝市| 元谋县| 康平县| 文山县| 合水县| 华池县| 青海省| 永丰县| 荆州市| 濮阳县| 灵台县| 睢宁县| 克什克腾旗|