|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
8 d# I& I5 @& @2 S8 `5 ^
2 p; U; s8 k- vLCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23) @8 k1 M; J( f7 ^3 J
9 F, g0 r' I7 F. m# i
定义了DS1302.h 文件:
( Q& J& n5 T$ X, N, [- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作
3 R7 h I0 Q" a4 s
/ e# W) b: [# omain.c 如下:% \& \; Y* E* r1 T! ]2 W
$ W/ d9 v( w& d5 l8 K. Y! A* b$ x#include "./DS1302.h"+ E2 A5 I9 m2 m
- 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
- //其他代码
- }
- }
7 `% h4 k, T; |5 q2 v2 h9 I & c- q; K& B( t1 J2 x( K7 l
PS:' E3 }! j* R# o5 n S* | M: S
我晶振由12MHz 更换到 11.0592MHz。
: O( b& y" E5 O6 pDS1302 和LCD1602的读写时序都有更正。4 s# W7 f* P/ _, q& P- ?
但不知道是不是还有其他地方需要更改
0 c7 C e) [3 M9 G, d- |, D# g ?! F) O9 u) D9 l# |
* n5 y5 P5 {! Q/ Z; o7 f) N0 o8 {% c" Z% n S8 y; U5 @/ s
; c2 I" Y2 O! Y' l1 X: k |
|