; generated by Component: ARM Compiler 5.05 update 2 (build 169) Tool: ArmCC [4d0f38]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\vkl092q_i2c.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\vkl092q_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 -IC:\Users\Administator\Desktop\͹ϵ_VKL\VKL\VKL092Q_TESTCODE\project\VKL092Q_FUNC\Keil\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Include -D__UVISION_VERSION=515 -D_RTE_ --omf_browse=.\obj\vkl092q_i2c.crf ..\lcd_driver\VKL092Q_I2C.c]
                          THUMB

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

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

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

                  WriteCmdVKL092Q PROC
;;;74     *******************************************************************************/
;;;75     void  WriteCmdVKL092Q(unsigned char cmd)
000034  b501              PUSH     {r0,lr}
;;;76     {
;;;77     	VKL092Q_I2C_Cmd(&cmd,1);
000036  2101              MOVS     r1,#1
000038  4668              MOV      r0,sp
00003a  f7fffffe          BL       VKL092Q_I2C_Cmd
;;;78     }
00003e  bd08              POP      {r3,pc}
;;;79     /*******************************************************************************
                          ENDP

                  WritenDataVKL092Q PROC
;;;87     *******************************************************************************/
;;;88     void  WritenDataVKL092Q(unsigned char Addr,unsigned char *Databuf,unsigned char cnt)
000040  b570              PUSH     {r4-r6,lr}
;;;89     {
000042  4604              MOV      r4,r0
000044  460d              MOV      r5,r1
000046  4616              MOV      r6,r2
;;;90     	VKL092Q_I2C_WRDat(Addr,Databuf,cnt);
000048  4632              MOV      r2,r6
00004a  4629              MOV      r1,r5
00004c  4620              MOV      r0,r4
00004e  f7fffffe          BL       VKL092Q_I2C_WRDat
;;;91     }
000052  bd70              POP      {r4-r6,pc}
;;;92     
                          ENDP

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

                  VKL092Q_DisAll PROC
;;;114    *******************************************************************************/
;;;115    void VKL092Q_DisAll(unsigned char dat)
00006a  b570              PUSH     {r4-r6,lr}
;;;116    {
00006c  4605              MOV      r5,r0
;;;117    	unsigned char segi;
;;;118    	
;;;119    	for(segi=0;segi<16;segi++)
00006e  2400              MOVS     r4,#0
000070  e003              B        |L1.122|
                  |L1.114|
;;;120    	{
;;;121    		VKL092Q_dispram[segi]=dat;
000072  48ac              LDR      r0,|L1.804|
000074  5505              STRB     r5,[r0,r4]
000076  1c60              ADDS     r0,r4,#1              ;119
000078  b2c4              UXTB     r4,r0                 ;119
                  |L1.122|
00007a  2c10              CMP      r4,#0x10              ;119
00007c  dbf9              BLT      |L1.114|
;;;122    	}
;;;123    	WritenDataVKL092Q(0,VKL092Q_dispram,16);	//8bitݶӦ2SEGÿ4bitݵַ1ÿ8λ1ACK
00007e  2210              MOVS     r2,#0x10
000080  49a8              LDR      r1,|L1.804|
000082  2000              MOVS     r0,#0
000084  f7fffffe          BL       WritenDataVKL092Q
;;;124    }
000088  bd70              POP      {r4-r6,pc}
;;;125    /*******************************************************************************
                          ENDP

                  VKL092Q_DisDotOn PROC
;;;132    *******************************************************************************/
;;;133    void VKL092Q_DisDotOn(unsigned char seg,unsigned char com)
00008a  b5f8              PUSH     {r3-r7,lr}
;;;134    {
00008c  4604              MOV      r4,r0
00008e  460d              MOV      r5,r1
;;;135    	unsigned char addrbyte,addrbit,tempdat;
;;;136    	
;;;137    	//com/segӦʾRAMַbit
;;;138    	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
;;;139    	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|
;;;140    		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|
;;;141    	else
;;;142    		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|
;;;143    	tempdat=VKL092Q_dispram[seg/2]|addrbit;
0000b8  4620              MOV      r0,r4
0000ba  eb0471d0          ADD      r1,r4,r0,LSR #31
0000be  1049              ASRS     r1,r1,#1
0000c0  4a98              LDR      r2,|L1.804|
0000c2  5c51              LDRB     r1,[r2,r1]
0000c4  4331              ORRS     r1,r1,r6
0000c6  9100              STR      r1,[sp,#0]
;;;144    	VKL092Q_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  4b94              LDR      r3,|L1.804|
0000d4  5499              STRB     r1,[r3,r2]
;;;145    	WritenDataVKL092Q(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       WritenDataVKL092Q
;;;146    }
0000e0  bdf8              POP      {r3-r7,pc}
;;;147    /*******************************************************************************
                          ENDP

                  VKL092Q_DisDotOff PROC
;;;154    *******************************************************************************/
;;;155    void VKL092Q_DisDotOff(unsigned char seg,unsigned char com)
0000e2  b5f8              PUSH     {r3-r7,lr}
;;;156    {
0000e4  4604              MOV      r4,r0
0000e6  460d              MOV      r5,r1
;;;157    	unsigned char addrbyte,addrbit,tempdat;
;;;158    	
;;;159    	//com/segӦʾRAMַbit
;;;160    	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
;;;161    	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|
;;;162    		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|
;;;163    	else
;;;164    		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|
;;;165    	tempdat=VKL092Q_dispram[seg/2]&(~addrbit);
000110  4620              MOV      r0,r4
000112  eb0471d0          ADD      r1,r4,r0,LSR #31
000116  1049              ASRS     r1,r1,#1
000118  4a82              LDR      r2,|L1.804|
00011a  5c51              LDRB     r1,[r2,r1]
00011c  43b1              BICS     r1,r1,r6
00011e  9100              STR      r1,[sp,#0]
;;;166    	VKL092Q_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  4b7e              LDR      r3,|L1.804|
00012c  5499              STRB     r1,[r3,r2]
;;;167    	WritenDataVKL092Q(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       WritenDataVKL092Q
;;;168    }
000138  bdf8              POP      {r3-r7,pc}
;;;169    /*******************************************************************************
                          ENDP

                  VKL092Q_Enter_PowerOff PROC
;;;175    *******************************************************************************/
;;;176    unsigned char VKL092Q_Enter_PowerOff(void)
00013a  b510              PUSH     {r4,lr}
;;;177    {		
;;;178    	WriteCmdVKL092Q(VKL092Q_LCD_OFF);	//ʾ
00013c  20c0              MOVS     r0,#0xc0
00013e  f7fffffe          BL       WriteCmdVKL092Q
;;;179    	return 0;
000142  2000              MOVS     r0,#0
;;;180    }
000144  bd10              POP      {r4,pc}
;;;181    /*******************************************************************************
                          ENDP

                  VKL092Q_InitSequence PROC
;;;203    *******************************************************************************/
;;;204    unsigned char VKL092Q_InitSequence(void)
000146  b508              PUSH     {r3,lr}
;;;205    {			
;;;206    	unsigned char  cmdbuf[3];
;;;207      //ϵʼʱ򣨲οֲϵ縴λʱͼͲ	
;;;208    	//ϵ100uSʼ
;;;209      Delay_nuS(100);       
000148  2064              MOVS     r0,#0x64
00014a  f7fffffe          BL       Delay_nuS
;;;210    	//STOPź
;;;211    //	I2C_STOP(I2C0);
;;;212    	//ϵͳ(λ)
;;;213    	cmdbuf[0]=VKL092Q_SOFTRST;
00014e  20ea              MOVS     r0,#0xea
000150  f88d0000          STRB     r0,[sp,#0]
;;;214    	//ʾ(֡Ƶģʽʽ)ΪʵƷֵο
;;;215    	//cmdbuf[1]=(VKL092Q_FR80HZ|VKL092Q_SRNOR|VKL092Q_LINER);  	//ϵĬ 	VDD=5V:18.2uA  	VDD=3.3V:13uA
;;;216    	cmdbuf[1]=(VKL092Q_FR53HZ|VKL092Q_SRPM1|VKL092Q_FRAMER);  //ʡ 		VDD=5V:9.1uA  VDD=3.3V:6.8uA
000154  20bc              MOVS     r0,#0xbc
000156  f88d0001          STRB     r0,[sp,#1]
;;;217    	//cmdbuf[1]=(VKL092Q_FR80HZ|VKL092Q_SRHP|VKL092Q_LINER);  	// 			VDD=5V:20uA  	VDD=3.3V:15uA 
;;;218      //ģʽ
;;;219    	cmdbuf[2]=(VKL092Q_BIAS_1_3|VKL092Q_LCD_ON);		//1/3bias,ʾ 
00015a  20c8              MOVS     r0,#0xc8
00015c  f88d0002          STRB     r0,[sp,#2]
;;;220    	//cmdbuf[2]=(VKL092Q_BIAS_1_2|VKL092Q_LCD_ON);		//1/2bias,ʾ 
;;;221    	VKL092Q_I2C_Cmd(cmdbuf,3);
000160  2103              MOVS     r1,#3
000162  4668              MOV      r0,sp
000164  f7fffffe          BL       VKL092Q_I2C_Cmd
;;;222    		
;;;223      return  0; 
000168  2000              MOVS     r0,#0
;;;224    }
00016a  bd08              POP      {r3,pc}
;;;225    /*******************************************************************************
                          ENDP

                  VKL092Q_Exit_PowerOff PROC
;;;187    *******************************************************************************/
;;;188    unsigned char VKL092Q_Exit_PowerOff(void)
00016c  b510              PUSH     {r4,lr}
;;;189    {	
;;;190    	unsigned char errorflag; 
;;;191    	
;;;192    	//˳ģʽ³ʼʱ
;;;193    	errorflag=VKL092Q_InitSequence();
00016e  f7fffffe          BL       VKL092Q_InitSequence
000172  4604              MOV      r4,r0
;;;194    	
;;;195      return(errorflag);
000174  4620              MOV      r0,r4
;;;196    }
000176  bd10              POP      {r4,pc}
;;;197    /*******************************************************************************
                          ENDP

                  VKL092Q_Lowlevel_Init PROC
;;;231    *******************************************************************************/
;;;232    void VKL092Q_Lowlevel_Init(void)
000178  b510              PUSH     {r4,lr}
;;;233    {
;;;234    	//ͨߵƽͬӵƽת·
;;;235    	//˺ݿͻƬӦ޸	
;;;236    	GPIO_SetMode(VKL092Q_SCL_PORT, VKL092Q_SCL_PIN, GPIO_MODE_OUTPUT);
00017a  2201              MOVS     r2,#1
00017c  03d1              LSLS     r1,r2,#15
00017e  486a              LDR      r0,|L1.808|
000180  f7fffffe          BL       GPIO_SetMode
;;;237    	GPIO_SetMode(VKL092Q_SDA_PORT, VKL092Q_SDA_PIN, GPIO_MODE_QUASI);
000184  2203              MOVS     r2,#3
000186  2120              MOVS     r1,#0x20
000188  4867              LDR      r0,|L1.808|
00018a  f7fffffe          BL       GPIO_SetMode
;;;238    	
;;;239      //I2C߿Ϊߵƽ	
;;;240    	VKL092Q_SCL_H();  
00018e  2001              MOVS     r0,#1
000190  4966              LDR      r1,|L1.812|
000192  6008              STR      r0,[r1,#0]
;;;241    	VKL092Q_SDA_H(); 	
000194  4965              LDR      r1,|L1.812|
000196  3928              SUBS     r1,r1,#0x28
000198  6008              STR      r0,[r1,#0]
;;;242    }
00019a  bd10              POP      {r4,pc}
;;;243    /*******************************************************************************
                          ENDP

                  VKL092Q_Init PROC
;;;249    *******************************************************************************/
;;;250    void VKL092Q_Init(void)
00019c  b510              PUSH     {r4,lr}
;;;251    {	
;;;252    	//ܽøݿͻƬӦ޸
;;;253    	VKL092Q_Lowlevel_Init();
00019e  f7fffffe          BL       VKL092Q_Lowlevel_Init
;;;254    	//ʼʱ
;;;255    	VKL092Q_InitSequence();
0001a2  f7fffffe          BL       VKL092Q_InitSequence
;;;256    }
0001a6  bd10              POP      {r4,pc}
;;;257    /*******************************************************************************
                          ENDP

                  VKL092Q_Main PROC
;;;263    *******************************************************************************/
;;;264    void VKL092Q_Main(void)
0001a8  f7fffffe          BL       VKL092Q_Init
;;;265    {	
;;;266    	VKL092Q_Init();
;;;267    	
;;;268    	//ѡⲿʱ(OSCI)ƵΪ32KHz(ʵ֡ƵƵ)
;;;269    	//WriteCmdVKL092Q(VKL092Q_EXTCLK); //ʾַʱVKL092Q_ADDRWR5bit0һҪ1
;;;270    	
;;;271    	//˸
;;;272    	//WriteCmdVKL092Q(VKL092Q_BLKCTL_05HZ); //˸Ƶ0.5Hz
;;;273    	//WriteCmdVKL092Q(VKL092Q_BLKCTL_1HZ); 	//˸Ƶ1Hz
;;;274    	WriteCmdVKL092Q(VKL092Q_BLKCTL_2HZ); 	//˸Ƶ2Hz
0001ac  20f3              MOVS     r0,#0xf3
0001ae  f7fffffe          BL       WriteCmdVKL092Q
;;;275    	//WriteCmdVKL092Q(VKL092Q_BLKCTL_OFF);	//˸ر
;;;276    	
;;;277    	//ȫǿƿ
;;;278    	WriteCmdVKL092Q(VKL092Q_APCTL_ALLON2);	
0001b2  20fe              MOVS     r0,#0xfe
0001b4  f7fffffe          BL       WriteCmdVKL092Q
;;;279    	Delay_nmS(3000);					//ʱ
0001b8  f64030b8          MOV      r0,#0xbb8
0001bc  f7fffffe          BL       Delay_nmS
;;;280    	//ȫǿƹ
;;;281    	WriteCmdVKL092Q(VKL092Q_APCTL_ALLOFF1);
0001c0  20fd              MOVS     r0,#0xfd
0001c2  f7fffffe          BL       WriteCmdVKL092Q
;;;282    	Delay_nmS(1000);					//ʱ
0001c6  f44f707a          MOV      r0,#0x3e8
0001ca  f7fffffe          BL       Delay_nmS
;;;283    	
;;;284    	//ȫǿȡ,ָ
;;;285    	WriteCmdVKL092Q(VKL092Q_APCTL_NORMAL);
0001ce  20fc              MOVS     r0,#0xfc
0001d0  f7fffffe          BL       WriteCmdVKL092Q
;;;286    	WriteCmdVKL092Q(VKL092Q_BLKCTL_OFF);	//˸ر
0001d4  20f0              MOVS     r0,#0xf0
0001d6  f7fffffe          BL       WriteCmdVKL092Q
;;;287    	
;;;288    	VKL092Q_DisAll(0x00);
0001da  2000              MOVS     r0,#0
0001dc  f7fffffe          BL       VKL092Q_DisAll
;;;289    	while(1)
0001e0  e09e              B        |L1.800|
                  |L1.482|
;;;290    	{		
;;;291    		//LCDȫ
;;;292    		VKL092Q_DisAll(0xFF);			
0001e2  20ff              MOVS     r0,#0xff
0001e4  f7fffffe          BL       VKL092Q_DisAll
;;;293    		Delay_nmS(3000);					//ʱ
0001e8  f64030b8          MOV      r0,#0xbb8
0001ec  f7fffffe          BL       Delay_nmS
;;;294    		
;;;295    		//LCDȫ
;;;296    		VKL092Q_DisAll(0x00);			
0001f0  2000              MOVS     r0,#0
0001f2  f7fffffe          BL       VKL092Q_DisAll
;;;297    		Delay_nmS(3000);					//ʱ
0001f6  f64030b8          MOV      r0,#0xbb8
0001fa  f7fffffe          BL       Delay_nmS
;;;298    	
;;;299    		//LCD
;;;300    		VKL092Q_DisAll(0x55);		
0001fe  2055              MOVS     r0,#0x55
000200  f7fffffe          BL       VKL092Q_DisAll
;;;301    		ReadnDataVKL092Q(0,VKL092Q_readbuf,16);	//RAM
000204  2210              MOVS     r2,#0x10
000206  494a              LDR      r1,|L1.816|
000208  2000              MOVS     r0,#0
00020a  f7fffffe          BL       ReadnDataVKL092Q
;;;302    		Delay_nmS(1500);					//ʱ
00020e  f24050dc          MOV      r0,#0x5dc
000212  f7fffffe          BL       Delay_nmS
;;;303    		VKL092Q_DisAll(0xAA);			
000216  20aa              MOVS     r0,#0xaa
000218  f7fffffe          BL       VKL092Q_DisAll
;;;304    		ReadnDataVKL092Q(0,VKL092Q_readbuf,16);	//RAM
00021c  2210              MOVS     r2,#0x10
00021e  4944              LDR      r1,|L1.816|
000220  2000              MOVS     r0,#0
000222  f7fffffe          BL       ReadnDataVKL092Q
;;;305    		Delay_nmS(1500);					//ʱ
000226  f24050dc          MOV      r0,#0x5dc
00022a  f7fffffe          BL       Delay_nmS
;;;306    		
;;;307    		//
;;;308    		VKL092Q_DisAll(0x00);			//LCDȫ		
00022e  2000              MOVS     r0,#0
000230  f7fffffe          BL       VKL092Q_DisAll
;;;309    		VKL092Q_Enter_PowerOff();	//ģʽ
000234  f7fffffe          BL       VKL092Q_Enter_PowerOff
;;;310    		Delay_nmS(5000);					//ʱ5S		
000238  f2413088          MOV      r0,#0x1388
00023c  f7fffffe          BL       Delay_nmS
;;;311    		VKL092Q_Exit_PowerOff();	//˳ģʽ
000240  f7fffffe          BL       VKL092Q_Exit_PowerOff
;;;312    				
;;;313    		//LCD
;;;314    		VKL092Q_DisAll(0x00);			//LCDȫ
000244  2000              MOVS     r0,#0
000246  f7fffffe          BL       VKL092Q_DisAll
;;;315    		Delay_nmS(500);						//ʱ
00024a  f44f70fa          MOV      r0,#0x1f4
00024e  f7fffffe          BL       Delay_nmS
;;;316    		for(VKL092Q_segi=0;VKL092Q_segi<23;VKL092Q_segi++)//seg0-30
000252  2000              MOVS     r0,#0
000254  4937              LDR      r1,|L1.820|
000256  7008              STRB     r0,[r1,#0]
000258  e025              B        |L1.678|
                  |L1.602|
;;;317    		{
;;;318    			for(VKL092Q_comi=0;VKL092Q_comi<4;VKL092Q_comi++)//com0-3
00025a  2000              MOVS     r0,#0
00025c  4936              LDR      r1,|L1.824|
00025e  7008              STRB     r0,[r1,#0]
000260  e018              B        |L1.660|
                  |L1.610|
;;;319    			{
;;;320    				VKL092Q_DisDotOn(VKL092Q_segtab[VKL092Q_segi],VKL092Q_comi);		//LCD
000262  4936              LDR      r1,|L1.828|
000264  4a33              LDR      r2,|L1.820|
000266  7812              LDRB     r2,[r2,#0]  ; VKL092Q_segi
000268  5c88              LDRB     r0,[r1,r2]
00026a  4933              LDR      r1,|L1.824|
00026c  7809              LDRB     r1,[r1,#0]  ; VKL092Q_comi
00026e  f7fffffe          BL       VKL092Q_DisDotOn
;;;321    				Delay_nmS(300);				//ʱ
000272  f44f7096          MOV      r0,#0x12c
000276  f7fffffe          BL       Delay_nmS
;;;322    				VKL092Q_DisDotOff(VKL092Q_segtab[VKL092Q_segi],VKL092Q_comi);		//ϵʵֵδ˳
00027a  4930              LDR      r1,|L1.828|
00027c  4a2d              LDR      r2,|L1.820|
00027e  7812              LDRB     r2,[r2,#0]  ; VKL092Q_segi
000280  5c88              LDRB     r0,[r1,r2]
000282  492d              LDR      r1,|L1.824|
000284  7809              LDRB     r1,[r1,#0]  ; VKL092Q_comi
000286  f7fffffe          BL       VKL092Q_DisDotOff
00028a  482b              LDR      r0,|L1.824|
00028c  7800              LDRB     r0,[r0,#0]            ;318  ; VKL092Q_comi
00028e  1c40              ADDS     r0,r0,#1              ;318
000290  4929              LDR      r1,|L1.824|
000292  7008              STRB     r0,[r1,#0]            ;318
                  |L1.660|
000294  4828              LDR      r0,|L1.824|
000296  7800              LDRB     r0,[r0,#0]            ;318  ; VKL092Q_comi
000298  2804              CMP      r0,#4                 ;318
00029a  dbe2              BLT      |L1.610|
00029c  4825              LDR      r0,|L1.820|
00029e  7800              LDRB     r0,[r0,#0]            ;316  ; VKL092Q_segi
0002a0  1c40              ADDS     r0,r0,#1              ;316
0002a2  4924              LDR      r1,|L1.820|
0002a4  7008              STRB     r0,[r1,#0]            ;316
                  |L1.678|
0002a6  4823              LDR      r0,|L1.820|
0002a8  7800              LDRB     r0,[r0,#0]            ;316  ; VKL092Q_segi
0002aa  2817              CMP      r0,#0x17              ;316
0002ac  dbd5              BLT      |L1.602|
;;;323    			}
;;;324    		}
;;;325    		
;;;326    		//LCDر
;;;327    		VKL092Q_DisAll(0xff);			//LCDȫ
0002ae  20ff              MOVS     r0,#0xff
0002b0  f7fffffe          BL       VKL092Q_DisAll
;;;328    		Delay_nmS(500);						//ʱ
0002b4  f44f70fa          MOV      r0,#0x1f4
0002b8  f7fffffe          BL       Delay_nmS
;;;329    		for(VKL092Q_segi=0;VKL092Q_segi<32;VKL092Q_segi++)//seg0-30
0002bc  2000              MOVS     r0,#0
0002be  491d              LDR      r1,|L1.820|
0002c0  7008              STRB     r0,[r1,#0]
0002c2  e025              B        |L1.784|
                  |L1.708|
;;;330    		{
;;;331    			for(VKL092Q_comi=0;VKL092Q_comi<4;VKL092Q_comi++)//com0-3
0002c4  2000              MOVS     r0,#0
0002c6  491c              LDR      r1,|L1.824|
0002c8  7008              STRB     r0,[r1,#0]
0002ca  e018              B        |L1.766|
                  |L1.716|
;;;332    			{
;;;333    				VKL092Q_DisDotOff(VKL092Q_segtab[VKL092Q_segi],VKL092Q_comi);		//LCDر
0002cc  491b              LDR      r1,|L1.828|
0002ce  4a19              LDR      r2,|L1.820|
0002d0  7812              LDRB     r2,[r2,#0]  ; VKL092Q_segi
0002d2  5c88              LDRB     r0,[r1,r2]
0002d4  4918              LDR      r1,|L1.824|
0002d6  7809              LDRB     r1,[r1,#0]  ; VKL092Q_comi
0002d8  f7fffffe          BL       VKL092Q_DisDotOff
;;;334    				Delay_nmS(300);				//ʱ
0002dc  f44f7096          MOV      r0,#0x12c
0002e0  f7fffffe          BL       Delay_nmS
;;;335    				VKL092Q_DisDotOn(VKL092Q_segtab[VKL092Q_segi],VKL092Q_comi);		//ϵرպʵֵرգδ˳ر
0002e4  4915              LDR      r1,|L1.828|
0002e6  4a13              LDR      r2,|L1.820|
0002e8  7812              LDRB     r2,[r2,#0]  ; VKL092Q_segi
0002ea  5c88              LDRB     r0,[r1,r2]
0002ec  4912              LDR      r1,|L1.824|
0002ee  7809              LDRB     r1,[r1,#0]  ; VKL092Q_comi
0002f0  f7fffffe          BL       VKL092Q_DisDotOn
0002f4  4810              LDR      r0,|L1.824|
0002f6  7800              LDRB     r0,[r0,#0]            ;331  ; VKL092Q_comi
0002f8  1c40              ADDS     r0,r0,#1              ;331
0002fa  490f              LDR      r1,|L1.824|
0002fc  7008              STRB     r0,[r1,#0]            ;331
                  |L1.766|
0002fe  480e              LDR      r0,|L1.824|
000300  7800              LDRB     r0,[r0,#0]            ;331  ; VKL092Q_comi
000302  2804              CMP      r0,#4                 ;331
000304  dbe2              BLT      |L1.716|
000306  480b              LDR      r0,|L1.820|
000308  7800              LDRB     r0,[r0,#0]            ;329  ; VKL092Q_segi
00030a  1c40              ADDS     r0,r0,#1              ;329
00030c  4909              LDR      r1,|L1.820|
00030e  7008              STRB     r0,[r1,#0]            ;329
                  |L1.784|
000310  4808              LDR      r0,|L1.820|
000312  7800              LDRB     r0,[r0,#0]            ;329  ; VKL092Q_segi
000314  2820              CMP      r0,#0x20              ;329
000316  dbd5              BLT      |L1.708|
;;;336    			}
;;;337    		}		
;;;338    		Delay_nmS(1000);					//ʱ
000318  f44f707a          MOV      r0,#0x3e8
00031c  f7fffffe          BL       Delay_nmS
                  |L1.800|
000320  e75f              B        |L1.482|
;;;339    	}
;;;340    }
;;;341    /************************END OF FILE****/
                          ENDP

000322  0000              DCW      0x0000
                  |L1.804|
                          DCD      VKL092Q_dispram
                  |L1.808|
                          DCD      0x40004040
                  |L1.812|
                          DCD      0x4000487c
                  |L1.816|
                          DCD      VKL092Q_readbuf
                  |L1.820|
                          DCD      VKL092Q_segi
                  |L1.824|
                          DCD      VKL092Q_comi
                  |L1.828|
                          DCD      VKL092Q_segtab

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

                  VKL092Q_dispram
                          %        12
                  VKL092Q_readbuf
                          %        12

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

                  VKL092Q_segi
000000  00                DCB      0x00
                  VKL092Q_comi
000001  00                DCB      0x00
                  VKL092Q_segtab
000002  0001              DCB      0x00,0x01
000004  02030405          DCB      0x02,0x03,0x04,0x05
000008  06070809          DCB      0x06,0x07,0x08,0x09
00000c  12131415          DCB      0x12,0x13,0x14,0x15
000010  16171819          DCB      0x16,0x17,0x18,0x19
000014  1a1b1c1d          DCB      0x1a,0x1b,0x1c,0x1d
000018  1e                DCB      0x1e

;*** Start embedded assembler ***

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

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
