基于单片机的多功能定时器设计与实现 - 图文(7)

2019-08-29 22:14

杭州电子科技大学本科毕业论文

delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; s3=0;

P0=table[led[3]]; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; }

/*********************************************************************/ /*********************显示两位函数************************************/ void display1(unsigned char a,b) //显示两位 {

led[0]=a; led[1]=a/10; led[2]=b; led[3]=b/10; display(); }

/*****************************************************************/ /*******************中断服务函数*********************************/ void timer2(void) interrupt 5 using 1 { if(s==1) {timer++; if(timer==2) {timer=0;flag++; if(flag==10)

{flag=0;timer_second++; if(timer_second==60) {timer_second=0; timer_minute++;} } } }

30

杭州电子科技大学本科毕业论文

timer2_tick++; if(timer2_tick==20) { timer2_tick=0; }

/********************************************************************/ /******************当前时间程序*************************************/ void display_time(void) {

P1|=0x0f; //lit off all led P0=0xff; s0=0;

led[3]=now.minute; P0=table[led[3]]; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; s1=0;

led[2]=now.minute/10; P0=table[led[2]]; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff;

31

now.second++; if(now.second==60) { now.minute++;

now.second=0; }

if(now.minute==60) { now.hour++; now.minute=0; if(now.hour==24) now.hour=0; }

} TF2=0;

杭州电子科技大学本科毕业论文

s2=0;

led[1]=now.hour; if(now.second%2) P0_7=0; else P0_7=1; P0=table[led[1]];

delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; s3=0;

led[0]=now.hour/10; P0=table[led[0]]; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; }

/*********************************************************************/ /*****************秒表显示函数***************************************/ void displaytimer(void) {

P1|=0x0f; //lit off all led P0=0xff; s0=0;

led[3]=flag; P0=table[led[3]]; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; s1=0;

led[2]=timer_second; P0=table[led[2]]; P0_7=0;

delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; s2=0;

32

杭州电子科技大学本科毕业论文

led[1]=timer_second/10;

P0=table[led[1]]; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; s3=0;

led[0]=timer_minute; P0=table[led[0]]; P0_7=0; delay_ms1();

P1|=0x0f; //lit off all led P0=0xff; }

/*********************************************************************/ /***************闹铃显示函数******************************************/ void display_ring(void)

{display1(ring_minute,ring_hour); if(now.hour==ring_hour) {if(now.minute==ring_minute) bell=0; power_ctrl = 0; }

else bell=1;

power_ctrl = 1;//p1^7高电平时,继电器通;低电平时,继电器断 }

/*********************************************************************/ /************************温度显示函数******************************/ void display_temp(void) {

float temp,k,value; unsigned char tmp; delay_ms1();

value=adc_conv();

tmp=value; temp=(float)tmp;

33

杭州电子科技大学本科毕业论文

}

k=log(temp/(255-temp)); temp=k/3380+1/298.15; temp=1/temp-273.15; tmp=(unsigned char)temp; led[0]=tmp; led[1]=(tmp0)/10; led[2]=0; led[3]=0;

display();

/*********************************************************************/ /*******************T2定时器初始化***********************************/ static void timer2_initialize (void) {

T2CON=0x00; timer2_tick=0; TH2 = 0x4C; }

/*********************************************************************/ /********************按键记值程序************************************/ char gotkey() { keys=0; if (mode_button==0) {

delay100ms(); if (mode_button==0) keys=1; }

TL2 = 0x00; RCAP2H = 0x4C; RCAP2L = 0x00; ET2 = 1; EA = 1; TR2 = 1;

if (operation_button==0)

34


基于单片机的多功能定时器设计与实现 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:医院科室院感监控自查记录表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: