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

當前位置:首頁 > 單片機 > 單片機
[導讀]由于硬件出了問題,也就是外部低速晶振沒用,震不起來,然后查看了網(wǎng)上的帖子,STM32的RTC果然口碑不怎么樣,所以果斷換DS1302,在移植的過程中還算順利,記錄下來吧,也算對自己的總結(jié)吧!1、所謂的DS1302這里面也指

由于硬件出了問題,也就是外部低速晶振沒用,震不起來,然后查看了網(wǎng)上的帖子,STM32的RTC果然口碑不怎么樣,所以果斷換DS1302,在移植的過程中還算順利,記錄下來吧,也算對自己的總結(jié)吧!

1、所謂的DS1302


這里面也指明了簡單的SPI協(xié)議

然后就直接上代碼了,注釋很詳細的!基本實現(xiàn)單行注釋

1、主函數(shù)main


#include"stm32f10x.h"

#include"SysTick.h"

#include"Delay.h"

#include"Usart.h"

#include"stdio.h"

#include"DS1302.h"

/*******由于沒有做外設測試的程序是:按鍵PA0僅一個LED燈******/

/*******由于沒有做外設測試的程序是:串口采用的是PA9->(T<->T),PA9->(R<->R)*****/

/*******由于沒有做外設測試的程序是:ds1302clk<->PA4

ds1302dat<->PA5

ds1302rst<->PA6*****/

externuint8_twrite[];

externuint8_tread[];

intmain(void)

{

//uint8_ttime[]={0,0,12,11,11,1,13};

//初始化系統(tǒng)定時器

SysTick_Init();

USART1_Config();

ds1302_GPIO_Configuration();//一定別忘記了配置GPIO

printf("rn("__DATE__"-"__TIME__")rn");

//ds1302_init(write,time);//設置1302的初始時間

ds1302_data(read);

while(1);//這個得加,不然的話會有尾巴是亂碼!?。?/p>

}



/*******************************************************************************

**文件名稱:ds1302.c

**編譯環(huán)境:RealViewMDK-ARM4.53

**文件作者:

**功能說明:ds1302相關函數(shù)定義

**軟件協(xié)議:模擬SPI協(xié)議

**簡介:clk上升沿發(fā)送數(shù)據(jù),clk下降沿接收數(shù)據(jù)

:typedefunsignedcharuint8_t;

**

**

**

*******************************************************************************/

/*包含頭文件*****************************************************************/

#include"ds1302.h"

#include"stdio.h"

#include"Delay.h"

uint8_tread[]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};//讀秒、分、時、日、月、周、年的寄存器地址

uint8_twrite[]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};//寫秒、分、時、日、月、周、年的寄存器地址

/*PA4、PA6為輸出*/

/*PA5配置為開漏模式,此模式下能夠?qū)崿F(xiàn)真正的雙向IO口*/

voidds1302_GPIO_Configuration(void)

{

GPIO_InitTypeDefGPIO_InitStruct;

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;

GPIO_InitStruct.GPIO_Pin=ds1302clk|ds1302rst;//clk、rst配置為輸出

GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_OD;//IO配置為雙向

GPIO_InitStruct.GPIO_Pin=ds1302dat;

GPIO_Init(GPIOA,&GPIO_InitStruct);

}

voidwrite_1302byte(uint8_tdat)//寫一個字節(jié)的數(shù)據(jù)sck上升沿寫數(shù)據(jù)

{

uint8_ti=0;

GPIO_ResetBits(GPIOA,ds1302clk);//ds1302clk=0

Delay_us(2);//延時大約2us

for(i=0;i<8;i++)

{

GPIO_ResetBits(GPIOA,ds1302clk);//ds1302clk=0;

if(dat&0x01)

GPIO_SetBits(GPIOA,ds1302dat);

else //ds1302dat=(dat&0x01)

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

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

關鍵字: ds1302 時鐘

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

關鍵字: ds1302 時鐘

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

關鍵字: ds1302 時鐘

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

關鍵字: ds1307 ds1302

stm32f103zet6是一種嵌入式-微控制器的集成電路(IC),是由ST公司開發(fā)的STM32F1系列的其中一種,芯體尺寸是32位,速度是72MHz,程序存儲器容量是256KB,程序存儲器類型是FLASH,RAM容量是...

關鍵字: stm32f103zet6 datasheet 引腳圖

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

關鍵字: ds1302 時鐘芯片 電路

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

關鍵字: ds1302 通信時序

有時候,我們需要保存少量數(shù)據(jù),但是用外擴的ROM又覺得不方便,這時候自然就想到了芯片內(nèi)部是否自帶flash(閃存),據(jù)我了解,stm32內(nèi)部的應該是nor flash,因為如果是nand flash的話,肯定速度是跟不上...

關鍵字: Flash nor stm32f103zet6

定時器TIM3產(chǎn)生四路PWM波輸出。首先介紹一下PWM吧,算是給自己充電,脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation ”的縮寫,簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進行控制...

關鍵字: pwm stm32f103zet6 定時器

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

關鍵字: ds1302 pic16f84a 讀取時鐘芯片
關閉