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

📄 c_modul.c

📁 这是《Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践》教材各章中列出的全部程序例子。
💻 C
字号:

#include <stdio.h>
#include <reg51.h>
unsigned long msec;                   /* 毫秒计数器变量 */
unsigned char intcycle;               /* 中断次数计数器变量 */

/**********************************************/
/*             T0 中断服务函数                */
/*       采用12MHz晶振时每250微秒执行一次     */
/**********************************************/
timer0() interrupt 1 using 1   {       
  if (++intcycle == 4)  {             /* 1 msec = 4* 250 usec  */
    intcycle = 0;
    msec++;
  }
}

/***************************/
/*      T0 初始化函数      */
/***************************/
tinit ()  {
  TH0 = -250;                        
  TL0 = -250;
  TMOD = TMOD | 0x02;                
  TR0 = 1;                           
  ET0 = 1;                           
  EA  = 1;                           
}

void main(void) {
  SCON = 0x52;    /* 串行口初始化为: 2400 BAUD @12MHz */
  TMOD = 0x20;    
  TCON = 0x69;    
  TH1 =  0xf3;    
  tinit ();       /* 调用 T0 初始化函数 */
  while(1)  {
    printf ("MSEC=%lu\r", msec);
  }
}

⌨️ 快捷键说明

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