; generated by Component: ARM Compiler 5.05 update 2 (build 169) Tool: ArmCC [4d0f38]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\vk0192_driver.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\vk0192_driver.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\׼ϵ_VK162X\׼ϵ\VK0192_TESTCODE\project\VK0192_FUNC\Keil\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Include -D__UVISION_VERSION=515 -D_RTE_ --omf_browse=.\obj\vk0192_driver.crf ..\lcd_driver\VK0192_driver.c]
                          THUMB

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

                  delay_nus PROC
;;;71     *******************************************************************************/
;;;72     void delay_nus(unsigned int n)	   
000000  e007              B        |L1.18|
                  |L1.2|
;;;73     {
;;;74     	unsigned char i;
;;;75     	while(n--)
;;;76     	{
;;;77     		i=10;
000002  210a              MOVS     r1,#0xa
;;;78     		while(i--)
000004  e000              B        |L1.8|
                  |L1.6|
;;;79     		{//nopָݵƬӦ޸
;;;80     			__nop();
000006  bf00              NOP      
                  |L1.8|
000008  000a              MOVS     r2,r1                 ;78
00000a  f1a10301          SUB      r3,r1,#1              ;78
00000e  b2d9              UXTB     r1,r3                 ;78
000010  d1f9              BNE      |L1.6|
                  |L1.18|
000012  0002              MOVS     r2,r0                 ;75
000014  f1a00001          SUB      r0,r0,#1              ;75
000018  d1f3              BNE      |L1.2|
;;;81     		}
;;;82     	}
;;;83     }
00001a  4770              BX       lr
;;;84     /*******************************************************************************
                          ENDP

                  delay_nms PROC
;;;90     *******************************************************************************/
;;;91     void delay_nms(unsigned long int n)
00001c  b510              PUSH     {r4,lr}
;;;92     {
00001e  4604              MOV      r4,r0
;;;93     	while(n--)
000020  e003              B        |L1.42|
                  |L1.34|
;;;94     	{
;;;95     		delay_nus(1000);
000022  f44f707a          MOV      r0,#0x3e8
000026  f7fffffe          BL       delay_nus
                  |L1.42|
00002a  0020              MOVS     r0,r4                 ;93
00002c  f1a40401          SUB      r4,r4,#1              ;93
000030  d1f7              BNE      |L1.34|
;;;96     	}
;;;97     }
000032  bd10              POP      {r4,pc}
;;;98     /*******************************************************************************
                          ENDP

                  WriteClockVk0192 PROC
;;;104    *******************************************************************************/
;;;105    void WriteClockVk0192(void)
000034  b500              PUSH     {lr}
;;;106    {
;;;107    	VK0192_WR_L(); 
000036  2000              MOVS     r0,#0
000038  49ab              LDR      r1,|L1.744|
00003a  6008              STR      r0,[r1,#0]
;;;108    	delay_nus(VK0192_CLK);
00003c  200a              MOVS     r0,#0xa
00003e  f7fffffe          BL       delay_nus
;;;109    	VK0192_WR_H();	
000042  2001              MOVS     r0,#1
000044  49a8              LDR      r1,|L1.744|
000046  6008              STR      r0,[r1,#0]
;;;110    	delay_nus(VK0192_CLK);	
000048  200a              MOVS     r0,#0xa
00004a  f7fffffe          BL       delay_nus
;;;111    }
00004e  bd00              POP      {pc}
;;;112    /*******************************************************************************
                          ENDP

                  WriteCommandVk0192 PROC
;;;118    *******************************************************************************/
;;;119    void WriteCommandVk0192(unsigned char FunctonCode)
000050  b570              PUSH     {r4-r6,lr}
;;;120    {
000052  4604              MOV      r4,r0
;;;121    	unsigned char Shift = 0x80; 
000054  2680              MOVS     r6,#0x80
;;;122    	unsigned char i;
;;;123    	
;;;124    	VK0192_CS_L();   //CS Ƭѡ   
000056  2000              MOVS     r0,#0
000058  49a3              LDR      r1,|L1.744|
00005a  3908              SUBS     r1,r1,#8
00005c  6008              STR      r0,[r1,#0]
;;;125    	delay_nus(VK0192_CLK/2);
00005e  2005              MOVS     r0,#5
000060  f7fffffe          BL       delay_nus
;;;126    	VK0192_DATA_H();  
000064  2001              MOVS     r0,#1
000066  49a0              LDR      r1,|L1.744|
000068  3928              SUBS     r1,r1,#0x28
00006a  6008              STR      r0,[r1,#0]
;;;127    	WriteClockVk0192();
00006c  f7fffffe          BL       WriteClockVk0192
;;;128    	VK0192_DATA_L();  
000070  2000              MOVS     r0,#0
000072  499d              LDR      r1,|L1.744|
000074  3928              SUBS     r1,r1,#0x28
000076  6008              STR      r0,[r1,#0]
;;;129    	WriteClockVk0192();
000078  f7fffffe          BL       WriteClockVk0192
;;;130    	VK0192_DATA_L();  
00007c  2000              MOVS     r0,#0
00007e  499a              LDR      r1,|L1.744|
000080  3928              SUBS     r1,r1,#0x28
000082  6008              STR      r0,[r1,#0]
;;;131    	WriteClockVk0192();
000084  f7fffffe          BL       WriteClockVk0192
;;;132    
;;;133    	for(i = 0; i < 8; i++) 
000088  2500              MOVS     r5,#0
00008a  e010              B        |L1.174|
                  |L1.140|
;;;134    	{
;;;135    	 if(Shift & FunctonCode) 	
00008c  ea060004          AND      r0,r6,r4
000090  b120              CBZ      r0,|L1.156|
;;;136    		 VK0192_DATA_H(); 
000092  2001              MOVS     r0,#1
000094  4994              LDR      r1,|L1.744|
000096  3928              SUBS     r1,r1,#0x28
000098  6008              STR      r0,[r1,#0]
00009a  e003              B        |L1.164|
                  |L1.156|
;;;137    	 else 
;;;138    		 VK0192_DATA_L();	  
00009c  2000              MOVS     r0,#0
00009e  4992              LDR      r1,|L1.744|
0000a0  3928              SUBS     r1,r1,#0x28
0000a2  6008              STR      r0,[r1,#0]
                  |L1.164|
;;;139    
;;;140    	 WriteClockVk0192();
0000a4  f7fffffe          BL       WriteClockVk0192
;;;141    	 Shift = Shift >> 1;
0000a8  1076              ASRS     r6,r6,#1
0000aa  1c68              ADDS     r0,r5,#1              ;133
0000ac  b2c5              UXTB     r5,r0                 ;133
                  |L1.174|
0000ae  2d08              CMP      r5,#8                 ;133
0000b0  dbec              BLT      |L1.140|
;;;142    	}
;;;143      VK0192_DATA_L(); 
0000b2  2000              MOVS     r0,#0
0000b4  498c              LDR      r1,|L1.744|
0000b6  3928              SUBS     r1,r1,#0x28
0000b8  6008              STR      r0,[r1,#0]
;;;144    	WriteClockVk0192();	//һ0һλ X
0000ba  f7fffffe          BL       WriteClockVk0192
;;;145      VK0192_CS_H(); 			//CS Ƭѡ  
0000be  2001              MOVS     r0,#1
0000c0  4989              LDR      r1,|L1.744|
0000c2  3908              SUBS     r1,r1,#8
0000c4  6008              STR      r0,[r1,#0]
;;;146    	delay_nus(VK0192_CLK/2);
0000c6  2005              MOVS     r0,#5
0000c8  f7fffffe          BL       delay_nus
;;;147      VK0192_DATA_H(); 
0000cc  2001              MOVS     r0,#1
0000ce  4986              LDR      r1,|L1.744|
0000d0  3928              SUBS     r1,r1,#0x28
0000d2  6008              STR      r0,[r1,#0]
;;;148    }
0000d4  bd70              POP      {r4-r6,pc}
;;;149    
                          ENDP

                  WritenDataVk0192 PROC
;;;158    *******************************************************************************/
;;;159    void WritenDataVk0192(unsigned char Addr,unsigned char *Databuf,unsigned char Cnt)
0000d6  e92d47f0          PUSH     {r4-r10,lr}
;;;160    {
0000da  4682              MOV      r10,r0
0000dc  460e              MOV      r6,r1
0000de  4690              MOV      r8,r2
;;;161    	unsigned char i,j; 
;;;162    	unsigned char Shift;
;;;163    	unsigned char dataval; 
;;;164    	
;;;165    	VK0192_CS_L();   //CS Ƭѡ 
0000e0  2000              MOVS     r0,#0
0000e2  4981              LDR      r1,|L1.744|
0000e4  3908              SUBS     r1,r1,#8
0000e6  6008              STR      r0,[r1,#0]
;;;166    	delay_nus(VK0192_CLK/2);
0000e8  2005              MOVS     r0,#5
0000ea  f7fffffe          BL       delay_nus
;;;167    
;;;168    	VK0192_DATA_H();  
0000ee  2001              MOVS     r0,#1
0000f0  497d              LDR      r1,|L1.744|
0000f2  3928              SUBS     r1,r1,#0x28
0000f4  6008              STR      r0,[r1,#0]
;;;169    	WriteClockVk0192();  //101
0000f6  f7fffffe          BL       WriteClockVk0192
;;;170    	VK0192_DATA_L();  
0000fa  2000              MOVS     r0,#0
0000fc  497a              LDR      r1,|L1.744|
0000fe  3928              SUBS     r1,r1,#0x28
000100  6008              STR      r0,[r1,#0]
;;;171    	WriteClockVk0192();
000102  f7fffffe          BL       WriteClockVk0192
;;;172    	VK0192_DATA_H();  
000106  2001              MOVS     r0,#1
000108  4977              LDR      r1,|L1.744|
00010a  3928              SUBS     r1,r1,#0x28
00010c  6008              STR      r0,[r1,#0]
;;;173    	WriteClockVk0192();
00010e  f7fffffe          BL       WriteClockVk0192
;;;174    
;;;175    	Shift = 0x20;
000112  2520              MOVS     r5,#0x20
;;;176    	for( i = 0; i < vk0192_addrbit; i++) 
000114  2400              MOVS     r4,#0
000116  e010              B        |L1.314|
                  |L1.280|
;;;177    	{   		 
;;;178    		if (Addr & Shift) 
000118  ea0a0005          AND      r0,r10,r5
00011c  b120              CBZ      r0,|L1.296|
;;;179    			VK0192_DATA_H(); 		
00011e  2001              MOVS     r0,#1
000120  4971              LDR      r1,|L1.744|
000122  3928              SUBS     r1,r1,#0x28
000124  6008              STR      r0,[r1,#0]
000126  e003              B        |L1.304|
                  |L1.296|
;;;180    		else  
;;;181    			VK0192_DATA_L();
000128  2000              MOVS     r0,#0
00012a  496f              LDR      r1,|L1.744|
00012c  3928              SUBS     r1,r1,#0x28
00012e  6008              STR      r0,[r1,#0]
                  |L1.304|
;;;182    		WriteClockVk0192();		
000130  f7fffffe          BL       WriteClockVk0192
;;;183    		Shift = Shift >> 1; 
000134  106d              ASRS     r5,r5,#1
000136  1c60              ADDS     r0,r4,#1              ;176
000138  b2c4              UXTB     r4,r0                 ;176
                  |L1.314|
00013a  486c              LDR      r0,|L1.748|
00013c  7800              LDRB     r0,[r0,#0]            ;176  ; vk0192_addrbit
00013e  4284              CMP      r4,r0                 ;176
000140  dbea              BLT      |L1.280|
;;;184    	}
;;;185    	for (j = 0; j < Cnt; j++) 
000142  2700              MOVS     r7,#0
000144  e01a              B        |L1.380|
                  |L1.326|
;;;186    	{
;;;187    		Shift = 0x01;
000146  2501              MOVS     r5,#1
;;;188    		dataval=*Databuf++;
000148  f8169b01          LDRB     r9,[r6],#1
;;;189    		for (i = 0; i < 8; i++) 
00014c  2400              MOVS     r4,#0
00014e  e011              B        |L1.372|
                  |L1.336|
;;;190    		{
;;;191    			if( dataval & Shift) 
000150  ea090005          AND      r0,r9,r5
000154  b120              CBZ      r0,|L1.352|
;;;192    				VK0192_DATA_H();		 
000156  2001              MOVS     r0,#1
000158  4963              LDR      r1,|L1.744|
00015a  3928              SUBS     r1,r1,#0x28
00015c  6008              STR      r0,[r1,#0]
00015e  e003              B        |L1.360|
                  |L1.352|
;;;193    			else  
;;;194    				VK0192_DATA_L();
000160  2000              MOVS     r0,#0
000162  4961              LDR      r1,|L1.744|
000164  3928              SUBS     r1,r1,#0x28
000166  6008              STR      r0,[r1,#0]
                  |L1.360|
;;;195    			WriteClockVk0192();
000168  f7fffffe          BL       WriteClockVk0192
;;;196    			Shift = Shift << 1;
00016c  0668              LSLS     r0,r5,#25
00016e  0e05              LSRS     r5,r0,#24
000170  1c60              ADDS     r0,r4,#1              ;189
000172  b2c4              UXTB     r4,r0                 ;189
                  |L1.372|
000174  2c08              CMP      r4,#8                 ;189
000176  dbeb              BLT      |L1.336|
000178  1c78              ADDS     r0,r7,#1              ;185
00017a  b2c7              UXTB     r7,r0                 ;185
                  |L1.380|
00017c  4547              CMP      r7,r8                 ;185
00017e  dbe2              BLT      |L1.326|
;;;197    		}   
;;;198    	}
;;;199      VK0192_CS_H();   //CS Ƭѡ
000180  2001              MOVS     r0,#1
000182  4959              LDR      r1,|L1.744|
000184  3908              SUBS     r1,r1,#8
000186  6008              STR      r0,[r1,#0]
;;;200    	delay_nus(VK0192_CLK/2);	 
000188  2005              MOVS     r0,#5
00018a  f7fffffe          BL       delay_nus
;;;201      VK0192_DATA_H(); 
00018e  2001              MOVS     r0,#1
000190  4955              LDR      r1,|L1.744|
000192  3928              SUBS     r1,r1,#0x28
000194  6008              STR      r0,[r1,#0]
;;;202    }
000196  e8bd87f0          POP      {r4-r10,pc}
;;;203    /*******************************************************************************
                          ENDP

                  Vk0192_DisAll PROC
;;;210    *******************************************************************************/
;;;211    void Vk0192_DisAll(unsigned char dat)
00019a  b530              PUSH     {r4,r5,lr}
;;;212    {
00019c  b088              SUB      sp,sp,#0x20
00019e  4605              MOV      r5,r0
;;;213    	unsigned char segi;
;;;214    	unsigned char dispram[32];
;;;215    	
;;;216    	for(segi=0;segi<32;segi++)
0001a0  2400              MOVS     r4,#0
0001a2  e003              B        |L1.428|
                  |L1.420|
;;;217    	{
;;;218    		dispram[segi]=dat;
0001a4  f80d5004          STRB     r5,[sp,r4]
0001a8  1c60              ADDS     r0,r4,#1              ;216
0001aa  b2c4              UXTB     r4,r0                 ;216
                  |L1.428|
0001ac  2c20              CMP      r4,#0x20              ;216
0001ae  dbf9              BLT      |L1.420|
;;;219    	}
;;;220    	WritenDataVk0192(0,dispram,32);//8bitַԶ2(ÿ4bitݵַԶ1)
0001b0  2220              MOVS     r2,#0x20
0001b2  4669              MOV      r1,sp
0001b4  2000              MOVS     r0,#0
0001b6  f7fffffe          BL       WritenDataVk0192
;;;221    }
0001ba  b008              ADD      sp,sp,#0x20
0001bc  bd30              POP      {r4,r5,pc}
;;;222    /*******************************************************************************
                          ENDP

                  Vk0192_DisDotOn PROC
;;;229    *******************************************************************************/
;;;230    void Vk0192_DisDotOn(unsigned char seg,unsigned char com)
0001be  b5f8              PUSH     {r3-r7,lr}
;;;231    {
0001c0  4604              MOV      r4,r0
0001c2  460d              MOV      r5,r1
;;;232    	unsigned char addrbyte,addrbit,tempdat;
;;;233    	
;;;234    	addrbyte=seg*2;
0001c4  0660              LSLS     r0,r4,#25
0001c6  0e06              LSRS     r6,r0,#24
;;;235    	addrbit=(1<<com);
0001c8  2001              MOVS     r0,#1
0001ca  40a8              LSLS     r0,r0,r5
0001cc  b2c7              UXTB     r7,r0
;;;236    	tempdat=vk0192_dispram[seg]|addrbit;
0001ce  4848              LDR      r0,|L1.752|
0001d0  5d00              LDRB     r0,[r0,r4]
0001d2  4338              ORRS     r0,r0,r7
0001d4  9000              STR      r0,[sp,#0]
;;;237    	vk0192_dispram[seg]=tempdat;
0001d6  f89d0000          LDRB     r0,[sp,#0]
0001da  4945              LDR      r1,|L1.752|
0001dc  5508              STRB     r0,[r1,r4]
;;;238    	WritenDataVk0192(addrbyte,&tempdat,1);
0001de  2201              MOVS     r2,#1
0001e0  4669              MOV      r1,sp
0001e2  4630              MOV      r0,r6
0001e4  f7fffffe          BL       WritenDataVk0192
;;;239    }
0001e8  bdf8              POP      {r3-r7,pc}
;;;240    /*******************************************************************************
                          ENDP

                  Vk0192_DisDotOff PROC
;;;247    *******************************************************************************/
;;;248    void Vk0192_DisDotOff(unsigned char seg,unsigned char com)
0001ea  b5f8              PUSH     {r3-r7,lr}
;;;249    {
0001ec  4604              MOV      r4,r0
0001ee  460d              MOV      r5,r1
;;;250    	unsigned char addrbyte,addrbit,tempdat;
;;;251    	
;;;252    	addrbyte=seg*2;
0001f0  0660              LSLS     r0,r4,#25
0001f2  0e06              LSRS     r6,r0,#24
;;;253    	addrbit=(1<<com);
0001f4  2001              MOVS     r0,#1
0001f6  40a8              LSLS     r0,r0,r5
0001f8  b2c7              UXTB     r7,r0
;;;254    	tempdat=vk0192_dispram[seg]&(~addrbit);
0001fa  483d              LDR      r0,|L1.752|
0001fc  5d00              LDRB     r0,[r0,r4]
0001fe  43b8              BICS     r0,r0,r7
000200  9000              STR      r0,[sp,#0]
;;;255    	vk0192_dispram[seg]=tempdat;
000202  f89d0000          LDRB     r0,[sp,#0]
000206  493a              LDR      r1,|L1.752|
000208  5508              STRB     r0,[r1,r4]
;;;256    	WritenDataVk0192(addrbyte,&tempdat,1);	
00020a  2201              MOVS     r2,#1
00020c  4669              MOV      r1,sp
00020e  4630              MOV      r0,r6
000210  f7fffffe          BL       WritenDataVk0192
;;;257    }
000214  bdf8              POP      {r3-r7,pc}
;;;258    /*******************************************************************************
                          ENDP

                  Vk0192_Enter_PowerOff PROC
;;;264    *******************************************************************************/
;;;265    void Vk0192_Enter_PowerOff(void)
000216  b500              PUSH     {lr}
;;;266    {	
;;;267    	//ʹLCDOFFSYSDIS,ϵͳڵ͹״̬
;;;268    	//ֻʹƬRCʱԴʱ,ʹϵͳ͹״̬
;;;269    	WriteCommandVk0192(OSC_OFF);
000218  2000              MOVS     r0,#0
00021a  f7fffffe          BL       WriteCommandVk0192
;;;270    	WriteCommandVk0192(DISP_OFF);
00021e  2002              MOVS     r0,#2
000220  f7fffffe          BL       WriteCommandVk0192
;;;271    }
000224  bd00              POP      {pc}
;;;272    /*******************************************************************************
                          ENDP

                  Vk0192_Exit_PowerOff PROC
;;;278    *******************************************************************************/
;;;279    void Vk0192_Exit_PowerOff(void)
000226  b500              PUSH     {lr}
;;;280    {	
;;;281    	//˳͹״̬vk0192
;;;282    	WriteCommandVk0192(OSC_ON);
000228  2001              MOVS     r0,#1
00022a  f7fffffe          BL       WriteCommandVk0192
;;;283    	WriteCommandVk0192(DISP_ON);
00022e  2003              MOVS     r0,#3
000230  f7fffffe          BL       WriteCommandVk0192
;;;284    	vk0192_maxcom=8;	//1/4bias 8com
000234  2008              MOVS     r0,#8
000236  492f              LDR      r1,|L1.756|
000238  7008              STRB     r0,[r1,#0]
;;;285    }
00023a  bd00              POP      {pc}
;;;286    /*******************************************************************************
                          ENDP

                  Vk0192_Lowlevel_Init PROC
;;;292    *******************************************************************************/
;;;293    void Vk0192_Lowlevel_Init(void)
00023c  b510              PUSH     {r4,lr}
;;;294    {
;;;295    	//ͨߵƽͬӵƽת·
;;;296    	//˺ݿͻƬӦ޸	
;;;297    	GPIO_SetMode(VK0192_CS_PORT, VK0192_CS_PIN, GPIO_MODE_OUTPUT);
00023e  2201              MOVS     r2,#1
000240  0351              LSLS     r1,r2,#13
000242  482d              LDR      r0,|L1.760|
000244  f7fffffe          BL       GPIO_SetMode
;;;298    	GPIO_SetMode(VK0192_RD_PORT, VK0192_RD_PIN, GPIO_MODE_OUTPUT);
000248  2201              MOVS     r2,#1
00024a  0391              LSLS     r1,r2,#14
00024c  482a              LDR      r0,|L1.760|
00024e  f7fffffe          BL       GPIO_SetMode
;;;299    	GPIO_SetMode(VK0192_WR_PORT, VK0192_WR_PIN, GPIO_MODE_OUTPUT);
000252  2201              MOVS     r2,#1
000254  03d1              LSLS     r1,r2,#15
000256  4828              LDR      r0,|L1.760|
000258  f7fffffe          BL       GPIO_SetMode
;;;300    	GPIO_SetMode(VK0192_DAT_PORT, VK0192_DAT_PIN, GPIO_MODE_OUTPUT);	//ֻʾݿΪIO
00025c  2201              MOVS     r2,#1
00025e  2120              MOVS     r1,#0x20
000260  4825              LDR      r0,|L1.760|
000262  f7fffffe          BL       GPIO_SetMode
;;;301    //	GPIO_SetMode(VK0192_DAT_PORT, VK0192_DAT_PIN, GPIO_MODE_QUASI); //ҪΪ˫IOڶʱΪIO
;;;302    		
;;;303    	VK0192_CS_H();
000266  2001              MOVS     r0,#1
000268  491f              LDR      r1,|L1.744|
00026a  3908              SUBS     r1,r1,#8
00026c  6008              STR      r0,[r1,#0]
;;;304    	VK0192_RD_H();
00026e  1d09              ADDS     r1,r1,#4
000270  6008              STR      r0,[r1,#0]
;;;305    	VK0192_WR_H();  
000272  1d09              ADDS     r1,r1,#4
000274  6008              STR      r0,[r1,#0]
;;;306    	VK0192_DATA_H(); 	
000276  491c              LDR      r1,|L1.744|
000278  3928              SUBS     r1,r1,#0x28
00027a  6008              STR      r0,[r1,#0]
;;;307    }
00027c  bd10              POP      {r4,pc}
;;;308    /*******************************************************************************
                          ENDP

                  Vk0192_Init PROC
;;;314    *******************************************************************************/
;;;315    void Vk0192_Init(void)
00027e  b510              PUSH     {r4,lr}
;;;316    {	
;;;317    	//ܽøݿͻƬӦ޸
;;;318    	Vk0192_Lowlevel_Init();
000280  f7fffffe          BL       Vk0192_Lowlevel_Init
;;;319    	//
;;;320    	WriteCommandVk0192(OSC_ON);
000284  2001              MOVS     r0,#1
000286  f7fffffe          BL       WriteCommandVk0192
;;;321    	WriteCommandVk0192(DISP_ON);
00028a  2003              MOVS     r0,#3
00028c  f7fffffe          BL       WriteCommandVk0192
;;;322    	WriteCommandVk0192(RC32K); //ƬRC
000290  2018              MOVS     r0,#0x18
000292  f7fffffe          BL       WriteCommandVk0192
;;;323    //	WriteCommandVk0192(EXT32K); //ʱ
;;;324    	vk0192_maxcom=8;	//1/4bias 8com
000296  2008              MOVS     r0,#8
000298  4916              LDR      r1,|L1.756|
00029a  7008              STRB     r0,[r1,#0]
;;;325    	//ϵĬ(δùܹرս͹)
;;;326    	WriteCommandVk0192(BUZZ_OFF);
00029c  f7fffffe          BL       WriteCommandVk0192
;;;327    	WriteCommandVk0192(IRQ_DIS);
0002a0  2080              MOVS     r0,#0x80
0002a2  f7fffffe          BL       WriteCommandVk0192
;;;328    	WriteCommandVk0192(TIMER_DIS);
0002a6  2004              MOVS     r0,#4
0002a8  f7fffffe          BL       WriteCommandVk0192
;;;329    	WriteCommandVk0192(WDT_DIS);
0002ac  2005              MOVS     r0,#5
0002ae  f7fffffe          BL       WriteCommandVk0192
;;;330    }
0002b2  bd10              POP      {r4,pc}
;;;331    /*******************************************************************************
                          ENDP

                  Vk0192_Main PROC
;;;337    *******************************************************************************/
;;;338    void Vk0192_Main(void)
0002b4  f7fffffe          BL       Vk0192_Init
;;;339    {	
;;;340    	Vk0192_Init();
;;;341    	Vk0192_DisAll(0x00);
0002b8  2000              MOVS     r0,#0
0002ba  f7fffffe          BL       Vk0192_DisAll
;;;342    	while(1)
0002be  e011              B        |L1.740|
                  |L1.704|
;;;343    	{
;;;344    		Vk0192_DisAll(0xff);			//LCDȫ
0002c0  20ff              MOVS     r0,#0xff
0002c2  f7fffffe          BL       Vk0192_DisAll
;;;345    		delay_nms(3000);					//ʱ3S
0002c6  f64030b8          MOV      r0,#0xbb8
0002ca  f7fffffe          BL       delay_nms
;;;346    		
;;;347    //		Vk0192_DisAll(0x00);			//LCDȫ
;;;348    //		delay_nms(3000);					//ʱ3S
;;;349    //		
;;;350    //		//LCD
;;;351    //		Vk0192_DisAll(0x55);
;;;352    //		delay_nms(1500);
;;;353    //		Vk0192_DisAll(0xAA);
;;;354    //		delay_nms(1500);
;;;355    		
;;;356    		//
;;;357    		Vk0192_DisAll(0x00);      //LCDȫ
0002ce  2000              MOVS     r0,#0
0002d0  f7fffffe          BL       Vk0192_DisAll
;;;358    		Vk0192_Enter_PowerOff();  //ģʽ
0002d4  f7fffffe          BL       Vk0192_Enter_PowerOff
;;;359    		delay_nms(5000);          //ʱ5
0002d8  f2413088          MOV      r0,#0x1388
0002dc  f7fffffe          BL       delay_nms
;;;360    		Vk0192_Exit_PowerOff();   //˳ģʽ
0002e0  f7fffffe          BL       Vk0192_Exit_PowerOff
                  |L1.740|
0002e4  e7ec              B        |L1.704|
;;;361    		
;;;362    //		Vk0192_DisAll(0x00);			//LCDȫ
;;;363    //		for(vk0192_segi=0;vk0192_segi<VK0192_SEGNUM;vk0192_segi++)//seg
;;;364    //		{
;;;365    //			for(vk0192_comi=0;vk0192_comi<vk0192_maxcom;vk0192_comi++)//com
;;;366    //			{
;;;367    //				Vk0192_DisDotOn(vk0192_segtab[vk0192_segi],vk0192_comi);	//LCD
;;;368    //				delay_nms(300);				//ʱ300mS
;;;369    //				Vk0192_DisDotOff(vk0192_segtab[vk0192_segi],vk0192_comi);	//LCDر
;;;370    //			}
;;;371    //		}
;;;372    //		
;;;373    //		Vk0192_DisAll(0xff);			//LCDȫ
;;;374    //		delay_nms(1000);					//ʱ1S
;;;375    //		for(vk0192_segi=0;vk0192_segi<VK0192_SEGNUM;vk0192_segi++)//seg
;;;376    //		{
;;;377    //			for(vk0192_comi=0;vk0192_comi<vk0192_maxcom;vk0192_comi++)//com
;;;378    //			{
;;;379    //				Vk0192_DisDotOff(vk0192_segtab[vk0192_segi],vk0192_comi);	//LCDر
;;;380    //				delay_nms(300);				//ʱ300mS
;;;381    //			Vk0192_DisDotOn(vk0192_segtab[vk0192_segi],vk0192_comi);	//LCDر
;;;382    //			}
;;;383    //		}
;;;384    //		delay_nms(1000);					//ʱ1S
;;;385    	}
;;;386    }
;;;387    /************************END OF FILE****/
                          ENDP

0002e6  0000              DCW      0x0000
                  |L1.744|
                          DCD      0x4000487c
                  |L1.748|
                          DCD      vk0192_addrbit
                  |L1.752|
                          DCD      vk0192_dispram
                  |L1.756|
                          DCD      vk0192_maxcom
                  |L1.760|
                          DCD      0x40004040

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

                  vk0192_dispram
                          %        24

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

                  vk0192_segtab
000000  00010203          DCB      0x00,0x01,0x02,0x03
000004  04050607          DCB      0x04,0x05,0x06,0x07
000008  08090a0b          DCB      0x08,0x09,0x0a,0x0b
00000c  0c0d0e0f          DCB      0x0c,0x0d,0x0e,0x0f
000010  10111213          DCB      0x10,0x11,0x12,0x13
000014  14151617          DCB      0x14,0x15,0x16,0x17
                  shuzi_zimo
000018  f505d397          DCB      0xf5,0x05,0xd3,0x97
00001c  27b6f615          DCB      0x27,0xb6,0xf6,0x15
000020  f7b702e0          DCB      0xf7,0xb7,0x02,0xe0
000024  c66705            DCB      0xc6,0x67,0x05
                  vk0192_addrbit
000027  06                DCB      0x06
                  vk0192_segi
000028  00                DCB      0x00
                  vk0192_comi
000029  00                DCB      0x00
                  vk0192_maxcom
00002a  00                DCB      0x00

;*** Start embedded assembler ***

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

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
