日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]void wr1302(unsigned char dat) //向1302寫1個字節(jié) { unsigned char i; for(i=0;i>1; //數(shù)據(jù)右移 ; } } unsigned char rd1302(void) //從1302讀1個字節(jié) { unsigned char i; for(i=0;i>1; DATA130

void wr1302(unsigned char dat) //向1302寫1個字節(jié)
{
unsigned char i;
for(i=0;i<8;i++) //從最低位開始發(fā)送
{
ACC=dat;
DATA1302=BIT0;//位傳送至數(shù)據(jù)總線
;
SCLK1302=0; //清時鐘總線
;
SCLK1302=1; //時鐘上升沿,發(fā)送數(shù)據(jù)有效
dat=dat>>1; //數(shù)據(jù)右移
;
}
}
unsigned char rd1302(void) //從1302讀1個字節(jié)
{
unsigned char i;
for(i=0;i<8;i++) //從最低位開始接收
{
ACC=ACC>>1;
DATA1302=1; //讀數(shù)據(jù)之前,P1口輸出1
SCLK1302=1;//時鐘置高電平
;
SCLK1302=0;//時鐘下降沿,接收數(shù)據(jù)有效
;
BIT7=DATA1302;//接收1位數(shù)據(jù)
;
}
return ACC;
}
void v_wr1302(unsigned char add,unsigned char dat)//先寫地址,后寫1字節(jié)數(shù)據(jù)
{ // 地址或命令 數(shù)據(jù)
RST1302=0;//復位引腳低電平,所有數(shù)據(jù)傳送終止
;
SCLK1302=0;//清時鐘總線
;
RST1302=1;//復位引腳高電平,控制邏輯有效
;
wr1302(add); //寫地址或命令
;
wr1302(dat); //寫1個數(shù)據(jù)
;
SCLK1302=1;
RST1302=0;
}
unsigned char v_rd1302(unsigned char add) //先寫地址,后讀1字節(jié)命令或數(shù)據(jù)
{ // 地址
unsigned char i;
RST1302=0;//復位引腳低電平,所有數(shù)據(jù)傳送終止
;
SCLK1302=0;//清時鐘總線
;
RST1302=1;//復位引腳高電平,控制邏輯有效
;
wr1302(add); //寫地址或命令
;
i=rd1302();
SCLK1302=1;
RST1302=0;
return i; //返回讀取的數(shù)據(jù)
}
/********************************************************************
* 名稱: send_byte1302
* 說明: 先寫地址,后寫數(shù)據(jù)(時鐘多字節(jié)方式)
* 功能: 往DS1302寫入時鐘數(shù)據(jù)(多字節(jié)方式)
* 調(diào)用: wr1302();v_wr1302();
* 輸入: *p: 時鐘數(shù)據(jù)地址 格式為: 秒 分 時 日 月 星期 年 控制
* 8Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B 1B
* 返回值: 無
***********************************************************************/
void send_byte1302(unsigned char *p)
{
unsigned char i;
v_wr1302(0x8e,0x00); // 控制命令,WP=0,寫操作
RST1302=0;//復位引腳低電平,所有數(shù)據(jù)傳送終止
;
SCLK1302=0;//清時鐘總線
;
RST1302=1;//復位引腳高電平,控制邏輯有效
;
wr1302(0xbe); //0xbe:時鐘多字節(jié)寫命令
for(i=0;i<8;i++)//發(fā)送數(shù)據(jù)8字節(jié)
{
wr1302(*p);
p++;
}
SCLK1302=1;
RST1302=0;
}
/********************************************************************
* 名稱: rcv_byte1302
* 說明: 先寫地址,后讀命令/數(shù)據(jù)(時鐘多字節(jié)方式)
* 功能: 讀取DS1302時鐘數(shù)據(jù)
* 調(diào)用: wr1302() , rd1302()
* 輸入: *p1: 時鐘數(shù)據(jù)地址 格式為: 秒 分 時 日 月 星期 年
* 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
* 返回值: ucDa :讀取的數(shù)據(jù)
***********************************************************************/
unsigned char rcv_byte1302(unsigned char *p1)
{
unsigned char i;
RST1302=0;//復位引腳低電平,所有數(shù)據(jù)傳送終止
;
SCLK1302=0;//清時鐘總線
;
RST1302=1;//復位引腳高電平,控制邏輯有效
;
wr1302(0xbf);// 0xbf:時鐘多字節(jié)讀命令
for(i=0;i<8;i++)//接收數(shù)據(jù)8字節(jié)
{
*p1=rd1302();
p1++;
}
SCLK1302=1;
RST1302=0;
}
/********************************************************************
* 名稱: v_set1302
* 說明:
* 功能: 設置初始時間
* 調(diào)用: v_wr1302()
* 輸入: *p2: 初始時間地址。初始時間格式為: 秒 分 時 日 月 星期 年
* 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
* 返回值: 無
***********************************************************************/
void v_set1302(unsigned char *p2)
{
unsigned char i;
unsigned char addr=0x80;
v_wr1302(0x8e,0x00); //控制命令,WP=0,允許寫
for(i=0;i<7;i++)
{
v_wr1302(addr,*p2); /* 秒 分 時 日 月 星期 年 */
p2++;
addr=addr+2;
}
v_wr1302(0x8e,0x80); // 控制命令,WP=1,寫保護
}
/********************************************************************
* 名稱: v_get1302
* 說明:
* 功能: 讀取DS1302當前時間
* 調(diào)用: v_rd1302()
* 輸入: time: 保存當前時間地址。當前時間格式為: 秒 分 時 日 月 星期 年
* 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
* 返回值: 無
***********************************************************************/
void v_get1302(void)
{
unsigned char i;
unsigned char addr=0x81;
for(i=0;i<7;i++)
{
time[i]=v_rd1302(addr); //格式為: 秒 分 時 日 月 星期 年
addr=addr+2;
}
}

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

51單片機學習筆記———13.1DS1302實時時鐘原理部分

關(guān)鍵字: ds1302 時鐘

由于昨天照著手冊寫了一下DS1302的驅(qū)動程序,發(fā)現(xiàn)耗時挺多的,并且在考場上不可能一步步去自己寫驅(qū)動,所以今天看了一下藍橋杯提供的DS1302官方驅(qū)動程序,發(fā)現(xiàn)直接引用還是不行的,程序當中有些小問題需要去修改。下面就對那...

關(guān)鍵字: ds1302 時鐘

DS1302時鐘模塊通信原理(SPI總線)

關(guān)鍵字: ds1302 時鐘

現(xiàn)在流行的串行時鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡單、價格低廉、使用方便,被廣泛地采用

關(guān)鍵字: ds1307 ds1302

現(xiàn)在流行的串行時鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡單、價格低廉、使用方便,被廣泛地采用。它可以對年、月、日、周、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。

關(guān)鍵字: ds1302 時鐘芯片 電路

DS1302 我們前邊也有提起過,是三根線,分別是 CE、I/O 和 SCLK,其中 CE 是使能線,SCLK 是時鐘線,I/O 是數(shù)據(jù)線。前邊我們介紹過了 SPI 通信,同學們發(fā)現(xiàn)沒發(fā)現(xiàn),這個 DS1302 的通信線定...

關(guān)鍵字: ds1302 通信時序

//引入文件***********************************************************#include "delay.h" #include "...

關(guān)鍵字: ds1302 pic16f84a 讀取時鐘芯片

參考DS1302數(shù)據(jù)手冊,盡管數(shù)據(jù)手冊是英文,但是很有幫助,再結(jié)合網(wǎng)上眾多的代碼寫出了下面這個例子,除了涓流充電(trickle charger)功能沒使用外,內(nèi)部的RAM和寄存器功能都使用到了,包括多字節(jié)方式(burs...

關(guān)鍵字: ds1302 演示代碼

1、DS1302時鐘芯片的講解待完成?。?!2、自己寫的DS1302芯片的配置文件//DS1302_SPIdriver.h//DS1302_SPIdriver.h#ifndef__SPIDRIVER_H__#define_...

關(guān)鍵字: ds1302 單片機 時鐘芯片

發(fā)現(xiàn)網(wǎng)上一些程序在16M晶振下不能工作,自己寫了個,按照2V的時序?qū)懙?但只在5V和3.3V下測試過.以下是兩個主要的文件DS1302.h:/************ AVR DS1302程序 *************...

關(guān)鍵字: AVR ds1302 程序源代碼
關(guān)閉