|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑 9 b; ?+ \3 D; X+ V
7 Y, [! v3 r+ M& }% f# iLCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)* W, O! ^, X& }- \. w( I8 B
- d/ u* w w* Y. C- x定义了DS1302.h 文件:
) J$ o( w, Q6 ^& d- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作
% D1 j* Y" ~& U6 _
& o0 l1 Q% x/ q. S/ Emain.c 如下:
\( @4 |( X: z: W; q4 m8 ^4 Z/ S$ V7 R1 S1 @0 b7 l A4 e
#include "./DS1302.h"9 o8 g: x" y0 A$ N* Z
- 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
- //其他代码
- }
- }
% S2 s5 f8 Z3 L% D3 L: B" Y; F ] . @2 C+ n0 [1 K# g
PS:
9 u' e2 H' Z% u7 B- Z: E3 c* s7 G! h我晶振由12MHz 更换到 11.0592MHz。
! H$ L3 R6 I$ X/ [1 i) ? oDS1302 和LCD1602的读写时序都有更正。- T4 X- ^' h. f% p
但不知道是不是还有其他地方需要更改
+ p5 b4 ]% j0 W" }6 H2 \" ^% i) A/ @# W
) K: o5 _; ?* k1 z
# Z, L( z, h# Q x6 J
5 k5 p" E; Y1 F! C |
|