|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
' f6 b; N- _0 \# |7 M, n3 b( p8 v: y) \4 n& S4 h. J
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)1 S* B9 J5 V- ~6 T
' A0 _' B, E& _
定义了DS1302.h 文件:+ q K' |$ b/ A" `
- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作5 V; g3 {' U7 u8 r: c
) r9 \$ l7 k8 _/ b, G9 ~( x
main.c 如下:
# B. @/ F3 L7 c, c8 [- j- b2 W' n/ g X5 K, D% [3 K2 Y
#include "./DS1302.h"
% R9 @) w, Q' w; r2 N8 h+ 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
- //其他代码
- }
- }. v9 e: z* {8 h
! w7 q8 J0 q$ {& }* V2 C& {PS:
8 c9 _5 ]1 o2 i3 D3 s# V9 L- I我晶振由12MHz 更换到 11.0592MHz。' |5 j; n' C) v) r8 S
DS1302 和LCD1602的读写时序都有更正。
. Z$ M0 Y, W4 ]) Q# h但不知道是不是还有其他地方需要更改
$ N5 a% F# w+ t
( |1 U! |' \1 g, j2 |% b% F: q* O( }2 ^* B& H0 G
- f% [7 v+ \5 a: J- ] k
. r, n, e% w! O/ T/ T1 e. B |
|