|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑
$ [6 f# P @0 k( Y3 t, X% t/ ]7 p ~; t6 s6 b! h
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23) U3 Z; v- m) x$ J9 z2 A
! L! l2 @/ H. _4 J- R) \
定义了DS1302.h 文件:
4 y: |. p2 k g) P5 v- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作' B' b$ o6 Q5 B7 L. D1 X t- x
" h( N( ?8 B. |# l3 E
main.c 如下:% n; [. Z6 x! Y# a
6 H% @: a3 ~) o4 N" B
#include "./DS1302.h"
4 W6 h7 p J- O, b- 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
- //其他代码
- }
- }
, }8 F' K- n0 b) l5 k8 ` {% I2 Q # J& e6 G: E. v% N+ ^' r m
PS:
_% @2 X. t: f( O3 z2 G我晶振由12MHz 更换到 11.0592MHz。
- P: ]- D' I0 |( F4 ?DS1302 和LCD1602的读写时序都有更正。
% d# I' ]. ^0 {9 |4 |9 a但不知道是不是还有其他地方需要更改) Y6 h. ?: L w$ A
$ F5 B2 [# b: z( _& S+ \. V( J
( e. X% s- q0 ~( _! m( g2 \2 U- Y& ]% A4 D8 `5 @: j. I
; X# e$ b: d* t Z8 H' T. A [, } |
|