|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
6 j% `7 H5 x. F4 C2 ]0 E/ L4 _
+ F) I# z+ L3 q4 T7 Z( y M: QLCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)
, y9 t! U6 I0 f8 D+ Q) n8 l) o) C% H4 w, \9 U, u$ R
定义了DS1302.h 文件:
6 I; p* n5 Y# G: N# ~7 {9 Q- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作- D; p2 w' h& |
R4 R/ w, h+ a6 M' R, I( omain.c 如下:5 ^& i3 W5 W6 D' p% P f* }( P
; ?( Y+ l" j9 T#include "./DS1302.h"5 c* U: ]3 Y0 G7 \7 w3 y
- 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
- //其他代码
- }
- }6 n& f/ ^( V/ N
5 I5 q7 h" U6 ~& ^& I5 \0 |
PS:- ^: |& Z3 t5 d3 M+ h
我晶振由12MHz 更换到 11.0592MHz。1 e& l! e+ \9 J; P4 l& |% @
DS1302 和LCD1602的读写时序都有更正。+ j+ Q: d5 T! w2 x6 W( P
但不知道是不是还有其他地方需要更改2 C3 R9 M$ f0 z: M, r7 \
9 j3 }2 ~& \# r9 f3 d/ \ j" A7 |- u3 w# R" h
. O; ~" B/ ?4 g, G4 c$ @; Z
7 S( j* a$ T9 w* ?- v1 c: S |
|