📄 c_modul.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 + -