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

万年历课程设计报告

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

WriteAddress(0x80+0x40+0x0f); WriteData(table1[sec1]); /*第二行在此显示完毕*/

ReadyReadTemp(); //读温度准备

TL=ReadOneChar(); //先读的是温度值低位 TH=ReadOneChar(); //接着读的是温度值高位

TN=TH*16+TL/16; //实际温度值=(TH*256+TL)/16,即:TH*16+TL/16 //这样得出的是温度的整数部分,小数部分被丢弃了 TD=(TL)*10/16; //计算温度的小数部分,将余数乘以10再除以16取整, //这样得到的是温度小数部分的第一位数字(保留1位小数)

display_temp1(TN); //显示温度的整数部分 display_temp2(TD); //显示温度的小数部分 //以下部分是闹钟键盘检测程序

if((x==hour2*10+hour1)&&(y==min2*10+min1))//若时间到了,则开启闹钟 {

beep=0; }

else //否则,关闭闹钟 {

beep=1; }

delaynms(10);

tixing(t_mon,t_day); } }

void exter1()interrupt 2 {

uint k;

write_com(0x01); for(k=0;k<2000;k++) {

while(key1==0) //键盘扫描.当key1按下时, { //闹钟的小时部分加一 delaynms(10);

if(key1==0) //消抖 {

delaynms(10);

while(key1==0); //松手检测 x++;

if(x==24) //小时部分加到24后自动清零 x=0; } }

33

while(key2==0) //键盘检测。当key2按下时, {

delaynms(10); //闹钟的分钟部分加一 if(key2==0) //消抖 {

delaynms(10);

while(key2==0);//松手检测 y++;

if(y==60) //若分钟部分加到60,则自动清零 y=0; }

}

show_naozhong(x,y); //调用闹钟显示程序 }

write_com(0x01); }

void tixing(unsigned char mm,unsigned dd) {

uchar i;

if(mm==0x01&&dd==0x01) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table6[i]); }

show();

if(mm!=0x01||dd!=0x01) break; } }

if(mm==0x02&&dd==0x14) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table7[i]); }

show();

if(mm!=0x02||dd!=0x14)

34

/* break; } }

if(mm==0x04&&dd==0x05) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table8[i]); }

show();

if(mm!=0x04||dd!=0x05) break; } }

if(mm==0x05&&dd==0x01) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table9[i]); }

show();

if(mm!=0x05||dd!=0x01) break; } }

if(mm==0x06&&dd==0x15) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table10[i]); }

show();

if(mm!=0x06||dd!=0x15) break; }

35

}

}

if(mm==0x08&&dd==0x01) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table11[i]); }

show();

if(mm!=0x08||dd!=0x01) break; } }

if(mm==0x09&&dd==0x10) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table12[i]); }

show();

if(mm!=0x09||dd!=0x10) break; } }

if(mm==0x10&&dd==0x01) {

while(1) {

WriteAddress(0x80); for(i=0;i<16;i++) {

WriteData(table13[i]); }

show();

if(mm!=0x10||dd!=0x01) break; } } */

36

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