|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
! s7 M, g9 O4 e# F8 r) c! F, u# G) F
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23). ^) G1 W3 w, U J1 ^" X5 ?; Q
4 ?6 r: U3 ]9 o0 Z( i* s9 J定义了DS1302.h 文件:
4 _4 ^* ~+ e7 E; b. j- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作
5 x7 c6 f8 \+ D" N
! {& b1 B% I+ E/ O7 J3 Jmain.c 如下:- j1 m) a' A1 O9 m9 D; s
+ Q8 @! c1 a# m#include "./DS1302.h"
?3 d+ k: l8 Z; s0 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
- //其他代码
- }
- }
$ s5 x5 d- t+ |& I& o7 ` # t3 H+ p- p+ k
PS:
$ u0 H# Y+ R, C! q* J8 z/ H我晶振由12MHz 更换到 11.0592MHz。/ W: o$ N0 E( y0 y) y
DS1302 和LCD1602的读写时序都有更正。
s$ h) Y) S! h) {. r& D9 ~& v" p1 I但不知道是不是还有其他地方需要更改8 e/ K; B$ N$ z& q
" w# r$ K5 t! @- Z, G* `9 O
. P! x- d- F7 n; p- E/ v9 {
1 A; Z% x5 H4 y' Q3 W' N, y- |$ J, B' F7 E) v9 w, r, z; I) v
|
|