|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
' `/ r3 u0 K1 `* F u( i; O0 W8 J) u4 a* D$ B
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)8 V& E/ s; l u' i0 Y
: j: z6 i# d6 `" E定义了DS1302.h 文件:
' v) g- H& S0 x1 N: ^' j' f' h* @( Y& E- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作
1 c5 Y) |" ^' D 8 z) |" t) g8 d
main.c 如下:+ s& u" ~$ S8 `2 E/ q- ~2 h
' }8 ^0 Q+ ?- P- l#include "./DS1302.h"" E" g7 x, l& E6 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
- //其他代码
- }
- }, @$ b% t' s$ h- Y
2 n1 p5 b: W' TPS:1 z* L% d1 C( b9 l7 l/ Y! }
我晶振由12MHz 更换到 11.0592MHz。, G. n: Z6 W: s/ g6 U$ ~
DS1302 和LCD1602的读写时序都有更正。 A6 l9 W5 ]/ U2 b. ]
但不知道是不是还有其他地方需要更改
3 w8 ?# u- V% ^8 F, r! C2 s% z r; K! e6 l! d
% x$ ?) j4 v, f
6 n/ D, h, Q( I4 \
5 W, |0 z& h) w' n |
|