|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 niubility 于 2022-11-25 11:02 编辑 3 H N J) L7 _$ r# O# h2 u1 l9 q2 }
( Y Y& F/ k" k* g3 }) {
LCD初始显示时间日期仿真都为相同数据2005/05/05 05:05(代码设置初试时间为2021/3/24, 12:23)
4 ]/ x \0 }' |7 k) F' l" ]$ ^1 }$ R( Y
定义了DS1302.h 文件:
& Q% l& M |' m8 Y: D- b& t, N- 定义uchar timeBuff[] = {21,3,24,12,23,32};//2021/3/24, 12:23:32
- 进行时间的读写基本操作( j5 j- B( F5 w0 y9 j
0 M' W2 L9 B* B$ \. W+ O2 J1 {; h
main.c 如下:4 D: A A& P% s
( o L( A0 n( _; a. j#include "./DS1302.h") V8 Y2 j* i; s0 x) h# t+ f+ E
- 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
- //其他代码
- }
- }+ v8 f" [& a2 ^$ J; t( d
7 Y0 @! Y" e$ w5 w
PS:
! A% R8 f3 Z4 \2 D2 s2 l" u7 k2 T2 C我晶振由12MHz 更换到 11.0592MHz。& q& v7 Y4 w( V1 U. \
DS1302 和LCD1602的读写时序都有更正。/ J2 Q$ _: A' Y4 v# o
但不知道是不是还有其他地方需要更改
D* `0 K8 P3 ?7 i+ h3 X4 y0 H$ r# e$ K( m3 R
0 d+ Z% [: \' i8 o, K: R. `
- X v1 G" ^# m- _9 i4 u$ J$ n: }2 f/ `4 V t. i/ w: n5 h
|
|