main.txt
来自「uc/os在lpc2100系列的KEIL模板 uc/os在lpc2100系列的」· 文本 代码 · 共 554 行 · 第 1/2 页
TXT
554 行
00023c 0a000006 BEQ |L1.604|
|L1.576|
;;;134 for(i=0; i<100; i++);
000240 e3a01000 MOV r1,#0
|L1.580|
000244 e2811001 ADD r1,r1,#1
000248 e3510064 CMP r1,#0x64
00024c 3afffffc BCC |L1.580|
000250 e2400001 SUB r0,r0,#1 ;133
000254 e3500000 CMP r0,#0 ;133
000258 1afffff8 BNE |L1.576|
|L1.604|
;;;135 }
00025c e12fff1e BX lr
;;;136
ENDP
LCD_GRP PROC
;;;114 void LCD_GRP(uint8 const *string_num)
;;;115 {
000260 e92d41f0 PUSH {r4-r8,lr}
000264 e1a04000 MOV r4,r0
;;;116 uint8 i,j,k;
;;;117 uint16 l;
;;;118 // uint8 const *p = chartab1;
;;;119
;;;120 k = 0x80;
000268 e3a07080 MOV r7,#0x80
;;;121 l = 0;
;;;122 LCD_WRI(0x32);
00026c e3a00032 MOV r0,#0x32
000270 ebfffffe BL LCD_WRI
;;;123 OSTimeDly(2);
000274 e3a00002 MOV r0,#2
000278 ebfffffe BL OSTimeDly
;;;124 LCD_WRI(0x36);
00027c e3a00036 MOV r0,#0x36
000280 ebfffffe BL LCD_WRI
;;;125 OSTimeDly(2);
000284 e3a00002 MOV r0,#2
000288 ebfffffe BL OSTimeDly
;;;126
;;;127
;;;128 // 上半屏
;;;129 for (i = 0;i < 32;i++)
00028c e3a06000 MOV r6,#0
|L1.656|
;;;130 {
;;;131 LCD_WRI(k);
000290 e1a00007 MOV r0,r7
000294 ebfffffe BL LCD_WRI
;;;132 DelayNS(2);
000298 e3a00002 MOV r0,#2
00029c ebfffffe BL DelayNS
;;;133 k++;
0002a0 e2870001 ADD r0,r7,#1
0002a4 e20070ff AND r7,r0,#0xff
;;;134 LCD_WRI(0x80);
0002a8 e3a00080 MOV r0,#0x80
0002ac ebfffffe BL LCD_WRI
;;;135 DelayNS(2);
0002b0 e3a00002 MOV r0,#2
0002b4 ebfffffe BL DelayNS
;;;136 for (j = 0;j < 16;j++)
0002b8 e3a05000 MOV r5,#0
|L1.700|
;;;137 {
;;;138 LCD_WRD(*string_num);
0002bc e5d40000 LDRB r0,[r4,#0]
0002c0 ebfffffe BL LCD_WRD
;;;139 string_num++;
0002c4 e2844001 ADD r4,r4,#1
;;;140 DelayNS(1);;
0002c8 e3a00001 MOV r0,#1
0002cc ebfffffe BL DelayNS
0002d0 e2850001 ADD r0,r5,#1 ;136
0002d4 e20050ff AND r5,r0,#0xff ;136
0002d8 e3550010 CMP r5,#0x10 ;136
0002dc 3afffff6 BCC |L1.700|
0002e0 e2860001 ADD r0,r6,#1 ;129
0002e4 e20060ff AND r6,r0,#0xff ;129
0002e8 e3560020 CMP r6,#0x20 ;129
0002ec 3affffe7 BCC |L1.656|
;;;141 l++;
;;;142 }
;;;143
;;;144
;;;145 }
;;;146
;;;147 // 下半屏
;;;148 k = 0x80;
0002f0 e3a07080 MOV r7,#0x80
;;;149
;;;150 for (i = 0;i < 32;i++)
0002f4 e3a06000 MOV r6,#0
|L1.760|
;;;151 {
;;;152 LCD_WRI(k);
0002f8 e1a00007 MOV r0,r7
0002fc ebfffffe BL LCD_WRI
;;;153 DelayNS(2);
000300 e3a00002 MOV r0,#2
000304 ebfffffe BL DelayNS
;;;154 k++;
000308 e2870001 ADD r0,r7,#1
00030c e20070ff AND r7,r0,#0xff
;;;155 LCD_WRI(0x88);
000310 e3a00088 MOV r0,#0x88
000314 ebfffffe BL LCD_WRI
;;;156 DelayNS(2);
000318 e3a00002 MOV r0,#2
00031c ebfffffe BL DelayNS
;;;157 for (j = 0;j < 16;j++)
000320 e3a05000 MOV r5,#0
|L1.804|
;;;158 {
;;;159 LCD_WRD(*string_num);
000324 e5d40000 LDRB r0,[r4,#0]
000328 ebfffffe BL LCD_WRD
;;;160 string_num++;
00032c e2844001 ADD r4,r4,#1
;;;161 DelayNS(1);
000330 e3a00001 MOV r0,#1
000334 ebfffffe BL DelayNS
000338 e2850001 ADD r0,r5,#1 ;157
00033c e20050ff AND r5,r0,#0xff ;157
000340 e3550010 CMP r5,#0x10 ;157
000344 3afffff6 BCC |L1.804|
000348 e2860001 ADD r0,r6,#1 ;150
00034c e20060ff AND r6,r0,#0xff ;150
000350 e3560020 CMP r6,#0x20 ;150
000354 3affffe7 BCC |L1.760|
;;;162 l++;
;;;163 }
;;;164
;;;165
;;;166 }
;;;167
;;;168
;;;169
;;;170 }
000358 e8bd41f0 POP {r4-r8,lr}
00035c e12fff1e BX lr
;;;53
ENDP
Task1 PROC
;;;120 void Task1(void *pdata)
;;;121 {
000360 e92d4070 PUSH {r4-r6,lr}
;;;122 pdata = pdata; /* 避免编译警告 */
;;;123 IOSET=4;
000364 e59f50c0 LDR r5,|L1.1068|
000368 e3a04004 MOV r4,#4
00036c e5854004 STR r4,[r5,#4]
;;;124 OSTimeDly(3);
000370 e3a00003 MOV r0,#3
000374 ebfffffe BL OSTimeDly
;;;125 Uart_Printf("123456789abc");
000378 e28f00b0 ADR r0,|L1.1072|
00037c ebfffffe BL Uart_Printf
;;;126 IOCLR=4;
000380 e585400c STR r4,[r5,#0xc]
;;;127 OSTimeDly(3);
000384 e8bd4070 POP {r4-r6,lr}
000388 e3a00003 MOV r0,#3
00038c eafffffe B OSTimeDly
;;;128 }
;;;129
ENDP
TaskStart PROC
;;;101 void TaskStart(void *pdata)
;;;102 {
000390 e92d4070 PUSH {r4-r6,lr}
;;;103 pdata = pdata; /* 避免编译警告 */
;;;104
;;;105 TargetInit(); /* 目标板初始化 */
000394 ebfffffe BL TargetInit
;;;106 PINSEL0 = (PINSEL0 & 0xffffff0f);
000398 e59f00a0 LDR r0,|L1.1088|
00039c e5901000 LDR r1,[r0,#0]
0003a0 e3c110f0 BIC r1,r1,#0xf0
0003a4 e5801000 STR r1,[r0,#0]
;;;107 PINSEL1 = (PINSEL1 & 0xffffff0f);
0003a8 e5901004 LDR r1,[r0,#4]
0003ac e3c110f0 BIC r1,r1,#0xf0
0003b0 e5801004 STR r1,[r0,#4]
;;;108 IODIR=0x0c;
0003b4 e59f5070 LDR r5,|L1.1068|
0003b8 e3a0000c MOV r0,#0xc
0003bc e5850008 STR r0,[r5,#8]
;;;109 UartInit(0, 115200);
0003c0 e59f107c LDR r1,|L1.1092|
0003c4 e3a00000 MOV r0,#0
0003c8 ebfffffe BL UartInit
;;;110 OSTaskCreate(Task1, (void *)0, &TaskStk2[TASK_STK_SIZE - 1], 1);
0003cc e59f2074 LDR r2,|L1.1096|
0003d0 e3a03001 MOV r3,#1
0003d4 e3a01000 MOV r1,#0
0003d8 e24f0080 ADR r0,Task1
0003dc ebfffffe BL OSTaskCreate
;;;111 while(1)
0003e0 e3a04008 MOV r4,#8
|L1.996|
;;;112 {
;;;113
;;;114 IOSET=8;
0003e4 e5854004 STR r4,[r5,#4]
;;;115 OSTimeDly(2);
0003e8 e3a00002 MOV r0,#2
0003ec ebfffffe BL OSTimeDly
;;;116 IOCLR=8;
0003f0 e585400c STR r4,[r5,#0xc]
;;;117 OSTimeDly(2);
0003f4 e3a00002 MOV r0,#2
0003f8 ebfffffe BL OSTimeDly
0003fc eafffff8 B |L1.996|
;;;118 }
;;;119 }
;;;120 void Task1(void *pdata)
ENDP
main PROC
;;;72 int main (void)
;;;73 {
000400 e92d4010 PUSH {r4,lr}
;;;74 OSInit();
000404 ebfffffe BL OSInit
;;;75
;;;76 OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
000408 e3a03000 MOV r3,#0
00040c e59f2038 LDR r2,|L1.1100|
000410 e1a01003 MOV r1,r3
000414 e24f008c ADR r0,TaskStart
000418 ebfffffe BL OSTaskCreate
;;;77 OSStart();
00041c ebfffffe BL OSStart
;;;78 return 0;
000420 e8bd4010 POP {r4,lr}
000424 e3a00000 MOV r0,#0
;;;79 }
000428 e12fff1e BX lr
;;;80
ENDP
|L1.1068|
00042c e0028000 DCD 0xe0028000
|L1.1072|
000430 31323334 DCB "1234"
000434 35363738 DCB "5678"
000438 39616263 DCB "9abc"
00043c 00000000 DCB "\0\0\0\0"
|L1.1088|
000440 e002c000 DCD 0xe002c000
|L1.1092|
000444 0001c200 DCD 0x0001c200
|L1.1096|
000448 000001fc DCD ||.bss||+0x1fc
|L1.1100|
00044c 000000fc DCD ||.bss||+0xfc
AREA ||.bss||, DATA, NOINIT, ALIGN=2
TaskStartStk
% 256
TaskStk2
% 256
AREA |area_number.3|, DATA, NOINIT, ALIGN=2
EXPORTAS |area_number.3|, ||.bss||
TaskStk
% 256
__ARM_use_no_argv EQU 0
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?