📄 ref1.c
字号:
# if(temp==-1)
# temp=0x23;
# break;
# case 4:
# temp=Read1302(DS1302_WEEK); //读?星?数
# temp=temp-1; //星?数减1
# down_flag=1;
# if(temp==0)
# temp=0x7;;
# break;
# case 5:
# temp=Read1302(DS1302_DAY); //读??数
# temp=temp-1; //?数减1
# down_flag=1;
# if(temp==0)
# temp=31;
# break;
# case 6:
# temp=Read1302(DS1302_MONTH); //读?月数
# temp=temp-1; //月数减1
# down_flag=1;
# if(temp==0)
# temp=12;
# break;
# case 7:
# temp=Read1302(DS1302_YEAR); //读?年数
# temp=temp-1; //年数减1
# down_flag=1;
# if(temp==-1)
# temp=0x85;
# break;
# default:break;
# }
#
# while(Down==0);
# while(wireless_3==1);
# }
# }
#
# void Setkey()//模式选择按键
# {
# Set=1;
# if(Set==0||wireless_4==1)
# {
# mdelay(8);
# count=count+1; //Setkey按一次,count就加1
# done=1; //进?调整模式
# while(Set==0);
# while(wireless_4==1);
# }
#
# }
#
# void keydone()//按键功能执行
# { uchar Second;
# if(flag==0) //关闭时钟,停止计时
# { Write1302(0x8e,0x00); //写?允许
# temp=Read1302(0x80);
# Write1302(0x80,temp|0x80);
# Write1302(0x8e,0x80); //禁止写?
# flag=1;
# }
# Setkey(); //扫描模式?换按键
# switch(count)
# {case 1:do //count=1,调整秒
# {
# outkey(); //扫描跳出按钮
# Upkey(); //扫描加按钮
# Downkey(); //扫描减按钮
# if(up_flag==1||down_flag==1) //数据更新,重新写?新的数据
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x80,temp|0x80); //写?新的秒数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
#
# hide_sec++; //位闪计数
# if(hide_sec>3)
# hide_sec=0;
# show_time(); //液晶显示数据
# }while(count==2);break;
# case 2:do //count=2,调整分
# {
# hide_sec=0;
# outkey();
# Upkey();
# Downkey();
# if(temp>0x60)
# temp=0;
# if(up_flag==1||down_flag==1)
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x82,temp); //写?新的分数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
# hide_min++;
# if(hide_min>3)
# hide_min=0;
# show_time();
# }while(count==3);break;
# case 3:do //count=3,调整小时
# {
# hide_min=0;
# outkey();
# Upkey();
# Downkey();
# if(up_flag==1||down_flag==1)
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x84,temp); //写?新的小时数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
# hide_hour++;
# if(hide_hour>3)
# hide_hour=0;
# show_time();
# }while(count==4);break;
# case 4:do //count=4,调整星?
# {
# hide_hour=0;
# outkey();
# Upkey();
# Downkey();
# if(up_flag==1||down_flag==1)
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x8a,temp); //写?新的星?数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
# hide_week++;
# if(hide_week>3)
# hide_week=0;
# show_time();
# }while(count==5);break;
# case 5:do //count=5,调整?
# {
# hide_week=0;
# outkey();
# Upkey();
# Downkey();
# if(up_flag==1||down_flag==1)
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x86,temp); //写?新的?数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
# hide_day++;
# if(hide_day>3)
# hide_day=0;
# show_time();
# }while(count==6);break;
# case 6:do //count=6,调整月
# {
# hide_day=0;
# outkey();
# Upkey();
# Downkey();
# if(up_flag==1||down_flag==1)
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x88,temp); //写?新的月数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
# hide_month++;
# if(hide_month>3)
# hide_month=0;
# show_time();
# }while(count==7);break;
# case 7:do //count=7,调整年
# {
# hide_month=0;
# outkey();
# Upkey();
# Downkey();
# if(up_flag==1||down_flag==1)
# {
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x8c,temp); //写?新的年数
# Write1302(0x8e,0x80); //禁止写?
# up_flag=0;
# down_flag=0;
# }
# hide_year++;
# if(hide_year>3)
# hide_year=0;
# show_time();
# }while(count==8);break;
# case 8: count=0;hide_year=0; //count8, 跳出调整模式,返回默ˇ显示状态
# Second=Read1302(DS1302_SECOND);
# Write1302(0x8e,0x00); //写?允许
# Write1302(0x80,Second&0x7f);
# Write1302(0x8E,0x80); //禁止写?
# done=0;
# break; //count=7,开?中断,标志位置0并退出
# default:break;
#
# }
#
# }
#
#
# void show_time() //液晶显示程序
# {
# DS1302_GetTime(&CurrentTime); //获?时钟芯(2)的时间数据
# TimeToStr(&CurrentTime); //时间数据转换液晶字符
# DateToStr(&CurrentTime); //??数据转换液晶字符
# ReadTemp(); //开?温度采集程序
# temp_to_str(); //温度数据转换成液晶字符
# GotoXY(12,1); //液晶字符显示位置
# Print(TempBuffer); //显示温度
# GotoXY(0,1);
# Print(CurrentTime.TimeString); //显示时间
# GotoXY(0,0);
# Print(CurrentTime.DateString); //显示??
# GotoXY(15,0);
# Print(week_value); //显示星?
# GotoXY(11,0);
# Print("Week"); //在液晶上显示 字母 week
# Delay1ms(400); //扫描延时
# }
#
#
#
# main()
# {
# flag=1; //时钟停止标志
# LCD_Initial(); //液晶初始化
# Init_DS18B20( ) ; //DS18B20初始化
# Initial_DS1302(); //时钟芯(2)初始化
# up_flag=0;
# down_flag=0;
# done=0; //进?默ˇ液晶显示
# wireless_1=0;
# wireless_2=0;
# wireless_3=0;
# wireless_4=0;
# while(1)
# {
# while(done==1)
# keydone(); //进?调整模式
# while(done==0)
# {
# show_time(); //液晶显示数据
# flag=0;
# Setkey(); //扫描各功能键
# }
# }
# }
#
#
#
#
# </count;i++)></intrins.h></reg51.h>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -