📄 fs0.lst
字号:
A51 MACRO ASSEMBLER FS0 10/28/2008 12:31:01 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN fs0.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE fs0.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;--------------------------------------------------------------
0035 2 ADC EQU 35H ;
00A3 3 CLOCK BIT P2.3 ;定义ADC0808时钟位
00A0 4 ST BIT P2.0 ;
00A1 5 EOC BIT P2.1 ;
00A2 6 OE BIT P2.2 ;
7 ;-------------------------------------------------------------
0000 8 ORG 00H ;系统启动地址
0000 800C 9 SJMP START
10 ;-------------------------------------------------------------
000B 11 ORG 0BH ;定时器0中断口
000B 020037 12 LJMP INT_T0
13 ;--------------------------------------------------------------
000E 758902 14 START: MOV TMOD,#02H ;定时器0 工作方式2
0011 758CF5 15 MOV TH0,#245 ;计10个数初值设置
0014 758AF5 16 MOV TL0,#245
0017 75A882 17 MOV IE,#82H ;定时器TO开中断
001A D28C 18 SETB TR0 ;启动定时器
19 ;----------------------------------------------------------------
001C C2A0 20 WAIT: CLR ST ;启动AD转换
001E D2A0 21 SETB ST
0020 C2A0 22 CLR ST ;如果没这句会怎么样???
23 ;------------------------------------------------------------------
0022 30A1FD 24 JNB EOC,$ ;等待转换结束
25 ;-------------------------------------------------------------------
0025 D2A2 26 SETB OE ;转换后的数字值送 OUT
0027 858035 27 MOV ADC,P0 ;单片机 读取AD转换结果
002A 12003A 28 LCALL CCC
002D C2A2 29 CLR OE ;如果没这句会怎么样???
30 ;------------------------------------------------------------------
002F 12004F 31 LCALL DISPKAY1
0032 853590 32 MOV P1,ADC
0035 80E5 33 SJMP WAIT
34 ;-----------------------------------------------------------------
0037 B2A3 35 INT_T0: CPL CLOCK ;提供ADC0808时钟信号
36 ;计算51单片机晶振12M,这时P2。3口产生的频率是多少?
0039 32 37 RETI
38
003A A835 39 CCC: MOV R0,ADC
003C E8 40 MOV A,R0
003D 75F064 41 MOV B,#100
0040 84 42 DIV AB
0041 F540 43 MOV 40H,A
0043 E5F0 44 MOV A,B
0045 75F00A 45 MOV B,#10
0048 84 46 DIV AB
0049 F541 47 MOV 41H,A
004B 85F042 48 MOV 42H,B
004E 22 49 RET
004F 50 DISPKAY1:
004F C2A5 51 CLR P2.5
0051 75815F 52 MOV SP,#5FH
0054 759800 53 MOV SCON, #00H ;串行口方式0
0057 C2AC 54 CLR ES
0059 D2A4 55 SETB P2.4
005B 900087 56 MOV DPTR,# TABLE
005E E542 57 MOV A,42H
58 ;lcall DELAY
A51 MACRO ASSEMBLER FS0 10/28/2008 12:31:01 PAGE 2
0060 93 59 MOVC A,@A+DPTR
0061 F599 60 MOV SBUF,A ;发送
0063 3099FD 61 JNB TI,$
0066 C299 62 CLR TI
0068 900087 63 MOV DPTR,# TABLE
006B E541 64 MOV A,41H
006D 93 65 MOVC A,@A+DPTR
006E F599 66 MOV SBUF,A ;发送
0070 3099FD 67 JNB TI,$
0073 C299 68 CLR TI
0075 900087 69 MOV DPTR,# TABLE
0078 E540 70 MOV A,40H
007A 93 71 MOVC A,@A+DPTR
007B F599 72 MOV SBUF,A ;发送
007D 3099FD 73 JNB TI,$
0080 C299 74 CLR TI
0082 C2A4 75 CLR P2.4 ;打开并行输出
0084 D2A5 76 SETB P2.5
0086 22 77 RET
78 ;DELAY: MOV R2,#0FAH
79 ;L1: MOV R3,#0FAH
80 ;L2: DJNZ R3,L2
81 ; DJNZ R2,L1
82 ; RET
0087 C0F9A4B0 83 TABLE: DB 0C0H,0F9H,0A4H,0B0H ; 0,1,2,3
008B 999282F8 84 DB 99H,92H,82H,0F8H ; 4,5,6,7
008F 809001 85 DB 80H,90H,01H
86 END
A51 MACRO ASSEMBLER FS0 10/28/2008 12:31:01 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ADC. . . . . . . . N NUMB 0035H A
B. . . . . . . . . D ADDR 00F0H A
CCC. . . . . . . . C ADDR 003AH A
CLOCK. . . . . . . B ADDR 00A0H.3 A
DISPKAY1 . . . . . C ADDR 004FH A
EOC. . . . . . . . B ADDR 00A0H.1 A
ES . . . . . . . . B ADDR 00A8H.4 A
IE . . . . . . . . D ADDR 00A8H A
INT_T0 . . . . . . C ADDR 0037H A
OE . . . . . . . . B ADDR 00A0H.2 A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SP . . . . . . . . D ADDR 0081H A
ST . . . . . . . . B ADDR 00A0H.0 A
START. . . . . . . C ADDR 000EH A
TABLE. . . . . . . C ADDR 0087H A
TH0. . . . . . . . D ADDR 008CH A
TI . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
WAIT . . . . . . . C ADDR 001CH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -