|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
% d3 S) ?, i, U3 U5 s& M1 F( x. e! e( F# w+ J0 c
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)
' _( d6 D9 y6 _ y
/ i: A8 Z9 D* k% e% B/ m定义了DS1302.h 文件: C9 x5 c9 _" A9 y) p1 P
- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作
1 T" W; X$ ]3 @/ g. s % @9 i, }" [$ t& F4 y& a
main.c 如下:$ Q" z0 y" I4 T0 X& h4 \
& D, c4 G# L& S" ]1 l9 J- s& \' @#include "./DS1302.h"
+ t" z# U. S2 Z+ I9 E- W* _- 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
- //其他代码
- }
- }
- O D6 E6 J. Z3 X6 P R
! r; E, L0 |$ H; I+ C; |. N) aPS:, c3 f5 ~) \' y1 ]0 }( P
我晶振由12MHz 更换到 11.0592MHz。
9 T$ N# w5 _4 w# Y/ MDS1302 和LCD1602的读写时序都有更正。
, Q& s, m% K; H2 O/ y7 Y0 s但不知道是不是还有其他地方需要更改3 g t: j4 I# U& H( C7 n% H$ r
6 a u' n" \$ E- U* X: Y/ n- x
3 P4 z" j8 m0 g6 T9 l
5 H. s0 Y! }7 z
4 x, I0 b$ N+ L2 T8 R7 k7 M2 h, ?: V |
|