如何用语音芯片YF017读出DS1302的时间

#include //包含单片机寄存器的头文件

函数功能:延时若干微秒

函数功能:向1302写一个字节数据

SCLK=0; //拉低SCLK为脉冲上升沿写入数据做好准备

函数功能:根据命令字,向1302写一个字节数据

入口參数:Cmd储存命令字;dat,储存待写的数据

SCLK=1; //将时钟电平置于高电平状态

函数功能:从1302读一个字节数据

函数功能:根据命令字从1302读取一个字節数据

SCLK=1; //将时钟电平置于已知状态

函数功能: 1302进行初始化设置

令字,写入小时的初始值

态寄存器命令字写入保护指令

//如果不想每次都初始囮时间,也就是掉电后还想让时钟继续走时的话 就用

令字写入小时的初始值

以下是对液晶模块的操作程序

函数功能:延时若干毫秒

函数功能:判断液晶模块的忙碌状态

RS=0; //根据规定,RS为低电平RW为高电平时,可以读

_nop_(); //空操作四个机器周期给硬件反应时间

函数功能:将模式设置指令或显示地址写入液晶模块

RS=0; //根据规定,RS和R/W同时为低电平时可

E=0; //E置低电平(根据表8-6,写指令时E为

// 就是让E从0到1发生正跳变,所以应先置"0"

_nop_(); //空操莋两个机器周期给硬件反应时间

_nop_(); //空操作四个机器周期,给硬件反应时间

_nop_(); //空操作四个机器周期给硬件反应时间

E=0; //当E由高电平跳变成低电平時,液晶模块

函数功能:指定字符显示的实际地址

函数功能:将数据(字符的标准ASCII码)写入液晶模块

入口参数:y(为字符常量)

RS=1; //RS为高电平RW为低电岼时,可以写入数据

E=0; //E置低电平(根据表8-6写指令时,E为高脉冲

// 就是让E从0到1发生正跳变所以应先置"0"

P0=y; //将数据送入P0口,即将数据写入液晶模块

_nop_(); //空操作四个机器周期给硬件反应时间

_nop_(); //空操作四个机器周期,给硬件反应时间

E=0; //当E由高电平跳变成低电平时液晶模块开始执

函数功能:对LCD的顯示模式进行初始化设置

以下是1302数据的显示程序

、分、小时,日月,年

我要回帖

 

随机推荐