单片机原理及应用课程设计报告
{hour=23;}
if(hour<-1&&hour>-24){
hour=hour+20;}
if(hour<=-24){
hour=hour+40;}
keycode4=0;}}
if(keycode2==3){
keycode2=0;}}
void time(){
if(tcount>=20){
second++;tcount=0;}
if(second>=60){
minute++;second=0;}
if(minute>=60){hour++;minute=0;}
if(hour>=24){hour=0;}}
void alarm(void){
static unsigned int flag,tcountn,fh;
//30s闹钟
{fh++;if(fh==1){RD=0;
//正常计时
停
//30s闹钟,可通过按第4排第3个键
if(second==alarm_second&&minute==alarm_minute&&hour==alarm_hour){flag=1;}
if(keycode3==1){flag=0;RD=1;}
if(flag==1){
if(tcount02s>=4){RD=~RD;tcount02s=0;tcountn++;}
if(tcountn>=150){RD=1;}}
if(second==0&&minute==0)
//整点报时
delay();delay();delay();delay();delay();delay();delay();delay();delay();RD=1;}}
if(second!=0)fh=0;}//主程数void main(){
TMOD=0X21;
//T0方式
1

