单片机原理及应用课程设计报告
EA=1;ET0=1;ET1=1;TR1=1;
TH0=-46312/256;TL0=-46312%256;TH1=6;TL1=6;while(1){
keycode();
if(keycode1==1) //改闹钟时间{
P1_5=0;//第6个二极管作些状态指示灯P1_6=1;P1_4=1;TR0=1;set_alarm();time();}else{
if(keycode1==2){
P1_5=1;//第5个二极管作些状态指示灯P1_6=1;P1_4=0;TR0=1;time();alarm();
if(tcount03==200)改闹钟设置状态{
keycode1=4;}}
if(keycode1==3) //改时间{
P1_5=1;//第7个二极管作些状态指示灯P1_6=0;P1_4=1;set_clock();}
if(keycode1==4)
//还原计时//约10秒后,可以跳过
//还原计时
{
P1_5=1;//第5个二极管作些状态指示灯P1_6=1;P1_4=0;TR0=1;time();alarm();}
if(keycode1==5){
keycode1=1;}
table3[0]=table2[hour/10];应时分秒显示码赋给数组3table3[1]=table2[hour%10];table3[2]=table2[minute/10];table3[3]=table2[minute%10];table3[4]=table2[second/10];table3[5]=table2[second%10];}};}
void t0() interrupt 1{
tcount++;tcount02s++;tcount03++;间变量
TH0=-46312/256;TL0=-46312%256;}
void t1() interrupt 3{
static unsigned char tcount1,j;tcount1++;if(tcount1==15){
tcount1=0;j++;}
if(j==6)j=0;P0=table3[j];P2=table1[j];
} //时间累加并显示
//中断显示
//正常计时的时间变量//30闹钟响的时间变量
//跳过改时间状态的时
//50MS时间中断
//把对
//返回闹钟

