📄 串口实验程序乙.lst
字号:
8051 Assembler Version 1.00 12/31/101 04:27:34 Page 1
H:\89s52编程器实验板\新板 ASM程序中级\串口实验程序\串口实验程序乙.a51
1 0000 ORG 0000h
2 0000 0130 AJMP start
3 0003 ORG 0003H ;INT0
4 000B ORG 000BH ;T0 INT
5 0013 ORG 0013H ;1NT1
6 001B ORG 001BH ;T1 INT
7 0023 ORG 0023H ;S PORT INT
8 0023 02006C LJMP RECIVE
9 002B ORG 002BH ;T2 INT
10 002B ;=====================================
11 0030 ORG 0030H
12 0030 start:
13 0030 787F MOV R0,#07FH
14 0032 7400 MOV A, #00H
15 0034 CLE0FFH:
16 0034 F6 MOV @R0,A
17 0035 D8FD DJNZ R0,CLE0FFH
18 0037
19 0037 758170 MOV SP,#70h
20 003A 758000 MOV P0,#00H
21 003D 759000 MOV P1,#00H
22 0040 75A000 MOV P2,#00H
23 0043 75B000 MOV P3,#00H
24 0046 7D80 MOV R5,#80H
25 0048 900197 MOV DPTR,#DONG0
26 004B 12018C LCALL MOVWORD
27 004E
28 004E 758920 MOV TMOD,#20h
29 0051 758700 MOV PCON,#00h
30 0054 758BFD MOV TL1,#0FDh
31 0057 758DFD MOV TH1,#0FDh
32 005A D2AF SETB EA
33 005C D28E SETB TR1
34 005E D2AC SETB ES
35 0060 759870 MOV SCON,#70h
36 0063
37 0063 ;====================================
38 0063 00 AGAIN: NOP
39 0064 12010C LCALL BGN
40 0067 120096 LCALL KEYSCAN
41 006A 0163 AJMP AGAIN
42 006C ;====================================
43 006C 00 RECIVE: NOP
44 006D C0E0 PUSH A
45 006F C0D0 PUSH PSW
46 0071 75D008 MOV PSW,#08H
47 0074 C298 CLR RI
48 0076 E599 MOV A,SBUF
49 0078 B4AA16 CJNE A,#0AAH,RECIOUT
50 007B 3098FD RECWAI0:JNB RI,RECWAI0
51 007E A899 MOV R0,SBUF
52 0080 C298 CLR RI
53 0082 7F20 MOV R7,#32
54 0084 00 RECWAI: NOP
55 0085 3098FC JNB RI,RECWAI
56 0088 C298 CLR RI
57 008A A699 MOV @R0,SBUF
8051 Assembler Version 1.00 12/31/101 04:27:34 Page 2
H:\89s52编程器实验板\新板 ASM程序中级\串口实验程序\串口实验程序乙.a51
58 008C 08 INC R0
59 008D DFF5 DJNZ R7,RECWAI
60 008F C298 CLR RI
61 0091 RECIOUT:
62 0091 D0D0 POP PSW
63 0093 D0E0 POP A
64 0095 32 RETI
65 0096 ;1. -----------------------------------------------------------------
66 0096 ;KEYSCAN:
67 0096 ; KEY SCAN SUBRUTIN
68 0096 ;
69 0096 ; 1. 8032 P1 PORT PIN DEFINITION
70 0096 ; P3.2== THE 1 WORD
71 0096 ; P3.5== THE 2 WORD
72 0096 ; P3.6== THE 3 WORD
73 0096 ; P3.7== THE 4 WORD
74 0096 ;--------------------------------------------------------------------
75 0096 00 KEYSCAN:NOP
76 0097 D2B2 SETB P3.2
77 0099 20B20F JB P3.2,KEY1
78 009C 120182 LCALL delay ;DELAY 60mS
79 009F 20B209 JB P3.2,KEY1
80 00A2 900197 MOV DPTR,#DONG0
81 00A5 75F080 MOV B,#080H
82 00A8 0200E4 LJMP WORDSED
83 00AB
84 00AB KEY1: ;CLR P3.2
85 00AB D2B7 SETB P3.7
86 00AD 20B70F JB P3.7,KEY2
87 00B0 120182 LCALL delay ;DELAY 60mS
88 00B3 20B709 JB P3.7,KEY2
89 00B6 9001B7 MOV DPTR,#DONG1
90 00B9 75F0A0 MOV B,#0A0H
91 00BC 0200E4 LJMP WORDSED
92 00BF
93 00BF KEY2: ;CLR P3.5
94 00BF D2B6 SETB P3.6
95 00C1 20B60F JB P3.6,KEY3
96 00C4 120182 LCALL delay ;DELAY 60mS
97 00C7 20B609 JB P3.6,KEY3
98 00CA 9001D7 MOV DPTR,#DONG2
99 00CD 75F0C0 MOV B,#0C0H
100 00D0 0200E4 LJMP WORDSED
101 00D3
102 00D3 KEY3: ;CLR P3.6
103 00D3 D2B5 SETB P3.5
104 00D5 20B531 JB P3.5,KEYSOUT
105 00D8 120182 LCALL delay ;DELAY 60mS
106 00DB 20B52B JB P3.5,KEYSOUT
107 00DE 9001F7 MOV DPTR,#DONG3
108 00E1 75F0E0 MOV B,#0E0H
109 00E4
110 00E4 WORDSED:
111 00E4 C2AC CLR ES
112 00E6 7599AA MOV SBUF,#0AAH
113 00E9 3099FD WAIT0: JNB TI,WAIT0
114 00EC C299 CLR TI
8051 Assembler Version 1.00 12/31/101 04:27:34 Page 3
H:\89s52编程器实验板\新板 ASM程序中级\串口实验程序\串口实验程序乙.a51
115 00EE 85F099 MOV SBUF,B
116 00F1 3099FD WAIT1: JNB TI,WAIT1
117 00F4 7F20 MOV R7,#32
118 00F6 7400 MOV A,#0
119 00F8 C299 SEND0: CLR TI
120 00FA C0E0 PUSH A
121 00FC 93 MOVC A,@A+DPTR
122 00FD F599 MOV SBUF,A
123 00FF 3099FD WAIT2: JNB TI,WAIT2
124 0102 D0E0 POP A
125 0104 04 INC A
126 0105 DFF1 DJNZ R7,SEND0
127 0107 C299 CLR TI
128 0109
129 0109 D2AC KEYSOUT:SETB ES
130 010B ;CLR P3.5
131 010B 22 RET
132 010C ;--------------------------------------------------------------------
133 010C
134 010C ;------------------------------------
135 010C BGN:
136 010C 0D INC R5
137 010D 0D INC R5
138 010E BD0002 CJNE R5,#0,CCC
139 0111 7D80 MOV R5,#80H
140 0113 CCC:
141 0113 7C03 MOV R4,#03H ;每帧显示次数
142 0115 BGN0:
143 0115 ED MOV A,R5 ;每帧起始位置
144 0116 F8 MOV R0,A
145 0117 ; MOV P3,#00H
146 0117 ; MOV R1,#01h
147 0117 75B0FF MOV P3,#0FFH
148 011A 79FE MOV R1,#0FEh
149 011C D3 SETB C
150 011D BGN1:
151 011D E6 MOV A,@R0
152 011E F4 CPL A
153 011F F580 MOV P0,A ;80h,A
154 0121 08 INC R0
155 0122 E6 MOV A,@R0
156 0123 F4 CPL A
157 0124 F5A0 MOV P2,A ;0a0h,A
158 0126 08 INC R0
159 0127 B80005 CJNE R0,#0,AAA0
160 012A 7880 MOV R0,#80H
161 012C 020140 LJMP AAA
162 012F AAA0:
163 012F ED MOV A,R5
164 0130 2420 ADD A,#32
165 0132 B48000 CJNE A,#128,AAA1
166 0135 5002 AAA1: JNC AAA2
167 0137 2480 ADD A,#128
168 0139 AAA2:
169 0139 882E MOV 2EH,R0
170 013B B52E02 CJNE A,2EH,AAA
171 013E ED MOV A,R5
8051 Assembler Version 1.00 12/31/101 04:27:34 Page 4
H:\89s52编程器实验板\新板 ASM程序中级\串口实验程序\串口实验程序乙.a51
172 013F F8 MOV R0,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -