; generated by Component: ARM Compiler 5.05 update 2 (build 169) Tool: ArmCC [4d0f38]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\vkl144a_i2c.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\vkl144a_i2c.d --cpu=Cortex-M4.fp --apcs=interwork -O0 --diag_suppress=9931 -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\M451Series\Include -I..\..\..\Library\StdDriver\inc -I..\Bsp -I..\User -I..\lcd_driver -I..\exti_driver -I..\led_driver -I..\touch -I..\dotmatix_lcd -I..\KH -ID:\\A\LCD\͹ϵ_VKL\VKL\VKL144A_TESTCODE\project\VKL144_FUNC\Keil\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Include -D__UVISION_VERSION=515 -D_RTE_ --omf_browse=.\obj\vkl144a_i2c.crf ..\lcd_driver\VKL144A_I2C.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  Delay_nuS PROC
;;;36     *******************************************************************************/
;;;37     void Delay_nuS(unsigned int n)	   
000000  e007              B        |L1.18|
                  |L1.2|
;;;38     {
;;;39     	unsigned char i;
;;;40     	while(n--)
;;;41     	{
;;;42     		i=10;
000002  210a              MOVS     r1,#0xa
;;;43     		while(i--)
000004  e000              B        |L1.8|
                  |L1.6|
;;;44     		{//nopָݵƬӦ޸
;;;45     			__nop();
000006  bf00              NOP      
                  |L1.8|
000008  000a              MOVS     r2,r1                 ;43
00000a  f1a10301          SUB      r3,r1,#1              ;43
00000e  b2d9              UXTB     r1,r3                 ;43
000010  d1f9              BNE      |L1.6|
                  |L1.18|
000012  0002              MOVS     r2,r0                 ;40
000014  f1a00001          SUB      r0,r0,#1              ;40
000018  d1f3              BNE      |L1.2|
;;;46     		}
;;;47     	}
;;;48     }
00001a  4770              BX       lr
;;;49     /*******************************************************************************
                          ENDP

                  Delay_nmS PROC
;;;55     *******************************************************************************/
;;;56     void Delay_nmS(unsigned long int n)
00001c  b510              PUSH     {r4,lr}
;;;57     {
00001e  4604              MOV      r4,r0
;;;58     	while(n--)
000020  e003              B        |L1.42|
                  |L1.34|
;;;59     	{
;;;60     		Delay_nuS(1000);
000022  f44f707a          MOV      r0,#0x3e8
000026  f7fffffe          BL       Delay_nuS
                  |L1.42|
00002a  0020              MOVS     r0,r4                 ;58
00002c  f1a40401          SUB      r4,r4,#1              ;58
000030  d1f7              BNE      |L1.34|
;;;61     	}
;;;62     }
000032  bd10              POP      {r4,pc}
;;;63     /*******************************************************************************
                          ENDP

                  WriteCmdVKL144A PROC
;;;69     *******************************************************************************/
;;;70     void  WriteCmdVKL144A(unsigned char cmd)
000034  b501              PUSH     {r0,lr}
;;;71     {
;;;72     	VKL144A_I2C_Cmd(&cmd,1);
000036  2101              MOVS     r1,#1
000038  4668              MOV      r0,sp
00003a  f7fffffe          BL       VKL144A_I2C_Cmd
;;;73     }
00003e  bd08              POP      {r3,pc}
;;;74     /*******************************************************************************
                          ENDP

                  WritenDataVKL144A PROC
;;;82     *******************************************************************************/
;;;83     void  WritenDataVKL144A(unsigned char Addr,unsigned char *Databuf,unsigned char cnt)
000040  b570              PUSH     {r4-r6,lr}
;;;84     {
000042  4604              MOV      r4,r0
000044  460d              MOV      r5,r1
000046  4616              MOV      r6,r2
;;;85     	VKL144A_I2C_WRDat(Addr,Databuf,cnt);
000048  4632              MOV      r2,r6
00004a  4629              MOV      r1,r5
00004c  4620              MOV      r0,r4
00004e  f7fffffe          BL       VKL144A_I2C_WRDat
;;;86     }
000052  bd70              POP      {r4-r6,pc}
;;;87     
                          ENDP

                  ReadnDataVKL144A PROC
;;;96     *******************************************************************************/
;;;97     unsigned char  ReadnDataVKL144A(unsigned char Addr,unsigned char *Databuf,unsigned char Cnt)
000054  b570              PUSH     {r4-r6,lr}
;;;98     {
000056  4604              MOV      r4,r0
000058  460d              MOV      r5,r1
00005a  4616              MOV      r6,r2
;;;99     	VKL144A_I2C_RDDat(Addr,Databuf,Cnt);
00005c  4632              MOV      r2,r6
00005e  4629              MOV      r1,r5
000060  4620              MOV      r0,r4
000062  f7fffffe          BL       VKL144A_I2C_RDDat
;;;100    	return 0;
000066  2000              MOVS     r0,#0
;;;101    }
000068  bd70              POP      {r4-r6,pc}
;;;102    /*******************************************************************************
                          ENDP

                  VKL144A_DisAll PROC
;;;109    *******************************************************************************/
;;;110    void VKL144A_DisAll(unsigned char dat)
00006a  b570              PUSH     {r4-r6,lr}
;;;111    {
00006c  4605              MOV      r5,r0
;;;112    	unsigned char segi;
;;;113    	
;;;114    	for(segi=0;segi<18;segi++)
00006e  2400              MOVS     r4,#0
000070  e003              B        |L1.122|
                  |L1.114|
;;;115    	{
;;;116    		VKL144A_dispram[segi]=dat;
000072  48a5              LDR      r0,|L1.776|
000074  5505              STRB     r5,[r0,r4]
000076  1c60              ADDS     r0,r4,#1              ;114
000078  b2c4              UXTB     r4,r0                 ;114
                  |L1.122|
00007a  2c12              CMP      r4,#0x12              ;114
00007c  dbf9              BLT      |L1.114|
;;;117    	}
;;;118    	WritenDataVKL144A(0,VKL144A_dispram,18);	//8bitݶӦ2SEGÿ4bitݵַ1ÿ8λ1ACK
00007e  2212              MOVS     r2,#0x12
000080  49a1              LDR      r1,|L1.776|
000082  2000              MOVS     r0,#0
000084  f7fffffe          BL       WritenDataVKL144A
;;;119    }
000088  bd70              POP      {r4-r6,pc}
;;;120    /*******************************************************************************
                          ENDP

                  VKL144A_DisDotOn PROC
;;;127    *******************************************************************************/
;;;128    void VKL144A_DisDotOn(unsigned char seg,unsigned char com)
00008a  b5f8              PUSH     {r3-r7,lr}
;;;129    {
00008c  4604              MOV      r4,r0
00008e  460d              MOV      r5,r1
;;;130    	unsigned char addrbyte,addrbit,tempdat;
;;;131    	
;;;132    	//com/segӦʾRAMַbit
;;;133    	addrbyte=seg/2*2;
000090  4620              MOV      r0,r4
000092  eb0471d0          ADD      r1,r4,r0,LSR #31
000096  1049              ASRS     r1,r1,#1
000098  0649              LSLS     r1,r1,#25
00009a  0e0f              LSRS     r7,r1,#24
;;;134    	if((seg%2)==0)
00009c  eb0471d0          ADD      r1,r4,r0,LSR #31
0000a0  1049              ASRS     r1,r1,#1
0000a2  eba40141          SUB      r1,r4,r1,LSL #1
0000a6  b919              CBNZ     r1,|L1.176|
;;;135    		addrbit=(1<<com);
0000a8  2001              MOVS     r0,#1
0000aa  40a8              LSLS     r0,r0,r5
0000ac  b2c6              UXTB     r6,r0
0000ae  e003              B        |L1.184|
                  |L1.176|
;;;136    	else
;;;137    		addrbit=(1<<(4+com));
0000b0  1d28              ADDS     r0,r5,#4
0000b2  2101              MOVS     r1,#1
0000b4  4081              LSLS     r1,r1,r0
0000b6  b2ce              UXTB     r6,r1
                  |L1.184|
;;;138    	tempdat=VKL144A_dispram[seg/2]|addrbit;
0000b8  4620              MOV      r0,r4
0000ba  eb0471d0          ADD      r1,r4,r0,LSR #31
0000be  1049              ASRS     r1,r1,#1
0000c0  4a91              LDR      r2,|L1.776|
0000c2  5c51              LDRB     r1,[r2,r1]
0000c4  4331              ORRS     r1,r1,r6
0000c6  9100              STR      r1,[sp,#0]
;;;139    	VKL144A_dispram[seg/2]=tempdat;
0000c8  f89d1000          LDRB     r1,[sp,#0]
0000cc  eb0472d0          ADD      r2,r4,r0,LSR #31
0000d0  1052              ASRS     r2,r2,#1
0000d2  4b8d              LDR      r3,|L1.776|
0000d4  5499              STRB     r1,[r3,r2]
;;;140    	WritenDataVKL144A(addrbyte,&tempdat,1);		//8bitݶӦ2SEGseg/comӦbit17bitı
0000d6  2201              MOVS     r2,#1
0000d8  4669              MOV      r1,sp
0000da  4638              MOV      r0,r7
0000dc  f7fffffe          BL       WritenDataVKL144A
;;;141    }
0000e0  bdf8              POP      {r3-r7,pc}
;;;142    /*******************************************************************************
                          ENDP

                  VKL144A_DisDotOff PROC
;;;149    *******************************************************************************/
;;;150    void VKL144A_DisDotOff(unsigned char seg,unsigned char com)
0000e2  b5f8              PUSH     {r3-r7,lr}
;;;151    {
0000e4  4604              MOV      r4,r0
0000e6  460d              MOV      r5,r1
;;;152    	unsigned char addrbyte,addrbit,tempdat;
;;;153    	
;;;154    	//com/segӦʾRAMַbit
;;;155    	addrbyte=seg/2*2;
0000e8  4620              MOV      r0,r4
0000ea  eb0471d0          ADD      r1,r4,r0,LSR #31
0000ee  1049              ASRS     r1,r1,#1
0000f0  0649              LSLS     r1,r1,#25
0000f2  0e0f              LSRS     r7,r1,#24
;;;156    	if((seg%2)==0)
0000f4  eb0471d0          ADD      r1,r4,r0,LSR #31
0000f8  1049              ASRS     r1,r1,#1
0000fa  eba40141          SUB      r1,r4,r1,LSL #1
0000fe  b919              CBNZ     r1,|L1.264|
;;;157    		addrbit=(1<<com);
000100  2001              MOVS     r0,#1
000102  40a8              LSLS     r0,r0,r5
000104  b2c6              UXTB     r6,r0
000106  e003              B        |L1.272|
                  |L1.264|
;;;158    	else
;;;159    		addrbit=(1<<(4+com));
000108  1d28              ADDS     r0,r5,#4
00010a  2101              MOVS     r1,#1
00010c  4081              LSLS     r1,r1,r0
00010e  b2ce              UXTB     r6,r1
                  |L1.272|
;;;160    	tempdat=VKL144A_dispram[seg/2]&(~addrbit);
000110  4620              MOV      r0,r4
000112  eb0471d0          ADD      r1,r4,r0,LSR #31
000116  1049              ASRS     r1,r1,#1
000118  4a7b              LDR      r2,|L1.776|
00011a  5c51              LDRB     r1,[r2,r1]
00011c  43b1              BICS     r1,r1,r6
00011e  9100              STR      r1,[sp,#0]
;;;161    	VKL144A_dispram[seg/2]=tempdat;
000120  f89d1000          LDRB     r1,[sp,#0]
000124  eb0472d0          ADD      r2,r4,r0,LSR #31
000128  1052              ASRS     r2,r2,#1
00012a  4b77              LDR      r3,|L1.776|
00012c  5499              STRB     r1,[r3,r2]
;;;162    	WritenDataVKL144A(addrbyte,&tempdat,1);		//8bitݶӦ2SEGseg/comӦbit07bitı
00012e  2201              MOVS     r2,#1
000130  4669              MOV      r1,sp
000132  4638              MOV      r0,r7
000134  f7fffffe          BL       WritenDataVKL144A
;;;163    }
000138  bdf8              POP      {r3-r7,pc}
;;;164    /*******************************************************************************
                          ENDP

                  VKL144A_Enter_PowerOff PROC
;;;170    *******************************************************************************/
;;;171    unsigned char VKL144A_Enter_PowerOff(void)
00013a  b510              PUSH     {r4,lr}
;;;172    {		
;;;173    	WriteCmdVKL144A(VKL144A_LCD_OFF);	//ʾ
00013c  20c0              MOVS     r0,#0xc0
00013e  f7fffffe          BL       WriteCmdVKL144A
;;;174    	return 0;
000142  2000              MOVS     r0,#0
;;;175    }
000144  bd10              POP      {r4,pc}
;;;176    /*******************************************************************************
                          ENDP

                  VKL144A_InitSequence PROC
;;;198    *******************************************************************************/
;;;199    unsigned char VKL144A_InitSequence(void)
000146  b508              PUSH     {r3,lr}
;;;200    {			
;;;201    	unsigned char  cmdbuf[3];
;;;202      //ϵʼʱ򣨲οֲϵ縴λʱͼͲ	
;;;203    	//ϵ100uSʼ
;;;204      Delay_nuS(100);       
000148  2064              MOVS     r0,#0x64
00014a  f7fffffe          BL       Delay_nuS
;;;205    	//STOPź
;;;206    //	I2C_STOP(I2C0);
;;;207    	//ϵͳ(λ)
;;;208    	cmdbuf[0]=VKL144A_SOFTRST;
00014e  20ea              MOVS     r0,#0xea
000150  f88d0000          STRB     r0,[sp,#0]
;;;209    	//ʾ(֡Ƶģʽʽ)ΪʵƷֵο
;;;210    	//cmdbuf[1]=(VKL144A_FR80HZ|VKL144A_SRNOR|VKL144A_LINER);  	//ϵĬ 	VDD=5V:18.2uA  	VDD=3.3V:13uA
;;;211    	cmdbuf[1]=(VKL144A_FR53HZ|VKL144A_SRPM1|VKL144A_FRAMER);  //ʡ 		VDD=5V:9.1uA  VDD=3.3V:6.8uA
000154  20bc              MOVS     r0,#0xbc
000156  f88d0001          STRB     r0,[sp,#1]
;;;212    	//cmdbuf[1]=(VKL144A_FR80HZ|VKL144A_SRHP|VKL144A_LINER);  	// 			VDD=5V:20uA  	VDD=3.3V:15uA 
;;;213      //ģʽ
;;;214    	cmdbuf[2]=(VKL144A_BIAS_1_3|VKL144A_LCD_ON);		//1/3bias,ʾ 
00015a  20c8              MOVS     r0,#0xc8
00015c  f88d0002          STRB     r0,[sp,#2]
;;;215    	//cmdbuf[2]=(VKL144A_BIAS_1_2|VKL144A_LCD_ON);		//1/2bias,ʾ 
;;;216    	VKL144A_I2C_Cmd(cmdbuf,3);
000160  2103              MOVS     r1,#3
000162  4668              MOV      r0,sp
000164  f7fffffe          BL       VKL144A_I2C_Cmd
;;;217    		
;;;218      return  0; 
000168  2000              MOVS     r0,#0
;;;219    }
00016a  bd08              POP      {r3,pc}
;;;220    
                          ENDP

                  VKL144A_Exit_PowerOff PROC
;;;182    *******************************************************************************/
;;;183    unsigned char VKL144A_Exit_PowerOff(void)
00016c  b510              PUSH     {r4,lr}
;;;184    {	
;;;185    	unsigned char errorflag; 
;;;186    	
;;;187    	//˳ģʽ³ʼʱ
;;;188    	errorflag=VKL144A_InitSequence();
00016e  f7fffffe          BL       VKL144A_InitSequence
000172  4604              MOV      r4,r0
;;;189    	
;;;190      return(errorflag);
000174  4620              MOV      r0,r4
;;;191    }
000176  bd10              POP      {r4,pc}
;;;192    /*******************************************************************************
                          ENDP

                  VKL144A_Init PROC
;;;227    *******************************************************************************/
;;;228    void VKL144A_Init(void)
000178  b510              PUSH     {r4,lr}
;;;229    {	
;;;230    	//ʼʱ
;;;231    	VKL144A_InitSequence();
00017a  f7fffffe          BL       VKL144A_InitSequence
;;;232    }
00017e  bd10              POP      {r4,pc}
;;;233    /*******************************************************************************
                          ENDP

                  VKL144A_Main PROC
;;;239    *******************************************************************************/
;;;240    void VKL144A_Main(void)
000180  f7fffffe          BL       VKL144A_Init
;;;241    {	
;;;242    	VKL144A_Init();
;;;243    	
;;;244    	//ѡⲿʱ(OSCI)ƵΪ32KHz(ʵ֡ƵƵ)
;;;245    	//WriteCmdVKL144A(VKL144A_EXTCLK); //ʾַʱVKL144A_ADDRWR5bit0һҪ1
;;;246    	
;;;247    	//˸
;;;248    	//WriteCmdVKL144A(VKL144A_BLKCTL_05HZ); //˸Ƶ0.5Hz
;;;249    	//WriteCmdVKL144A(VKL144A_BLKCTL_1HZ); 	//˸Ƶ1Hz
;;;250    	WriteCmdVKL144A(VKL144A_BLKCTL_2HZ); 	//˸Ƶ2Hz
000184  20f3              MOVS     r0,#0xf3
000186  f7fffffe          BL       WriteCmdVKL144A
;;;251    	//WriteCmdVKL144A(VKL144A_BLKCTL_OFF);	//˸ر
;;;252    	
;;;253    	//ȫǿƿ
;;;254    	WriteCmdVKL144A(VKL144A_APCTL_ALLON2);	
00018a  20fe              MOVS     r0,#0xfe
00018c  f7fffffe          BL       WriteCmdVKL144A
;;;255    	Delay_nmS(3000);					//ʱ
000190  f64030b8          MOV      r0,#0xbb8
000194  f7fffffe          BL       Delay_nmS
;;;256    	//ȫǿƹ
;;;257    	WriteCmdVKL144A(VKL144A_APCTL_ALLOFF1);
000198  20fd              MOVS     r0,#0xfd
00019a  f7fffffe          BL       WriteCmdVKL144A
;;;258    	Delay_nmS(1000);					//ʱ
00019e  f44f707a          MOV      r0,#0x3e8
0001a2  f7fffffe          BL       Delay_nmS
;;;259    	
;;;260    	//ȫǿȡ,ָ
;;;261    	WriteCmdVKL144A(VKL144A_APCTL_NORMAL);
0001a6  20fc              MOVS     r0,#0xfc
0001a8  f7fffffe          BL       WriteCmdVKL144A
;;;262    	WriteCmdVKL144A(VKL144A_BLKCTL_OFF);	//˸ر
0001ac  20f0              MOVS     r0,#0xf0
0001ae  f7fffffe          BL       WriteCmdVKL144A
;;;263    	
;;;264    	VKL144A_DisAll(0x00);
0001b2  2000              MOVS     r0,#0
0001b4  f7fffffe          BL       VKL144A_DisAll
;;;265    	while(1)
0001b8  e0a4              B        |L1.772|
                  |L1.442|
;;;266    	{		
;;;267    		VKL144A_DisAll(0xFF);			
0001ba  20ff              MOVS     r0,#0xff
0001bc  f7fffffe          BL       VKL144A_DisAll
;;;268    		Delay_nmS(1000);					//ʱ
0001c0  f44f707a          MOV      r0,#0x3e8
0001c4  f7fffffe          BL       Delay_nmS
;;;269    		
;;;270    		//LCDȫ
;;;271    		VKL144A_DisAll(0x00);			
0001c8  2000              MOVS     r0,#0
0001ca  f7fffffe          BL       VKL144A_DisAll
;;;272    		Delay_nmS(1000);	
0001ce  f44f707a          MOV      r0,#0x3e8
0001d2  f7fffffe          BL       Delay_nmS
;;;273    		//LCDȫ
;;;274    		VKL144A_DisAll(0xFF);			
0001d6  20ff              MOVS     r0,#0xff
0001d8  f7fffffe          BL       VKL144A_DisAll
;;;275    		Delay_nmS(3000);					//ʱ
0001dc  f64030b8          MOV      r0,#0xbb8
0001e0  f7fffffe          BL       Delay_nmS
;;;276    		
;;;277    		//LCDȫ
;;;278    		VKL144A_DisAll(0x00);			
0001e4  2000              MOVS     r0,#0
0001e6  f7fffffe          BL       VKL144A_DisAll
;;;279    		Delay_nmS(3000);					//ʱ
0001ea  f64030b8          MOV      r0,#0xbb8
0001ee  f7fffffe          BL       Delay_nmS
;;;280    	
;;;281    		//LCD
;;;282    		VKL144A_DisAll(0x55);		
0001f2  2055              MOVS     r0,#0x55
0001f4  f7fffffe          BL       VKL144A_DisAll
;;;283    		ReadnDataVKL144A(0,VKL144A_readbuf,18);	//RAM
0001f8  2212              MOVS     r2,#0x12
0001fa  4944              LDR      r1,|L1.780|
0001fc  2000              MOVS     r0,#0
0001fe  f7fffffe          BL       ReadnDataVKL144A
;;;284    		Delay_nmS(1500);					//ʱ
000202  f24050dc          MOV      r0,#0x5dc
000206  f7fffffe          BL       Delay_nmS
;;;285    		VKL144A_DisAll(0xAA);			
00020a  20aa              MOVS     r0,#0xaa
00020c  f7fffffe          BL       VKL144A_DisAll
;;;286    		ReadnDataVKL144A(0,VKL144A_readbuf,18);	//RAM
000210  2212              MOVS     r2,#0x12
000212  493e              LDR      r1,|L1.780|
000214  2000              MOVS     r0,#0
000216  f7fffffe          BL       ReadnDataVKL144A
;;;287    		Delay_nmS(1500);					//ʱ
00021a  f24050dc          MOV      r0,#0x5dc
00021e  f7fffffe          BL       Delay_nmS
;;;288    		
;;;289    		//
;;;290    		VKL144A_DisAll(0x00);			//LCDȫ		
000222  2000              MOVS     r0,#0
000224  f7fffffe          BL       VKL144A_DisAll
;;;291    		VKL144A_Enter_PowerOff();	//ģʽ
000228  f7fffffe          BL       VKL144A_Enter_PowerOff
;;;292    		Delay_nmS(5000);					//ʱ5S		
00022c  f2413088          MOV      r0,#0x1388
000230  f7fffffe          BL       Delay_nmS
;;;293    		VKL144A_Exit_PowerOff();	//˳ģʽ
000234  f7fffffe          BL       VKL144A_Exit_PowerOff
;;;294    				
;;;295    		//LCD
;;;296    		VKL144A_DisAll(0x00);			//LCDȫ
000238  2000              MOVS     r0,#0
00023a  f7fffffe          BL       VKL144A_DisAll
;;;297    		Delay_nmS(500);						//ʱ
00023e  f44f70fa          MOV      r0,#0x1f4
000242  f7fffffe          BL       Delay_nmS
;;;298    		for(VKL144A_segi=0;VKL144A_segi<36;VKL144A_segi++)//seg0-35
000246  2000              MOVS     r0,#0
000248  4931              LDR      r1,|L1.784|
00024a  7008              STRB     r0,[r1,#0]
00024c  e021              B        |L1.658|
                  |L1.590|
;;;299    		{
;;;300    			for(VKL144A_comi=0;VKL144A_comi<4;VKL144A_comi++)//com0-3
00024e  2000              MOVS     r0,#0
000250  4930              LDR      r1,|L1.788|
000252  7008              STRB     r0,[r1,#0]
000254  e014              B        |L1.640|
                  |L1.598|
;;;301    			{
;;;302    				VKL144A_DisDotOn(VKL144A_segi,VKL144A_comi);		//LCD
000256  482f              LDR      r0,|L1.788|
000258  7801              LDRB     r1,[r0,#0]  ; VKL144A_comi
00025a  482d              LDR      r0,|L1.784|
00025c  7800              LDRB     r0,[r0,#0]  ; VKL144A_segi
00025e  f7fffffe          BL       VKL144A_DisDotOn
;;;303    				Delay_nmS(300);				//ʱ
000262  f44f7096          MOV      r0,#0x12c
000266  f7fffffe          BL       Delay_nmS
;;;304    				VKL144A_DisDotOff(VKL144A_segi,VKL144A_comi);		//ϵʵֵδ˳
00026a  482a              LDR      r0,|L1.788|
00026c  7801              LDRB     r1,[r0,#0]  ; VKL144A_comi
00026e  4828              LDR      r0,|L1.784|
000270  7800              LDRB     r0,[r0,#0]  ; VKL144A_segi
000272  f7fffffe          BL       VKL144A_DisDotOff
000276  4827              LDR      r0,|L1.788|
000278  7800              LDRB     r0,[r0,#0]            ;300  ; VKL144A_comi
00027a  1c40              ADDS     r0,r0,#1              ;300
00027c  4925              LDR      r1,|L1.788|
00027e  7008              STRB     r0,[r1,#0]            ;300
                  |L1.640|
000280  4824              LDR      r0,|L1.788|
000282  7800              LDRB     r0,[r0,#0]            ;300  ; VKL144A_comi
000284  2804              CMP      r0,#4                 ;300
000286  dbe6              BLT      |L1.598|
000288  4821              LDR      r0,|L1.784|
00028a  7800              LDRB     r0,[r0,#0]            ;298  ; VKL144A_segi
00028c  1c40              ADDS     r0,r0,#1              ;298
00028e  4920              LDR      r1,|L1.784|
000290  7008              STRB     r0,[r1,#0]            ;298
                  |L1.658|
000292  481f              LDR      r0,|L1.784|
000294  7800              LDRB     r0,[r0,#0]            ;298  ; VKL144A_segi
000296  2824              CMP      r0,#0x24              ;298
000298  dbd9              BLT      |L1.590|
;;;305    			}
;;;306    		}
;;;307    		
;;;308    		//LCDر
;;;309    		VKL144A_DisAll(0xff);			//LCDȫ
00029a  20ff              MOVS     r0,#0xff
00029c  f7fffffe          BL       VKL144A_DisAll
;;;310    		Delay_nmS(500);						//ʱ
0002a0  f44f70fa          MOV      r0,#0x1f4
0002a4  f7fffffe          BL       Delay_nmS
;;;311    		for(VKL144A_segi=0;VKL144A_segi<36;VKL144A_segi++)//seg0-35
0002a8  2000              MOVS     r0,#0
0002aa  4919              LDR      r1,|L1.784|
0002ac  7008              STRB     r0,[r1,#0]
0002ae  e021              B        |L1.756|
                  |L1.688|
;;;312    		{
;;;313    			for(VKL144A_comi=0;VKL144A_comi<4;VKL144A_comi++)//com0-3
0002b0  2000              MOVS     r0,#0
0002b2  4918              LDR      r1,|L1.788|
0002b4  7008              STRB     r0,[r1,#0]
0002b6  e014              B        |L1.738|
                  |L1.696|
;;;314    			{
;;;315    				VKL144A_DisDotOff(VKL144A_segi,VKL144A_comi);		//LCDر
0002b8  4816              LDR      r0,|L1.788|
0002ba  7801              LDRB     r1,[r0,#0]  ; VKL144A_comi
0002bc  4814              LDR      r0,|L1.784|
0002be  7800              LDRB     r0,[r0,#0]  ; VKL144A_segi
0002c0  f7fffffe          BL       VKL144A_DisDotOff
;;;316    				Delay_nmS(300);				//ʱ
0002c4  f44f7096          MOV      r0,#0x12c
0002c8  f7fffffe          BL       Delay_nmS
;;;317    				VKL144A_DisDotOn(VKL144A_segi,VKL144A_comi);		//ϵرպʵֵرգδ˳ر
0002cc  4811              LDR      r0,|L1.788|
0002ce  7801              LDRB     r1,[r0,#0]  ; VKL144A_comi
0002d0  480f              LDR      r0,|L1.784|
0002d2  7800              LDRB     r0,[r0,#0]  ; VKL144A_segi
0002d4  f7fffffe          BL       VKL144A_DisDotOn
0002d8  480e              LDR      r0,|L1.788|
0002da  7800              LDRB     r0,[r0,#0]            ;313  ; VKL144A_comi
0002dc  1c40              ADDS     r0,r0,#1              ;313
0002de  490d              LDR      r1,|L1.788|
0002e0  7008              STRB     r0,[r1,#0]            ;313
                  |L1.738|
0002e2  480c              LDR      r0,|L1.788|
0002e4  7800              LDRB     r0,[r0,#0]            ;313  ; VKL144A_comi
0002e6  2804              CMP      r0,#4                 ;313
0002e8  dbe6              BLT      |L1.696|
0002ea  4809              LDR      r0,|L1.784|
0002ec  7800              LDRB     r0,[r0,#0]            ;311  ; VKL144A_segi
0002ee  1c40              ADDS     r0,r0,#1              ;311
0002f0  4907              LDR      r1,|L1.784|
0002f2  7008              STRB     r0,[r1,#0]            ;311
                  |L1.756|
0002f4  4806              LDR      r0,|L1.784|
0002f6  7800              LDRB     r0,[r0,#0]            ;311  ; VKL144A_segi
0002f8  2824              CMP      r0,#0x24              ;311
0002fa  dbd9              BLT      |L1.688|
;;;318    			}
;;;319    		}		
;;;320    		Delay_nmS(1000);					//ʱ
0002fc  f44f707a          MOV      r0,#0x3e8
000300  f7fffffe          BL       Delay_nmS
                  |L1.772|
000304  e759              B        |L1.442|
;;;321    	}
;;;322    }
;;;323    /************************END OF FILE****/
                          ENDP

000306  0000              DCW      0x0000
                  |L1.776|
                          DCD      VKL144A_dispram
                  |L1.780|
                          DCD      VKL144A_readbuf
                  |L1.784|
                          DCD      VKL144A_segi
                  |L1.788|
                          DCD      VKL144A_comi

                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  VKL144A_dispram
                          %        18
                  VKL144A_readbuf
                          %        18

                          AREA ||.data||, DATA, ALIGN=0

                  VKL144A_segi
000000  00                DCB      0x00
                  VKL144A_comi
000001  00                DCB      0x00

;*** Start embedded assembler ***

#line 1 "..\\lcd_driver\\VKL144A_I2C.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___13_VKL144A_I2C_c_f70de489____REV16|
#line 114 "..\\..\\..\\Library\\CMSIS\\Include\\core_cmInstr.h"
|__asm___13_VKL144A_I2C_c_f70de489____REV16| PROC
#line 115

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___13_VKL144A_I2C_c_f70de489____REVSH|
#line 128
|__asm___13_VKL144A_I2C_c_f70de489____REVSH| PROC
#line 129

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
