📄 sccb.txt
字号:
;;;115 }
;;;116 else
;;;117 {
;;;118 SIO_D_CLR;
000158 4861 LDR r0,|L1.736|
00015a 6800 LDR r0,[r0,#0]
00015c f0200080 BIC r0,r0,#0x80
000160 495e LDR r1,|L1.732|
000162 f8c10c0c STR r0,[r1,#0xc0c]
|L1.358|
;;;119 }
;;;120 Delay_nUS(200);
000166 20c8 MOVS r0,#0xc8
000168 f7fffffe BL delay_us
;;;121 SIO_C_SET;
00016c 485c LDR r0,|L1.736|
00016e 6800 LDR r0,[r0,#0]
000170 f0400040 ORR r0,r0,#0x40
000174 4959 LDR r1,|L1.732|
000176 f8c10c0c STR r0,[r1,#0xc0c]
;;;122 Delay_nUS(200);
00017a f04f00c8 MOV r0,#0xc8
00017e f7fffffe BL delay_us
;;;123 SIO_C_CLR;
000182 4856 LDR r0,|L1.732|
000184 f8d00c0c LDR r0,[r0,#0xc0c]
000188 f0200040 BIC r0,r0,#0x40
00018c 4953 LDR r1,|L1.732|
00018e f8c10c0c STR r0,[r1,#0xc0c]
;;;124 Delay_nUS(200);
000192 20c8 MOVS r0,#0xc8
000194 f7fffffe BL delay_us
000198 1c60 ADDS r0,r4,#1 ;110
00019a b2c4 UXTB r4,r0 ;110
|L1.412|
00019c 2c08 CMP r4,#8 ;110
00019e dbce BLT |L1.318|
;;;125
;;;126 }
;;;127 Delay_nUS(200);
0001a0 20c8 MOVS r0,#0xc8
0001a2 f7fffffe BL delay_us
;;;128
;;;129 SIO_D_IN;/*设置SDA为输入*/
0001a6 484c LDR r0,|L1.728|
0001a8 6800 LDR r0,[r0,#0]
0001aa f0204070 BIC r0,r0,#0xf0000000
0001ae 494b LDR r1,|L1.732|
0001b0 f8c10c00 STR r0,[r1,#0xc00]
0001b4 4608 MOV r0,r1
0001b6 f8d00c00 LDR r0,[r0,#0xc00]
0001ba f0404000 ORR r0,r0,#0x80000000
0001be f8c10c00 STR r0,[r1,#0xc00]
0001c2 4608 MOV r0,r1
0001c4 f8d00c0c LDR r0,[r0,#0xc0c]
0001c8 f0400080 ORR r0,r0,#0x80
0001cc 4944 LDR r1,|L1.736|
0001ce 6008 STR r0,[r1,#0]
;;;130 Delay_nUS(200);
0001d0 f04f00c8 MOV r0,#0xc8
0001d4 f7fffffe BL delay_us
;;;131 SIO_C_SET;
0001d8 4840 LDR r0,|L1.732|
0001da f8d00c0c LDR r0,[r0,#0xc0c]
0001de f0400040 ORR r0,r0,#0x40
0001e2 493f LDR r1,|L1.736|
0001e4 6008 STR r0,[r1,#0]
;;;132 Delay_nMS(2);
0001e6 f04f0002 MOV r0,#2
0001ea f7fffffe BL delay_ms
;;;133 if(SIO_D_STATE)
0001ee 483d LDR r0,|L1.740|
0001f0 6800 LDR r0,[r0,#0]
0001f2 f0000080 AND r0,r0,#0x80
0001f6 2880 CMP r0,#0x80
0001f8 d101 BNE |L1.510|
;;;134 {
;;;135 tem=0; //SDA=1发送失败,返回0
0001fa 2500 MOVS r5,#0
0001fc e000 B |L1.512|
|L1.510|
;;;136 }
;;;137 else
;;;138 {
;;;139 tem=1; //SDA=0发送成功,返回1
0001fe 2501 MOVS r5,#1
|L1.512|
;;;140 }
;;;141 SIO_C_CLR;
000200 4837 LDR r0,|L1.736|
000202 6800 LDR r0,[r0,#0]
000204 f0200040 BIC r0,r0,#0x40
000208 4934 LDR r1,|L1.732|
00020a f8c10c0c STR r0,[r1,#0xc0c]
;;;142 Delay_nUS(200);
00020e f04f00c8 MOV r0,#0xc8
000212 f7fffffe BL delay_us
;;;143 SIO_D_OUT;/*设置SDA为输出*/
000216 4831 LDR r0,|L1.732|
000218 f8d00c00 LDR r0,[r0,#0xc00]
00021c f0204070 BIC r0,r0,#0xf0000000
000220 492e LDR r1,|L1.732|
000222 f8c10c00 STR r0,[r1,#0xc00]
000226 4608 MOV r0,r1
000228 f8d00c00 LDR r0,[r0,#0xc00]
00022c f0405040 ORR r0,r0,#0x30000000
000230 f8c10c00 STR r0,[r1,#0xc00]
000234 4608 MOV r0,r1
000236 f8d00c0c LDR r0,[r0,#0xc0c]
00023a f0400080 ORR r0,r0,#0x80
00023e f8c10c0c STR r0,[r1,#0xc0c]
;;;144
;;;145 return(tem);
000242 4628 MOV r0,r5
;;;146 }
000244 bd70 POP {r4-r6,pc}
;;;147
ENDP
SCCBreadByte PROC
;;;154 */
;;;155 uchar SCCBreadByte(void)
000246 b570 PUSH {r4-r6,lr}
;;;156 {
;;;157 unsigned char read,j;
;;;158 read=0x00;
000248 2400 MOVS r4,#0
;;;159
;;;160 SIO_D_IN;/*设置SDA为输入*/
00024a 4823 LDR r0,|L1.728|
00024c 6800 LDR r0,[r0,#0]
00024e f0204070 BIC r0,r0,#0xf0000000
000252 4922 LDR r1,|L1.732|
000254 f8c10c00 STR r0,[r1,#0xc00]
000258 4608 MOV r0,r1
00025a f8d00c00 LDR r0,[r0,#0xc00]
00025e f0404000 ORR r0,r0,#0x80000000
000262 f8c10c00 STR r0,[r1,#0xc00]
000266 4608 MOV r0,r1
000268 f8d00c0c LDR r0,[r0,#0xc0c]
00026c f0400080 ORR r0,r0,#0x80
000270 f8c10c0c STR r0,[r1,#0xc0c]
;;;161 Delay_nUS(200);
000274 f04f00c8 MOV r0,#0xc8
000278 f7fffffe BL delay_us
;;;162 for(j=8;j>0;j--) //循环8次接收数据
00027c 2508 MOVS r5,#8
00027e e024 B |L1.714|
|L1.640|
;;;163 {
;;;164 Delay_nUS(200);
000280 20c8 MOVS r0,#0xc8
000282 f7fffffe BL delay_us
;;;165 SIO_C_SET;
000286 4816 LDR r0,|L1.736|
000288 6800 LDR r0,[r0,#0]
00028a f0400040 ORR r0,r0,#0x40
00028e 4913 LDR r1,|L1.732|
000290 f8c10c0c STR r0,[r1,#0xc0c]
;;;166 Delay_nUS(200);
000294 f04f00c8 MOV r0,#0xc8
000298 f7fffffe BL delay_us
;;;167 read=read<<1;
00029c 0660 LSLS r0,r4,#25
00029e 0e04 LSRS r4,r0,#24
;;;168 if(SIO_D_STATE)
0002a0 4810 LDR r0,|L1.740|
0002a2 6800 LDR r0,[r0,#0]
0002a4 f0000080 AND r0,r0,#0x80
0002a8 2880 CMP r0,#0x80
0002aa d101 BNE |L1.688|
;;;169 {
;;;170 read=read+1;
0002ac 1c60 ADDS r0,r4,#1
0002ae b2c4 UXTB r4,r0
|L1.688|
;;;171 }
;;;172 SIO_C_CLR;
0002b0 480b LDR r0,|L1.736|
0002b2 6800 LDR r0,[r0,#0]
0002b4 f0200040 BIC r0,r0,#0x40
0002b8 4908 LDR r1,|L1.732|
0002ba f8c10c0c STR r0,[r1,#0xc0c]
;;;173 Delay_nUS(200);
0002be f04f00c8 MOV r0,#0xc8
0002c2 f7fffffe BL delay_us
0002c6 1e68 SUBS r0,r5,#1 ;162
0002c8 b2c5 UXTB r5,r0 ;162
|L1.714|
0002ca 2d00 CMP r5,#0 ;162
0002cc dcd8 BGT |L1.640|
;;;174 }
;;;175 return(read);
0002ce 4620 MOV r0,r4
;;;176 }
0002d0 bd70 POP {r4-r6,pc}
ENDP
0002d2 0000 DCW 0x0000
|L1.724|
DCD 0x40021000
|L1.728|
DCD 0x40010c00
|L1.732|
DCD 0x40010000
|L1.736|
DCD 0x40010c0c
|L1.740|
DCD 0x40010c08
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -