📄 pwm.lst
字号:
A51 MACRO ASSEMBLER PWM 12/23/2008 15:14:13 PAGE 1
MACRO ASSEMBLER A51 V7.02
NO OBJECT MODULE REQUESTED
ASSEMBLER INVOKED BY: D:\douzikeil\C51\BIN\A51.EXE pwm.a SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
007C 1 PA8255 EQU 7CH ; Port A
007D 2 PB8255 EQU 7DH ; Port B
007E 3 PC8255 EQU 7EH ; Port C
007F 4 CTL8255 EQU 7FH ; 控制字地址
0080 5 MODE8255 EQU 80H ;PA PB PC 都工作于方式0,基本输出
6
0000 7 ORG 0000H
0000 0140 8 AJMP START ;上电复位入口
0023 9 ORG 0023H
0023 0175 10 AJMP PCOM_INT
11
0040 12 ORG 0040h
0040 758160 13 START: MOV SP,#60H ;设置堆栈指针
14
0043 787F 15 MOV R0,#CTL8255
0045 7480 16 MOV A,#MODE8255
0047 F2 17 MOVX @R0,A
18
0048 900093 19 MOV DPTR,#TAB
004B 7900 20 MOV R1,#0
21
22 ;下面进行串口设置
004D 759850 23 MOV SCON,#50H ;串口工作在方式1下,允许接收;0101 0000
0050 758700 24 MOV PCON,#00H ;SMOD=0
25
26 ;下面使用定时器1进行串行口的波特率的设定
0053 758920 27 MOV TMOD,#20H ;定时器1工作在方式2,即自动重装载模式;0010 0000
0056 758BF4 28 MOV TL1,#0F4H ;(晶体为11.0592MHz)波特率为2400
0059 758DF4 29 MOV TH1,#0F4H
005C D28E 30 SETB TR1
31
005E D2AF 32 SETB EA
0060 D2AC 33 SETB ES
34
0062 C2D5 35 LOOP: CLR F0
0064 E9 36 MOV A,R1
0065 93 37 MOVC A,@A+DPTR
0066 F599 38 MOV SBUF,A
0068 30D5FD 39 JNB F0,$
006B 1186 40 ACALL DELAY160MS
006D 09 41 INC R1
006E B908F1 42 CJNE R1,#8,LOOP
0071 7900 43 MOV R1,#0
0073 0162 44 AJMP LOOP
45
0075 46 PCOM_INT: PUSH A
*** ___________________________________________^
*** ERROR #A22 IN 46 (pwm.a, LINE 46): EXPRESSION TYPE DOES NOT MATCH INSTRUCTION
0075 309904 47 JNB TI,NEXT
0078 C299 48 CLR TI
007A 0185 49 AJMP EXIT
007C D2D5 50 NEXT: SETB F0
007E E599 51 MOV A,SBUF
0080 787C 52 MOV R0,#PA8255
0082 F2 53 MOVX @R0,A
0083 C298 54 CLR RI
0085 55 EXIT:POP A
*** __________________________________________^
A51 MACRO ASSEMBLER PWM 12/23/2008 15:14:13 PAGE 2
*** ERROR #A22 IN 55 (pwm.a, LINE 55): EXPRESSION TYPE DOES NOT MATCH INSTRUCTION
0085 32 56 RETI
57
0086 7FC8 58 DELAY160MS: MOV R7,#200
0088 7EC8 59 DEL: MOV R6,#200
008A 7D02 60 DEL1: MOV R5,#2
008C DDFE 61 DJNZ R5,$
008E DEFA 62 DJNZ R6,DEL1
0090 DFF6 63 DJNZ R7,DEL
0092 22 64 RET
65
0093 FEFDFBF7 66 TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH ;LED1-LED8 TURN ON
0097 EFDFBF7F
67 end
A51 MACRO ASSEMBLER PWM 12/23/2008 15:14:13 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
CTL8255. . . . . . N NUMB 007FH A
DEL. . . . . . . . C ADDR 0088H A
DEL1 . . . . . . . C ADDR 008AH A
DELAY160MS . . . . C ADDR 0086H A
EA . . . . . . . . B ADDR 00A8H.7 A
ES . . . . . . . . B ADDR 00A8H.4 A
EXIT . . . . . . . C ADDR 0085H A
F0 . . . . . . . . B ADDR 00D0H.5 A
LOOP . . . . . . . C ADDR 0062H A
MODE8255 . . . . . N NUMB 0080H A
NEXT . . . . . . . C ADDR 007CH A
PA8255 . . . . . . N NUMB 007CH A
PB8255 . . . . . . N NUMB 007DH A
PC8255 . . . . . . N NUMB 007EH A
PCOM_INT . . . . . C ADDR 0075H A
PCON . . . . . . . D ADDR 0087H A
RI . . . . . . . . B ADDR 0098H.0 A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0040H A
TAB. . . . . . . . C ADDR 0093H A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL1. . . . . . . . D ADDR 008BH A
TMOD . . . . . . . D ADDR 0089H A
TR1. . . . . . . . B ADDR 0088H.6 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 2 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -