b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

51单片机+1602液晶万年历程序(带按键)(5)

电脑杂谈  发布时间:2019-07-19 06:05:37  来源:网络整理

there is a thing called blessing, every day send in the fingers. i have a wish, on christmas day anyway have to send you a blessing: merry christmas。如在“we wish you a merry christmas”中就多次出现we wish you a merry christmas. 这一句型。节间, the children will wake up and find the gift . in the morningchristmas day is in december 25th. before christmas day, there will be many parents to shop for children gift to buy a christmas tree and christmas cards. at christmas time,is christmas day。

else if ( yue == 12 && ri == 31 ){ print(0x80," The last day ");print(0x40," of the year "); }

else{

print(0x40," ...(*^_^*)... ");//显示笑脸。。。

//print(0x40," ...0(n_n)0... ");

print(0x80,"Have a Good Day!");

}

}

/*报时函数*/

void timealarm()

{

if(shi>7)//大于7点才启动报时

{

if(alarmflag==1)//不按下设置按键时才有效

{

if(fen==0 && miao<2)

{

beep=0;//启动蜂鸣器

}

else if(fen==30 && miao==0)

{

beep=0;

}

else beep=1;

}

}

}

//按键初始化时间函数

void chushihua()//初始化时间函数

{

if(key2==0)

{

if(key3==0)

{

1602单片机显示程序_lcd1602单片机万年历程序_1602程序

delay(5);

if(key3==0)

{

RST=0;

SCLK=0;

write_1302(0x8e,0x00);//允许写

write_1302(0x80,0x00);//秒:00

write_1302(0x82,0x00);//分:00

write_1302(0x84,0x12);//时:12

write_1302(0x8a,0x06);//周:4

write_1302(0x86,0x01);//日:15

write_1302(0x88,0x01);//月:3

write_1302(0x8c,0x11);//年:11

write_1302(0x8e,0x80);//打开保护

}

}

}

}

/*void ledcontrol()//背光led灯的控制函数

{

if(key3==0)

{

delay(5);

if(key3==0)

{

while(!key3);

lednum++;

if(lednum==3) lednum=1;

}

}

if(lednum==1) led=0;//关闭背光

if(lednum==2) led=1;//打开背光

} */

/*以下是主函数部分*/

void main()

{

alarmflag=1;

//led=0;

lcdinit();//初始化液晶函数

ds1302_init();//DS1302时钟芯片初始化函数

init();//定时器初始化函数

beep=0;

delay(200);

beep=1;

//led=0;

while(1)

{

year1=(nian)/10*16+(nian);//转换为bcd码

month1=(yue)/10*16+(yue);

day1=(ri)/10*16+(ri);

chushihua();//初始化时间函数

Conversion(0,year1,month1,day1);//

timealarm();//报时程序

keyscan();//不断扫面按键函数

/*if(key2==1)//加键不按下时才有用

{

ledcontrol();//背光控制

} */

}

}

void timer0() interrupt 1//中断任务:取数据并显示

{

TH0=(65536-60000)/256;//重新赋初值

TL0=(65536-60000)%256;

//读取数据

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));//读出周

//显示数据

if(((0<=miao)&&(miao<15))||(((miao/10==2)||(miao/10==4))&&(miao<=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>=5))

{

switch(flag/100)//取出温度的十位数

{

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>=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();//选择显示节日

}

//}

}

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;

}

}

}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-114123-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 李建勋
      李建勋

      捡到便宜就偷着乐吧

    热点图片
    拼命载入中...