ds1302时钟芯片c语言程序(共8页).docx

上传人:飞****2 文档编号:14404532 上传时间:2022-05-04 格式:DOCX 页数:8 大小:13.93KB
返回 下载 相关 举报
ds1302时钟芯片c语言程序(共8页).docx_第1页
第1页 / 共8页
ds1302时钟芯片c语言程序(共8页).docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《ds1302时钟芯片c语言程序(共8页).docx》由会员分享,可在线阅读,更多相关《ds1302时钟芯片c语言程序(共8页).docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上#include#include#define uchar unsigned char#define uint unsigned intsbit lcd_rs=P20;sbit lcd_e=P21;sbit ds1302_rst=P25;sbit ds1302_sclk=P26;sbit ds1302_io=P27;uchar time_date=0x50,0x59,0x23,0x00,0x00,0x00,0x00;void delay(uchar z) uchar m,n; for(m=z;m0;m-) for(n=110;n0;n-);void ds1302wri

2、tebyte(uchar dat) / 写一个字节 uchar i; for(i=0;i=1;/数据右移一位,准备传输下一位数据 uchar ds1302readbyte() /读一个字节 uchar i,dat; for(i=0;i=1; /要返回的数据左移一位 ds1302_sclk=0;/拉低 if(ds1302_io=1)/当IO为高时,证明该位数据位1 dat=dat|0x80; /要传输数据的当前值置为1。若不是,为0 ds1302_sclk=1;/拉高 ds1302_sclk=0;/拉低 return dat;/返回读出的数据void ds1302write(uchar add,

3、uchar dat)/ 写入数据 ds1302_rst=0; ds1302_sclk=0; ds1302_rst=1; /传输开始 ds1302writebyte(add);/传输命令字,写入时间的地址 ds1302writebyte(dat); / 写入要修改的时间 ds1302_sclk=1; /拉高 ds1302_rst=0; /读取结束,结束数据的传输uchar ds1302read(uchar add)/读取某地址的数据 uchar dat; ds1302_rst=0; ds1302_sclk=0; ds1302_rst=1; /传输开始 ds1302writebyte(add);/

4、传输命令字,要读出时间的地址 dat=ds1302readbyte();/读取要得到的时间 ds1302_sclk=1; ds1302_rst=0; return dat; /返回得到的时间 void ds1302set() /设置初始时间 uchar i; ds1302write(0x8e,0x00);/关写保护 for(i=0;i7;i+) ds1302write(0x80+i+i,time_datei); /将初始时间数据写入1302对应的寄存器里 delay(5); ds1302write(0x8e,0x80); /开写保护 void ds1302get() /读取当前时间 uchar

5、 i; for(i=0;i4);/显示年 lcdwrite_data(0+(time_date6&0x0f); lcdwrite_data(/); lcdwrite_data(0+(time_date4&0xf0)4);/显示月 lcdwrite_data(0+(time_date4&0x0f); lcdwrite_data(/); lcdwrite_data(0+(time_date3&0xf0)4);/显示日 lcdwrite_data(0+(time_date3&0x0f); lcdwrite_data( ); lcdwrite_data(0+(time_date5&0xf0)4); /

6、显示星期 lcdwrite_data(0+(time_date5&0x0f); lcdwrite_com(0x80+0x40); lcdwrite_data(0+(time_date2&0xf0)4);/显示时 lcdwrite_data(0+(time_date2&0x0f); lcdwrite_data(:); lcdwrite_data(0+(time_date1&0xf0)4); /显示分 lcdwrite_data(0+(time_date1&0x0f); lcdwrite_data(:); lcdwrite_data(0+(time_date04)&0x0f); /显示秒 lcdwrite_data(0+(time_date0&0x0f); 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁