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

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

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

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

                  WriteClockVk0384 PROC
;;;106    *******************************************************************************/
;;;107    void WriteClockVk0384(void)
000034  b500              PUSH     {lr}
;;;108    {
;;;109    	VK0384_WR_L(); 
000036  2000              MOVS     r0,#0
000038  49e6              LDR      r1,|L1.980|
00003a  6008              STR      r0,[r1,#0]
;;;110    	delay_nus(VK0384_CLK);
00003c  200a              MOVS     r0,#0xa
00003e  f7fffffe          BL       delay_nus
;;;111    	VK0384_WR_H();	
000042  2001              MOVS     r0,#1
000044  49e3              LDR      r1,|L1.980|
000046  6008              STR      r0,[r1,#0]
;;;112    	delay_nus(VK0384_CLK);	
000048  200a              MOVS     r0,#0xa
00004a  f7fffffe          BL       delay_nus
;;;113    }
00004e  bd00              POP      {pc}
;;;114    /*******************************************************************************
                          ENDP

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

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

                  Vk0384_DisAll PROC
;;;212    *******************************************************************************/
;;;213    void Vk0384_DisAll(unsigned char dat)
00019a  b530              PUSH     {r4,r5,lr}
;;;214    {
00019c  4605              MOV      r5,r0
;;;215    	unsigned char segi;
;;;216    	
;;;217    	for(segi=0;segi<64;segi++)
00019e  2400              MOVS     r4,#0
0001a0  e003              B        |L1.426|
                  |L1.418|
;;;218    	{
;;;219    		vk0384_dispram[segi]=dat;
0001a2  488e              LDR      r0,|L1.988|
0001a4  5505              STRB     r5,[r0,r4]
0001a6  1c60              ADDS     r0,r4,#1              ;217
0001a8  b2c4              UXTB     r4,r0                 ;217
                  |L1.426|
0001aa  2c40              CMP      r4,#0x40              ;217
0001ac  dbf9              BLT      |L1.418|
;;;220    	}
;;;221    	WritenDataVk0384(0,vk0384_dispram,48);//8bitַԶ2(ÿ4bitݵַԶ1)
0001ae  2230              MOVS     r2,#0x30
0001b0  498a              LDR      r1,|L1.988|
0001b2  2000              MOVS     r0,#0
0001b4  f7fffffe          BL       WritenDataVk0384
;;;222    }
0001b8  bd30              POP      {r4,r5,pc}
;;;223    /*******************************************************************************
                          ENDP

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

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

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

                  Vk0384_Exit_PowerOff PROC
;;;279    *******************************************************************************/
;;;280    void Vk0384_Exit_PowerOff(void)
000222  b500              PUSH     {lr}
;;;281    {	
;;;282    	//˳͹״̬vk0384
;;;283    	WriteCommandVk0384(OSC_ON);
000224  2001              MOVS     r0,#1
000226  f7fffffe          BL       WriteCommandVk0384
;;;284    	WriteCommandVk0384(DISP_ON);
00022a  2003              MOVS     r0,#3
00022c  f7fffffe          BL       WriteCommandVk0384
;;;285    	vk0384_maxcom=8;	//1/4bias 8com
000230  2008              MOVS     r0,#8
000232  496b              LDR      r1,|L1.992|
000234  7008              STRB     r0,[r1,#0]
;;;286    }
000236  bd00              POP      {pc}
;;;287    /*******************************************************************************
                          ENDP

                  Vk0384_Lowlevel_Init PROC
;;;293    *******************************************************************************/
;;;294    void Vk0384_Lowlevel_Init(void)
000238  b510              PUSH     {r4,lr}
;;;295    {
;;;296    	//ͨߵƽͬӵƽת·
;;;297    	//˺ݿͻƬӦ޸	
;;;298    	GPIO_SetMode(VK0384_CS_PORT, VK0384_CS_PIN, GPIO_MODE_OUTPUT);
00023a  2201              MOVS     r2,#1
00023c  0351              LSLS     r1,r2,#13
00023e  4869              LDR      r0,|L1.996|
000240  f7fffffe          BL       GPIO_SetMode
;;;299    	GPIO_SetMode(VK0384_WR_PORT, VK0384_WR_PIN, GPIO_MODE_OUTPUT);
000244  2201              MOVS     r2,#1
000246  03d1              LSLS     r1,r2,#15
000248  4866              LDR      r0,|L1.996|
00024a  f7fffffe          BL       GPIO_SetMode
;;;300    	GPIO_SetMode(VK0384_DAT_PORT, VK0384_DAT_PIN, GPIO_MODE_OUTPUT);	
00024e  2201              MOVS     r2,#1
000250  2120              MOVS     r1,#0x20
000252  4864              LDR      r0,|L1.996|
000254  f7fffffe          BL       GPIO_SetMode
;;;301    
;;;302    	VK0384_CS_H();                     
000258  2001              MOVS     r0,#1
00025a  495e              LDR      r1,|L1.980|
00025c  3908              SUBS     r1,r1,#8
00025e  6008              STR      r0,[r1,#0]
;;;303    	VK0384_WR_H();  
000260  495c              LDR      r1,|L1.980|
000262  6008              STR      r0,[r1,#0]
;;;304    	VK0384_DATA_H(); 	
000264  495b              LDR      r1,|L1.980|
000266  3928              SUBS     r1,r1,#0x28
000268  6008              STR      r0,[r1,#0]
;;;305    }
00026a  bd10              POP      {r4,pc}
;;;306    /*******************************************************************************
                          ENDP

                  Vk0384_Init PROC
;;;312    *******************************************************************************/
;;;313    void Vk0384_Init(void)
00026c  b510              PUSH     {r4,lr}
;;;314    {	
;;;315    	//ܽøݿͻƬӦ޸
;;;316    	Vk0384_Lowlevel_Init();
00026e  f7fffffe          BL       Vk0384_Lowlevel_Init
;;;317    	//
;;;318    	WriteCommandVk0384(OSC_ON);
000272  2001              MOVS     r0,#1
000274  f7fffffe          BL       WriteCommandVk0384
;;;319    	WriteCommandVk0384(DISP_ON);
000278  2003              MOVS     r0,#3
00027a  f7fffffe          BL       WriteCommandVk0384
;;;320    	vk0384_maxcom=8;	//1/4bias 8com
00027e  2008              MOVS     r0,#8
000280  4957              LDR      r1,|L1.992|
000282  7008              STRB     r0,[r1,#0]
;;;321      //ϵĬ(δùܹرս͹)
;;;322    //	WriteCommandVk0384(BUZZ_2KHZ);
;;;323    //	WriteCommandVk0384(BUZZ_4KHZ);
;;;324    //	WriteCommandVk0384(BUZZ_ON);
;;;325    	WriteCommandVk0384(BUZZ_OFF);
000284  f7fffffe          BL       WriteCommandVk0384
;;;326    	WriteCommandVk0384(IRQ_DIS);
000288  2080              MOVS     r0,#0x80
00028a  f7fffffe          BL       WriteCommandVk0384
;;;327    	WriteCommandVk0384(TIMER_DIS);
00028e  2004              MOVS     r0,#4
000290  f7fffffe          BL       WriteCommandVk0384
;;;328    	WriteCommandVk0384(WDT_DIS);
000294  2005              MOVS     r0,#5
000296  f7fffffe          BL       WriteCommandVk0384
;;;329    }
00029a  bd10              POP      {r4,pc}
;;;330    /*******************************************************************************
                          ENDP

                  Vk0384_Main PROC
;;;336    *******************************************************************************/
;;;337    void Vk0384_Main(void)
00029c  f7fffffe          BL       Vk0384_Init
;;;338    {	
;;;339    	Vk0384_Init();
;;;340    	Vk0384_DisAll(0x00);
0002a0  2000              MOVS     r0,#0
0002a2  f7fffffe          BL       Vk0384_DisAll
;;;341    	while(1)
0002a6  e094              B        |L1.978|
                  |L1.680|
;;;342    	{
;;;343    		Vk0384_DisAll(0xff);			//LCDȫ
0002a8  20ff              MOVS     r0,#0xff
0002aa  f7fffffe          BL       Vk0384_DisAll
;;;344    		delay_nms(3000);					//ʱ3S
0002ae  f64030b8          MOV      r0,#0xbb8
0002b2  f7fffffe          BL       delay_nms
;;;345    		
;;;346    		Vk0384_DisAll(0x00);			//LCDȫ
0002b6  2000              MOVS     r0,#0
0002b8  f7fffffe          BL       Vk0384_DisAll
;;;347    		delay_nms(3000);					//ʱ3S
0002bc  f64030b8          MOV      r0,#0xbb8
0002c0  f7fffffe          BL       delay_nms
;;;348    		
;;;349    		//LCD
;;;350    		Vk0384_DisAll(0x55);
0002c4  2055              MOVS     r0,#0x55
0002c6  f7fffffe          BL       Vk0384_DisAll
;;;351    		delay_nms(1500);
0002ca  f24050dc          MOV      r0,#0x5dc
0002ce  f7fffffe          BL       delay_nms
;;;352    		Vk0384_DisAll(0xAA);
0002d2  20aa              MOVS     r0,#0xaa
0002d4  f7fffffe          BL       Vk0384_DisAll
;;;353    		delay_nms(1500);
0002d8  f24050dc          MOV      r0,#0x5dc
0002dc  f7fffffe          BL       delay_nms
;;;354    		
;;;355    		//
;;;356    		Vk0384_DisAll(0x00);      //LCDȫ
0002e0  2000              MOVS     r0,#0
0002e2  f7fffffe          BL       Vk0384_DisAll
;;;357    		Vk0384_Enter_PowerOff();  //ģʽ
0002e6  f7fffffe          BL       Vk0384_Enter_PowerOff
;;;358    		delay_nms(5000);          //ʱ5
0002ea  f2413088          MOV      r0,#0x1388
0002ee  f7fffffe          BL       delay_nms
;;;359    		Vk0384_Exit_PowerOff();   //˳ģʽ
0002f2  f7fffffe          BL       Vk0384_Exit_PowerOff
;;;360    		
;;;361    		Vk0384_DisAll(0x00);			//LCDȫ
0002f6  2000              MOVS     r0,#0
0002f8  f7fffffe          BL       Vk0384_DisAll
;;;362    		for(vk0384_segi=0;vk0384_segi<VK0384_SEGNUM;vk0384_segi++)//seg
0002fc  2000              MOVS     r0,#0
0002fe  493a              LDR      r1,|L1.1000|
000300  7008              STRB     r0,[r1,#0]
000302  e027              B        |L1.852|
                  |L1.772|
;;;363    		{
;;;364    			for(vk0384_comi=0;vk0384_comi<vk0384_maxcom;vk0384_comi++)//com
000304  2000              MOVS     r0,#0
000306  4939              LDR      r1,|L1.1004|
000308  7008              STRB     r0,[r1,#0]
00030a  e018              B        |L1.830|
                  |L1.780|
;;;365    			{
;;;366    				Vk0384_DisDotOn(vk0384_segtab[vk0384_segi],vk0384_comi);	//LCD
00030c  4938              LDR      r1,|L1.1008|
00030e  4a36              LDR      r2,|L1.1000|
000310  7812              LDRB     r2,[r2,#0]  ; vk0384_segi
000312  5c88              LDRB     r0,[r1,r2]
000314  4935              LDR      r1,|L1.1004|
000316  7809              LDRB     r1,[r1,#0]  ; vk0384_comi
000318  f7fffffe          BL       Vk0384_DisDotOn
;;;367    				delay_nms(300);				//ʱ300mS
00031c  f44f7096          MOV      r0,#0x12c
000320  f7fffffe          BL       delay_nms
;;;368    				Vk0384_DisDotOff(vk0384_segtab[vk0384_segi],vk0384_comi);	//LCDر
000324  4932              LDR      r1,|L1.1008|
000326  4a30              LDR      r2,|L1.1000|
000328  7812              LDRB     r2,[r2,#0]  ; vk0384_segi
00032a  5c88              LDRB     r0,[r1,r2]
00032c  492f              LDR      r1,|L1.1004|
00032e  7809              LDRB     r1,[r1,#0]  ; vk0384_comi
000330  f7fffffe          BL       Vk0384_DisDotOff
000334  482d              LDR      r0,|L1.1004|
000336  7800              LDRB     r0,[r0,#0]            ;364  ; vk0384_comi
000338  1c40              ADDS     r0,r0,#1              ;364
00033a  492c              LDR      r1,|L1.1004|
00033c  7008              STRB     r0,[r1,#0]            ;364
                  |L1.830|
00033e  482b              LDR      r0,|L1.1004|
000340  7800              LDRB     r0,[r0,#0]            ;364  ; vk0384_comi
000342  4927              LDR      r1,|L1.992|
000344  7809              LDRB     r1,[r1,#0]            ;364  ; vk0384_maxcom
000346  4288              CMP      r0,r1                 ;364
000348  dbe0              BLT      |L1.780|
00034a  4827              LDR      r0,|L1.1000|
00034c  7800              LDRB     r0,[r0,#0]            ;362  ; vk0384_segi
00034e  1c40              ADDS     r0,r0,#1              ;362
000350  4925              LDR      r1,|L1.1000|
000352  7008              STRB     r0,[r1,#0]            ;362
                  |L1.852|
000354  4824              LDR      r0,|L1.1000|
000356  7800              LDRB     r0,[r0,#0]            ;362  ; vk0384_segi
000358  2830              CMP      r0,#0x30              ;362
00035a  dbd3              BLT      |L1.772|
;;;369    			}
;;;370    		}
;;;371    		
;;;372    		Vk0384_DisAll(0xff);			//LCDȫ
00035c  20ff              MOVS     r0,#0xff
00035e  f7fffffe          BL       Vk0384_DisAll
;;;373    		delay_nms(1000);					//ʱ1S
000362  f44f707a          MOV      r0,#0x3e8
000366  f7fffffe          BL       delay_nms
;;;374    		for(vk0384_segi=0;vk0384_segi<VK0384_SEGNUM;vk0384_segi++)//seg
00036a  2000              MOVS     r0,#0
00036c  491e              LDR      r1,|L1.1000|
00036e  7008              STRB     r0,[r1,#0]
000370  e027              B        |L1.962|
                  |L1.882|
;;;375    		{
;;;376    			for(vk0384_comi=0;vk0384_comi<vk0384_maxcom;vk0384_comi++)//com
000372  2000              MOVS     r0,#0
000374  491d              LDR      r1,|L1.1004|
000376  7008              STRB     r0,[r1,#0]
000378  e018              B        |L1.940|
                  |L1.890|
;;;377    			{
;;;378    				Vk0384_DisDotOff(vk0384_segtab[vk0384_segi],vk0384_comi);	//LCDر
00037a  491d              LDR      r1,|L1.1008|
00037c  4a1a              LDR      r2,|L1.1000|
00037e  7812              LDRB     r2,[r2,#0]  ; vk0384_segi
000380  5c88              LDRB     r0,[r1,r2]
000382  491a              LDR      r1,|L1.1004|
000384  7809              LDRB     r1,[r1,#0]  ; vk0384_comi
000386  f7fffffe          BL       Vk0384_DisDotOff
;;;379    				delay_nms(300);				//ʱ300mS
00038a  f44f7096          MOV      r0,#0x12c
00038e  f7fffffe          BL       delay_nms
;;;380    			Vk0384_DisDotOff(vk0384_segtab[vk0384_segi],vk0384_comi);	//LCDر
000392  4917              LDR      r1,|L1.1008|
000394  4a14              LDR      r2,|L1.1000|
000396  7812              LDRB     r2,[r2,#0]  ; vk0384_segi
000398  5c88              LDRB     r0,[r1,r2]
00039a  4914              LDR      r1,|L1.1004|
00039c  7809              LDRB     r1,[r1,#0]  ; vk0384_comi
00039e  f7fffffe          BL       Vk0384_DisDotOff
0003a2  4812              LDR      r0,|L1.1004|
0003a4  7800              LDRB     r0,[r0,#0]            ;376  ; vk0384_comi
0003a6  1c40              ADDS     r0,r0,#1              ;376
0003a8  4910              LDR      r1,|L1.1004|
0003aa  7008              STRB     r0,[r1,#0]            ;376
                  |L1.940|
0003ac  480f              LDR      r0,|L1.1004|
0003ae  7800              LDRB     r0,[r0,#0]            ;376  ; vk0384_comi
0003b0  490b              LDR      r1,|L1.992|
0003b2  7809              LDRB     r1,[r1,#0]            ;376  ; vk0384_maxcom
0003b4  4288              CMP      r0,r1                 ;376
0003b6  dbe0              BLT      |L1.890|
0003b8  480b              LDR      r0,|L1.1000|
0003ba  7800              LDRB     r0,[r0,#0]            ;374  ; vk0384_segi
0003bc  1c40              ADDS     r0,r0,#1              ;374
0003be  490a              LDR      r1,|L1.1000|
0003c0  7008              STRB     r0,[r1,#0]            ;374
                  |L1.962|
0003c2  4809              LDR      r0,|L1.1000|
0003c4  7800              LDRB     r0,[r0,#0]            ;374  ; vk0384_segi
0003c6  2830              CMP      r0,#0x30              ;374
0003c8  dbd3              BLT      |L1.882|
;;;381    			}
;;;382    		}
;;;383    		delay_nms(1000);					//ʱ1S
0003ca  f44f707a          MOV      r0,#0x3e8
0003ce  f7fffffe          BL       delay_nms
                  |L1.978|
0003d2  e769              B        |L1.680|
;;;384    	}
;;;385    }
;;;386    /************************END OF FILE****/
                          ENDP

                  |L1.980|
                          DCD      0x4000487c
                  |L1.984|
                          DCD      vk0384_addrbit
                  |L1.988|
                          DCD      vk0384_dispram
                  |L1.992|
                          DCD      vk0384_maxcom
                  |L1.996|
                          DCD      0x40004040
                  |L1.1000|
                          DCD      vk0384_segi
                  |L1.1004|
                          DCD      vk0384_comi
                  |L1.1008|
                          DCD      vk0384_segtab

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

                  vk0384_dispram
                          %        48

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

                  vk0384_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
000018  18191a1b          DCB      0x18,0x19,0x1a,0x1b
00001c  1c1d1e1f          DCB      0x1c,0x1d,0x1e,0x1f
000020  20212223          DCB      0x20,0x21,0x22,0x23
000024  24252627          DCB      0x24,0x25,0x26,0x27
000028  28292a2b          DCB      0x28,0x29,0x2a,0x2b
00002c  2c2d2e2f          DCB      0x2c,0x2d,0x2e,0x2f
                  shuzi_zimo
000030  f505d397          DCB      0xf5,0x05,0xd3,0x97
000034  27b6f615          DCB      0x27,0xb6,0xf6,0x15
000038  f7b702e0          DCB      0xf7,0xb7,0x02,0xe0
00003c  c66705            DCB      0xc6,0x67,0x05
                  vk0384_addrbit
00003f  07                DCB      0x07
                  vk0384_segi
000040  00                DCB      0x00
                  vk0384_comi
000041  00                DCB      0x00
                  vk0384_maxcom
000042  00                DCB      0x00

;*** Start embedded assembler ***

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

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
