📄 t0中断方式定时-每秒钟使p10输出状态发生一次反转.lst
字号:
C51 COMPILER V7.50 T0中断方式定时_每秒钟使P10输砡状蘝发蒧_淮 09/19/2005 23:50:23 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE T0中断方式定时_每秒钟使P10输砡状蘝发蒧_淮
OBJECT MODULE PLACED IN T0中断方式定时-每秒钟使P10输出状态发生一次反转.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE T0中断方式定时-每秒钟使P10输出状态发生一次反转.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #define Tick 10000 // 10000 x 100μs = 1s
3 #define T100us (256-50) // 100us时间常数(6M)
4
5 unsigned int C100us; // 100μs计数单元
6 bit LEDBuf;
7 sbit LED = P1^0;
8
9 void T0Int() interrupt 1 { // T0中断服务程序
10 1 C100us--;
11 1 if (C100us == 0) {
12 2 C100us = Tick; // 100us计数器为0, 重置计数器
13 2 LEDBuf = !LEDBuf; // 取反LED
14 2 }
15 1 }
16
17 void main() {
18 1 TMOD = 0x02; // 设置T0为工作方式2, 定时器
19 1 TH0 = T100us;
20 1 TL0 = T100us;
21 1 IE = 0x82; // EA=1, IT0 = 1
22 1 LEDBuf = 0;
23 1 LED = 0;
24 1 C100us = Tick;
25 1 TR0 = 1; // 开始定时
26 1 while (1) {
27 2 LED = LEDBuf;
28 2 }
29 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 57 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -