⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inwear.txt

📁 uc/os在lpc2100系列的KEIL模板 uc/os在lpc2100系列的real view模板 uc/os在lpc210X系列的real view模板
💻 TXT
📖 第 1 页 / 共 5 页
字号:

                  DelayNS PROC
;;;409    
;;;410       for(; dly>0; dly--) 
000238  e3500000          CMP      r0,#0
00023c  0a000006          BEQ      |L1.604|
                  |L1.576|
;;;411          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              ;410
000254  e3500000          CMP      r0,#0                 ;410
000258  1afffff8          BNE      |L1.576|
                  |L1.604|
;;;412    }
00025c  e12fff1e          BX       lr
;;;413        
                          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
;;;397    void  Task1(void *pdata)
;;;398    {
000360  e92d4070          PUSH     {r4-r6,lr}
;;;399        pdata = pdata;                                                  /* 避免编译警告 */
;;;400        IOSET=4;
000364  e59f50f8          LDR      r5,|L1.1124|
000368  e3a04004          MOV      r4,#4
00036c  e5854004          STR      r4,[r5,#4]
;;;401        OSTimeDly(3);
000370  e3a00003          MOV      r0,#3
000374  ebfffffe          BL       OSTimeDly
;;;402        Uart_Printf("123456789abc");
000378  e28f00e8          ADR      r0,|L1.1128|
00037c  ebfffffe          BL       Uart_Printf
;;;403        IOCLR=4;
000380  e585400c          STR      r4,[r5,#0xc]
;;;404        OSTimeDly(3);
000384  e8bd4070          POP      {r4-r6,lr}
000388  e3a00003          MOV      r0,#3
00038c  eafffffe          B        OSTimeDly
;;;405    }
;;;406    
                          ENDP

                  TaskStart PROC
;;;326            void  TaskStart(void *pdata)
;;;327    {
000390  e92d4070          PUSH     {r4-r6,lr}
;;;328        pdata = pdata;                                                  /* 避免编译警告 */
;;;329    
;;;330        TargetInit();                                                   /* 目标板初始化 */
000394  ebfffffe          BL       TargetInit
;;;331    #if 0
;;;332    	printf("test");
;;;333        PINSEL0 = (PINSEL0 & 0xffffcfff & 0xfffffcff);       /* 管教选择模块初始化 0.6	0.4*/
;;;334        PINSEL1 = (PINSEL1 & 0xf3ffffff);					     /* 管教选择模块初始化 	0.29*/
;;;335        IODIR = LCD_IOCON;
;;;336       
;;;337        OSTimeDly(20);
;;;338        LCD_INIT();
;;;339        LCD_CLS();
;;;340        
;;;341        for (;;)
;;;342        {
;;;343            uint8 i,j;
;;;344    		LCD_CLS();
;;;345            j = 0x30; 
;;;346           // ASCLL 
;;;347            LCD_WRI(0x80);
;;;348            OSTimeDly(2);             
;;;349            for (i = 0;i < 64;i++)
;;;350                {
;;;351    					LCD_WRD(j);
;;;352    					j++;
;;;353                }
;;;354             OSTimeDly(100);
;;;355            LCD_CLS();
;;;356          // 字  
;;;357          	
;;;358            j = 0xa1;
;;;359            LCD_WRI(0x80);
;;;360            OSTimeDly(2);         
;;;361            for (i = 0;i < 64;i++)
;;;362                {
;;;363    					LCD_WRD(0xb7);
;;;364    					LCD_WRD(j);
;;;365    					j++;
;;;366                }
;;;367            OSTimeDly(100);
;;;368            LCD_CLS();       
;;;369          // 图形
;;;370           
;;;371          for (i = 0;i < 10;i++)          
;;;372    	     {
;;;373    	        LCD_GRP( get_string_num(3));
;;;374    	        OSTimeDly(500);
;;;375    	        LCD_GRP( get_string_num(1));
;;;376    	        OSTimeDly(500);
;;;377         
;;;378         	 }	
;;;379    	        LCD_CLS();   
;;;380        }
;;;381    #else
;;;382    PINSEL0 = (PINSEL0 & 0xffffff0f);
000398  e59f00d8          LDR      r0,|L1.1144|
00039c  e5901000          LDR      r1,[r0,#0]
0003a0  e3c110f0          BIC      r1,r1,#0xf0
0003a4  e5801000          STR      r1,[r0,#0]
;;;383    PINSEL1 = (PINSEL1 & 0xffffff0f);
0003a8  e5901004          LDR      r1,[r0,#4]
0003ac  e3c110f0          BIC      r1,r1,#0xf0
0003b0  e5801004          STR      r1,[r0,#4]
;;;384    IODIR=0x0c;
0003b4  e59f50a8          LDR      r5,|L1.1124|
0003b8  e3a0000c          MOV      r0,#0xc
0003bc  e5850008          STR      r0,[r5,#8]
;;;385    UartInit(0, 115200);
0003c0  e59f10b4          LDR      r1,|L1.1148|
0003c4  e3a00000          MOV      r0,#0
0003c8  ebfffffe          BL       UartInit
;;;386    OSTaskCreate(Task1, (void *)0, &TaskStk2[TASK_STK_SIZE - 1], 1);
0003cc  e59f20ac          LDR      r2,|L1.1152|
0003d0  e3a03001          MOV      r3,#1
0003d4  e3a01000          MOV      r1,#0
0003d8  e24f0080          ADR      r0,Task1
0003dc  ebfffffe          BL       OSTaskCreate
;;;387    while(1)
0003e0  e3a04008          MOV      r4,#8
                  |L1.996|
;;;388    {	
;;;389    	
;;;390    	IOSET=8;
0003e4  e5854004          STR      r4,[r5,#4]
;;;391    	OSTimeDly(2);
0003e8  e3a00002          MOV      r0,#2
0003ec  ebfffffe          BL       OSTimeDly
;;;392    	IOCLR=8;
0003f0  e585400c          STR      r4,[r5,#0xc]
;;;393    	OSTimeDly(2);
0003f4  e3a00002          MOV      r0,#2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -