標題: 單片機萬年歷部分程序 [打印本頁]
作者: zzzhhh111 時間: 2017-12-26 13:27
標題: 單片機萬年歷部分程序
void main()
{
alarmflag=1;
//led=0;
lcdinit();//初始化液晶函數(shù)
ds1302_init();//DS1302時鐘芯片初始化函數(shù)
init();//定時器初始化函數(shù)
beep=0;
delay(200);
beep=1;
//led=0;
while(1)
{
year1=(nian)/10*16+(nian)%10;//轉(zhuǎn)換為bcd碼
month1=(yue)/10*16+(yue)%10;
day1=(ri)/10*16+(ri)%10;
chushihua();//初始化時間函數(shù)
Conversion(0,year1,month1,day1);//
timealarm();//報時程序
keyscan();//不斷掃面按鍵函數(shù)
/*if(key2==1)//加鍵不按下時才有用
{
ledcontrol();//背光控制
} */
}
}
void timer0() interrupt 1//中斷任務:取數(shù)據(jù)并顯示
{
TH0=(65536-60000)/256;//重新賦初值
TL0=(65536-60000)%256;
//讀取數(shù)據(jù)
flag=ReadTemperature();//讀取溫度(考慮是否放在此處)
miao=turnBCD(read_1302(0x81));//讀出秒
fen=turnBCD(read_1302(0x83));//讀出分
shi=turnBCD(read_1302(0x85));//讀出時
ri=turnBCD(read_1302(0x87));//讀出日
yue=turnBCD(read_1302(0x89));//讀出月
nian=turnBCD(read_1302(0x8d));//讀出年
week=turnBCD(read_1302(0x8b));//讀出周
//顯示數(shù)據(jù)
if(((0<=miao)&&(miao<15))||(((miao/10==2)||(miao/10==4))&&(miao%10<=5))||((54<=miao)&&(miao<60))) /*顯示所有信息的時間段*/
{
print(0x80,"20 / / W < >");
writecom(h1+0x0c);
writedata(0x7e);//→右箭頭
writeday(8,ri);//顯示日
writeday(5,yue);//顯示月
writeday(2,nian);//顯示年
writeweek(week);//顯示星期
print(0x40," : : ");
writetemp(9,flag);//顯示溫度,第二行顯示
writetime(6,miao);//顯示出秒
writetime(3,fen);//顯示出分
writetime(0,shi);//顯示出時,第二行第一個開始
}
//if(15<=miao)/*當秒大于15時才顯示*/
//{
if(((miao/10==1)||(miao/10==3))&&(miao%10>=5))
{
switch(flag/100)//取出溫度的十位數(shù)
{
case 0:print(0x80,"Pretty cold now!");
break;
case 1:print(0x80,"little cold now!");
break;
case 2:print(0x80,"It is warm now. ");
break;
case 3:print(0x80,"It's hot !!! ");
break;
case 4:print(0x80,"Very very hot!!!");
break;
case 5:print(0x80,"Very very hot!!!");
break;
case 6:print(0x80,"Very very hot!!!");
break;
}
//print(0x80,"It is warm now. ");
print(0x40," : : ");
writetemp(9,flag);//顯示溫度,第二行顯示
writetime(6,miao);//顯示出秒
writetime(3,fen);//顯示出分
writetime(0,shi);//顯示出時,第二行第一個開始
}
if(((miao/10==2)||(miao/10==4))&&(miao%10>=5))/*25-30 45-50*/
{
if((5<=shi)&&(shi<=11)) flagT=1;//5-11時為早上
if((11<shi)&&(shi<=14)) flagT=2;//11-14為中午
if((14<shi)&&(shi<=18)) flagT=3;//14-18為下午
if((18<shi)||(shi<5)) flagT=4;//18-24或者0-5為晚上
switch(flagT)//分段時間
{
case 1:print(0x80," Good Morning! ");
break;
case 2:print(0x80," Good Noon! ");
break;
case 3:print(0x80,"Good afternoon! ");
break;
case 4:print(0x80," Good night! ");
break;
}
print(0x40," : : ");
writetemp(9,flag);//顯示溫度,第二行顯示
writetime(6,miao);//顯示出秒
writetime(3,fen);//顯示出分
writetime(0,shi);//顯示出時,第二行第一個開始
}
if(((30<=miao)&&(miao<35))||((50<=miao)&&(miao<54)))//30-35 50-54
{//else改為范圍
festival();//選擇顯示節(jié)日
}
//}
}
void timer1() interrupt 3//任務:計時用作報時
{
TH1=(65536-50000)/256;//中斷后重新賦初值
TL1=(65536-50000)%256;
//count++;//計算時間
if(alarmflag==1)//設置鍵按下才有效
{
if(fen==0 && miao<4)
{
count++;
ledcount=count/10;//分開時間段
switch(ledcount)
{
case 0:Gled=0;Yled=1;break;//從零開始
case 1:Gled=1;Yled=0;break;
case 2:Gled=0;Yled=1;break;
case 3:Gled=1;Yled=0;break;
case 4:Gled=0;Yled=0;break;
case 5:Gled=1;Yled=1;break;
case 6:Gled=0;Yled=0;break;
case 7:Gled=0;Yled=0;count=0;break;//在這里面清零
}
}
else if(fen==30 && miao<2)
{
Gled=0;
Yled=0;
}
else {
Gled=1;
Yled=1;
}
}
}
作者: 無敵33 時間: 2018-10-24 08:30
感謝大神
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
999久久精品
|
亚洲夜射
|
亚洲视频在线观看
|
午夜影院在线免费观看视频
|
中文字幕一区在线观看视频
|
黄色av网站在线观看
|
亚洲一区二区三区
|
久久国产精品免费一区二区三区
|
夜夜爽99久久国产综合精品女不卡
|
99免费视频
|
av一级一片
|
亚洲欧美一区二区三区视频
|
www.日本三级
|
国产一级特黄aaa大片评分
|
一级黄色片在线免费观看
|
91精品国产乱码久久久久久
|
日韩欧美在线观看
|
国产精品黄视频
|
久久久精品久久久
|
一区二区三区四区免费在线观看
|
免费观看一级特黄欧美大片
|
免费电影av
|
老司机67194精品线观看
|
黄色在线播放视频
|
欧美专区在线视频
|
精品一区二区三区在线观看国产
|
av片在线观看网站
|
欧美日韩在线一区二区
|
国产在线一区二
|
365夜爽爽欧美性午夜免费视频
|
久久久久国产一区二区三区四区
|
国产在线一区观看
|
久久久久久久电影
|
国产精品毛片久久久久久久
|
国产三区四区
|
性视频一区
|
中文字幕在线视频一区二区三区
|
成人久草
|
午夜免费av|
久久免费高清
|
日韩精品专区在线影院重磅
|