📄 serial.lst
字号:
A51 MACRO ASSEMBLER SERIAL 09/28/2004 11:05:42 PAGE 1
MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN Serial.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE Serial.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;-----------------------------------------------------------
2 ; 文件名: Serial.asm
3 ; 文件描述: 读端口P0,如果数值改变,则将P0口读到的数送
4 ; PC机显示
5 ;-----------------------------------------------------------
6
0000 7 ORG 0000H
0000 02000E 8 LJMP START
000B 9 ORG 000BH
000B 02003B 10 LJMP ISR_T0
11
12 ;-----------------------------------------------------------
000E 759850 13 START: MOV SCON, #50H
0011 758921 14 MOV TMOD, #21H ; 定时器1工作方式2,定时器0工作方式1
0014 758780 15 MOV PCON, #80H ; 波特率倍增
0017 758DFD 16 MOV TH1, #0FDH ; 定时器1计数初值
001A 758C00 17 MOV TH0, #00H ; 定时器0计数初值
001D 758A00 18 MOV TL0, #00H
0020 D28C 19 SETB TR0 ; 开中断
0022 D28E 20 SETB TR1
0024 D2A9 21 SETB ET0
0026 C2AC 22 CLR ES
0028 D2AF 23 SETB EA
24
002A C220 25 CLR 20H ; P0口数据更新标志
26 ;----------------------------------------------------------
002C 3020FD 27 LOOP: JNB 20H, LOOP
002F 853099 28 MOV SBUF, 30H ; 30H中用于存放P0口的数据
0032 3099FD 29 LOOP1: JNB TI, LOOP1
0035 C299 30 CLR TI
0037 C220 31 CLR 20H
0039 012C 32 AJMP LOOP
33
34 ;----------------------------------------------------------
35 ; 定时器0中断服务程序
36 ;----------------------------------------------------------
003B 758C00 37 ISR_T0: MOV TH0, #00H ; 重装计数初值
003E 758A00 38 MOV TL0, #00H
0041 4380FF 39 ORL P0, #0FFH
0044 E580 40 MOV A, P0 ; 读P0口
0046 B53002 41 CJNE A, 30H, LOOP2 ; 判断P0口的数据是否更新
0049 014F 42 AJMP LOOP3
004B F530 43 LOOP2: MOV 30H, A
004D D220 44 SETB 20H
004F 32 45 LOOP3: RETI
46
47 ;----------------------------------------------------------
48 END
A51 MACRO ASSEMBLER SERIAL 09/28/2004 11:05:42 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
EA . . . . . . . . B ADDR 00A8H.7 A
ES . . . . . . . . B ADDR 00A8H.4 A
ET0. . . . . . . . B ADDR 00A8H.1 A
ISR_T0 . . . . . . C ADDR 003BH A
LOOP . . . . . . . C ADDR 002CH A
LOOP1. . . . . . . C ADDR 0032H A
LOOP2. . . . . . . C ADDR 004BH A
LOOP3. . . . . . . C ADDR 004FH A
P0 . . . . . . . . D ADDR 0080H A
PCON . . . . . . . D ADDR 0087H A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
START. . . . . . . C ADDR 000EH A
TH0. . . . . . . . D ADDR 008CH A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . B ADDR 0088H.6 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -