第一范文网 - 专业文章范例文档资料分享平台

基于51单片机的DS1302+LCD12864+DS18B20小综合

来源:用户分享 时间:2025/11/27 23:29:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

minute=59; hour=23; day=30; month=3; week=5; year=16;

write_DS1302(0x8E,0x00);//NWP write_DS1302(0x80,(second/10)<<4|(second)); write_DS1302(0x82,(minute/10)<<4|(minute)); write_DS1302(0x84,(hour/10)<<4|(hour)); write_DS1302(0x86,(day/10)<<4|(day)); write_DS1302(0x88,(month/10)<<4|(month)); write_DS1302(0x8A,(week/10)<<4|(week)); write_DS1302(0x8C,(year/10)<<4|(year)); write_DS1302(0x8E,0x01);//WP }

void write_time(uchar addr,uchar num) {

write_command(second_line+addr); delay_ms(5);

write_data(0x30+num/10); delay_ms(5);

write_data(0x30+num); delay_ms(5); }

uchar BCD_to_Dec(uchar num) {

uchar NUM_H,NUM_L,NUM; NUM_H=num>>4; NUM_L=num&0x0f;

NUM=((NUM_H*10))+NUM_L; return NUM; }

void write_week(uchar num) {

uchar i;

switch(num){

case 1:write_command(third_line+wek_addr_pos); for(i=0;i<2;i++){

write_data(str_wek[i]); delay_ms(5); } break;

case 2:write_command(third_line+wek_addr_pos); for(i=2;i<4;i++){

write_data(str_wek[i]); delay_ms(5); } break;

case 3:write_command(third_line+wek_addr_pos); for(i=4;i<6;i++){

write_data(str_wek[i]); delay_ms(5); } break;

case 4:write_command(third_line+wek_addr_pos); for(i=6;i<8;i++){

write_data(str_wek[i]); delay_ms(5); } break;

case 5:write_command(third_line+wek_addr_pos); for(i=8;i<10;i++){

write_data(str_wek[i]); delay_ms(5); } break;

case 6:write_command(third_line+wek_addr_pos); for(i=10;i<12;i++){

write_data(str_wek[i]); delay_ms(5); } break;

case 7:write_command(third_line+wek_addr_pos); for(i=12;i<14;i++){

write_data(str_wek[i]); delay_ms(5); }

break; } }

void write_date(uchar addr,uchar num) {

write_command(first_line+addr); delay_ms(5);

write_data(0x30+num/10); delay_ms(5);

write_data(0x30+num); delay_ms(5); }

/************************读出所有时间**********************/ void readtime(void) {

readsecond(); readminute(); readhour(); readday(); readmonth(); readweek(); readyear(); }

/*****************读出秒的十进制数***************************/

uchar readsecond(void) {

uchar dat;

dat=Read_DS1302(0x81);

second=((dat&0x70)>>4)*10+(dat&0x0f); return second; }

/*****************读出分的十进制数***************************/

uchar readminute(void) {

uchar dat;

dat=Read_DS1302(0x83);

minute=((dat&0x70)>>4)*10+(dat&0x0f); return minute; }

/*****************读出小时的十进制数***************************/

uchar readhour(void) {

uchar dat;

dat=Read_DS1302(0x85);

hour=((dat&0x70)>>4)*10+(dat&0x0f); return hour; }

/*****************读出天的十进制数***************************/

uchar readday(void) {

uchar dat;

dat=Read_DS1302(0x87);

day=((dat&0x70)>>4)*10+(dat&0x0f); return day; }

/*****************读出月的十进制数***************************/

uchar readmonth(void) {

uchar dat;

dat=Read_DS1302(0x89);

month=((dat&0x70)>>4)*10+(dat&0x0f); return month; }

/*****************读出周的十进制数***************************/

uchar readweek(void) {

uchar dat;

dat=Read_DS1302(0x8b);

week=((dat&0x70)>>4)*10+(dat&0x0f); return week; }

搜索更多关于: 基于51单片机的DS1302+LCD12864+DS18B2 的文档
基于51单片机的DS1302+LCD12864+DS18B20小综合.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c834fy7s6n60088t3x4ji0cqsi0v0jd00p6s_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top