📄 ext0led.lst
字号:
C51 COMPILER V6.12 EXT0LED 09/11/2005 10:26:55 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE EXT0LED
OBJECT MODULE PLACED IN E:\C51PRJ\EXT0LED\EXT0LED.OBJ
COMPILER INVOKED BY: d:\keil\c51\BIN\C51.EXE E:\C51PRJ\EXT0LED\EXT0LED.C DB SB OE
stmt level source
1 /****************************************************************************/
2 /* */
3 /* Copyright (c) 2005, 老树工作室 */
4 /* All rights reserved. */
5 /* */
6 /* http://www.saintone.net Email:hxm0902@163.com */
7 /* QQ:112431149 Tel:010-62966630 */
8 /* */
9 /****************************************************************************/
10 /****************************************************************************/
11 /* 文件名:ext0led.c */
12 /* 版 本:Version 1.0 */
13 /* 描 述:用外部中断0方式实现定时器控制的流水灯实验代码 */
14 /* */
15 /* 作 者:spot */
16 /* 函 数: */
17 /* time0_over_int */
18 /* ext0_int_proc */
19 /* system_init */
20 /* */
21 /* 历史记录: */
22 /* spot 2005-06-25 Creat Inital version. (Version 1.0) */
23 /****************************************************************************/
24
25 #include <reg52.h>
26 #include <absacc.h>
27 #include <intrins.h>
28
29 typedef unsigned char u_char;
30 typedef unsigned int u_int;
31
32 /* 函数声明 */
33 void time0_over_int(void); /* 定时器0中断服务程序 ,使用第2组寄存器 */
34 void ext0_int_proc(void); /* 外部中断0中断服务程序,使用第2组寄存器 */
35 void system_init(void); /* 系统上电初始化 */
36 /* 声明结束 */
37
38 u_int int_times; /* 定时计数 */
39 bit timer_int; /* 定时标志 */
40 u_int loopcount;
41 u_char set_ledf = 0x01;
42 u_char set_ledb = 0x80;
43
44 /* 定时器0中断服务程序 ,使用第2组寄存器 */
45 void time0_over_int(void) interrupt 1 using 2
46 {
47 1 TF0=0;
48 1 int_times++;
49 1 if (int_times == 2000)
50 1 {
51 2 timer_int = 1;
52 2 int_times = 0;
53 2 }
54 1 }
55
C51 COMPILER V6.12 EXT0LED 09/11/2005 10:26:55 PAGE 2
56 /* 外部中断0中断服务程序,使用第2组寄存器 */
57 void ext0_int_proc(void) interrupt 0 using 2
58 {
59 1 TR0 = 1; /* 启动 T/C0 计数 */
60 1 }
61
62 /* 系统上电初始化 */
63 void system_init(void)
64 {
65 1 EA = 0;
66 1 timer_int=0;
67 1 int_times=0;
68 1 P1 = 0xFF;
69 1
70 1 IT0 = 0; /* 外部中断0低电平触发 */
71 1
72 1 TMOD = 0x02; /* T/C0 方式2 定时 */
73 1 TH0 = 20; /* 预置计数初值 */
74 1 TL0 = 20;
75 1 TR0 = 0; /* 停止T/C0计数 */
76 1
77 1 IE = 0x83; /* 外部中断0,定时器0,CPU开中断 */
78 1 }
79
80 main()
81 {
82 1 system_init();
83 1 while(1)
84 1 {
85 2
86 2 if (timer_int == 1) /* 500ms 定时到 */
87 2 {
88 3 timer_int = 0;
89 3 loopcount++;
90 3
91 3 if (loopcount <= 8 )
92 3 {
93 4 P1 = set_ledf;
94 4 set_ledf <<= 1;
95 4 if (set_ledf == 0x00)
96 4 set_ledf = 0x01;
97 4 }
98 3
99 3 if (loopcount > 8)
100 3 {
101 4 P1 = set_ledb;
102 4 set_ledb >>= 1;
103 4 if (set_ledb == 0x00)
104 4 {
105 5 set_ledb = 0x80;
106 5 loopcount = 0;
107 5 TR0 = 0; /* 停止T/C0计数 */
108 5 }
109 4 }
110 3 }
111 2 }
112 1 }
C51 COMPILER V6.12 EXT0LED 09/11/2005 10:26:55 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
u_int. . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
time0_over_int . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
system_init. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
CP_RL2 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
set_ledb . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
ext0_int_proc. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
set_ledf . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
timer_int. . . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
int_times. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0002H 2
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
C51 COMPILER V6.12 EXT0LED 09/11/2005 10:26:55 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
TR2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
loopcount. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0004H 2
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
u_char . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 138 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -