⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 update.c

📁 c51学习的好书!
💻 C
字号:
#include <reg51.h>             /* 预处理命令 */
#include <stdio.h>
#define SECOND  4000

unsigned int  count;           /* 定义用于500微秒计数器的整型变量 */

struct time  {                 /* 定义用于时、分、秒的结构变量*/
    unsigned char   hour;      /* 时 */
    unsigned char   min;       /* 分 */
    unsigned char   sec;       /* 秒 */
};
struct time clocktime;         /* 当前时间 */

update (dtime)                                 /* 显示更新函数 */
struct time *dtime;
{
  printf("\r  %02bd:%02bd:%02bd  %s",          /* 显示当前时间 */
                          dtime->hour,         /* 时 */
                          dtime->min,          /* 分 */
                          dtime->sec,"\r");    /* 秒 */
 }     

timer0() interrupt 1 using 2   /* 定时器T0中断服务程序 */
{
  if( ++count == SECOND ) {                    /* 每次中断时微秒计数器加1 */
     count = 0;
     update(&clocktime);
     if( ++clocktime.sec == 60 ) {             /* 秒处理 */
         clocktime.sec = 0;      
         if( ++clocktime.min == 60 ) {         /* 分处理 */
             clocktime.min = 0;      
             if( ++clocktime.hour == 25 ) {     /* 小时处理 */
                 clocktime.hour = 1;
             }       
          }
      }     
  }     
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -