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

单片机DS12C887时钟设计

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

read_ds(uchar add) //芯片读指令 { uchards_date; dscs=0; dsas=1; dsds=1; dsrw=1; P0=add; //写地址 dsas=0; dsds=0; P0=0xff; ds_date=P0; dsds=1; dsas=1; dscs=1; returnds_date; }

void set_alarm(ucharashi,ucharafen,ucharamiao) //闹钟设初值 { write_ds(1,amiao); write_ds(3,afen); write_ds(5,ashi); }

void set_time() //时间设初值 { write_ds(0,10); write_ds(2,10); write_ds(4,10); write_ds(6,2); write_ds(7,10); write_ds(8,10); write_ds(9,10); }

voidinit() { EA=1; EX1=1; //开外部中断1 IT1=1; //设置负跳变沿触发中断 dula=0; //关闭数码管,以免出现乱码 wela=0; //关闭数码管,以免出现乱码

en=0; //液晶使能 // alone_key=0; //把矩阵键盘化用为独立键盘 使用独立键盘则不需执行此项 set_alarm(10,11,10); //设置闹钟为什么分钟设置为08不可以 set_time(); //首次上电初始化时间 write_ds(0x0A,0x20); // 控制A寄存器来开启晶体振荡器且保持时钟运行。 write_ds(0x0B,0x26); //设置24小时模式,数据二进制模式,开启闹铃中断。 write_com(0x38); //液晶初始化 write_com(0x0c); //开显示,不显示光标 write_com(0x06); //写一个字符后地址指针自动加一 write_com(0x01); //显示清零,数据指针清零 delay(5); write_com(0x81+0x10); //写到后16位上,再移过来形成特效 for(num=0;num<14;num++) //写液晶初始内容 { write_data(table[num]); delay(50); } for(num=0;num<16;num++) //移位指令 { write_com(0x18); delay(50); } write_com(0x83+0x50);//第二行写初始内容 for(num=0;num<8;num++) { write_data(table1[num]); delay(50); } }

voidwrite_sfm(ucharadd,uchar date) { ucharshi,ge; shi=date/10; ge=date; write_com(0x80+0x50+add); write_data(0x30+shi); write_data(0x30+ge); }

voidwrite_nyr(ucharadd,uchar date)

{ ucharshi,ge; shi=date/10; ge=date; write_com(0x80+0x10+add); write_data(0x30+shi); write_data(0x30+ge); }

voidwrite_xq(uchar date) { switch(date) { case 0: write_com(0x80+0x10+12); write_data('S'); delay(5); write_data('U'); delay(5); write_data('N'); delay(5); break; case 1: write_com(0x80+0x10+12); write_data('M'); delay(5); write_data('O'); delay(5); write_data('N'); delay(5); break; case 2: write_com(0x80+0x10+12); write_data('T'); delay(5); write_data('U'); delay(5); write_data('E'); delay(5); break;

case 3:

write_com(0x80+0x10+12); write_data('W'); delay(5);

write_data('E'); delay(5);

write_data('D'); delay(5); break;

case 4:

write_com(0x80+0x10+12); write_data('T'); delay(5);

write_data('H'); delay(5);

write_data('U'); delay(5); break;

case 5:

write_com(0x80+0x10+12); write_data('F'); delay(5);

write_data('R'); delay(5);

write_data('I'); delay(5); break;

case 6:

write_com(0x80+0x10+12); write_data('S'); delay(5);

write_data('A'); delay(5);

write_data('T'); delay(5); break;

}

write_com(0x10);

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