|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑 9 s, l9 `$ \+ f) X) F# R5 y! n3 h
% }- K+ |4 d9 h$ d4 y9 D8 y
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)
5 z5 j- K) l3 @/ j$ B
! t! u/ S& z8 f9 g/ G/ j, Y定义了DS1302.h 文件:* R# S& g. |! Y( G" M- n, }1 d7 a
- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作
1 U9 J4 J6 i$ ^; \8 f3 q. f4 S # y/ C) O1 A) i; P
main.c 如下:; a5 D( Q) }, l
: ~; S& O6 u$ L2 i; k- p/ L
#include "./DS1302.h"
; a/ x7 L; @( S- void main()
- {
- Led_P=0;
- //DelayMs(10);
- //Led_P=1;
- UART_init();
- LcdInit(); // 执行液晶初始化
- DS1302_Init(); // 时钟芯片的初始化,三引脚置低
- LcdShowInit(); // 液晶显示“20 - - : ”
- if(DS1302_Read_Byte(0x81)>=128) // 判断时钟芯片是否正在运行
- {
- DS1302_Write_Time(); //TimeBuff ---> DS1302
- Led_P=1;
- }
- while(1)
- {
- DS1302_Read_Time(); // 获取当前时钟芯片的时间,存在数组time_buf中
- FlashTime(); //TimeBuff --->LCD1602
- //其他代码
- }
- }+ K+ q5 y/ E, S# c1 M9 X
2 ?9 Y9 b6 x+ U$ O9 a6 i% I* f: W
PS:# Q- Z0 h! ^+ F n/ P
我晶振由12MHz 更换到 11.0592MHz。8 w J2 _% G# R$ ?
DS1302 和LCD1602的读写时序都有更正。7 _9 \* y. P+ M
但不知道是不是还有其他地方需要更改! t( ^9 A/ C3 w; ^: |1 C
$ H# E% f2 g. G1 Y6 \( A
0 G6 z, q; N/ J& H" @0 K3 G
0 A3 t( u& m, A l* J
2 g$ H0 `9 k: M+ B! A |
|