; generated by Component: ARM Compiler 5.05 update 2 (build 169) Tool: ArmCC [4d0f38]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\vk6932_driver.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\vk6932_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\LED\VK1629ϵ\VK1629ϵп\VK6932\VK6932_TESTCODE\project\VK6932_FUNC\Keil\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Include -D__UVISION_VERSION=515 -D_RTE_ --omf_browse=.\obj\vk6932_driver.crf ..\led_driver\vk6932_driver.c]
                          THUMB

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

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

                  VK6932_delayms PROC
;;;49     *******************************************************************************/
;;;50     void  VK6932_delayms(unsigned long int n)
00001c  b510              PUSH     {r4,lr}
;;;51     {
00001e  4604              MOV      r4,r0
;;;52     	while(n--)
000020  e003              B        |L1.42|
                  |L1.34|
;;;53     	{
;;;54     		 VK6932_delay_nus(1000);
000022  f44f707a          MOV      r0,#0x3e8
000026  f7fffffe          BL       VK6932_delay_nus
                  |L1.42|
00002a  0020              MOVS     r0,r4                 ;52
00002c  f1a40401          SUB      r4,r4,#1              ;52
000030  d1f7              BNE      |L1.34|
;;;55     	}
;;;56     }
000032  bd10              POP      {r4,pc}
;;;57     /*******************************************************************************
                          ENDP

                  VK6932Write1BytetoIC PROC
;;;63     *******************************************************************************/
;;;64     void VK6932Write1BytetoIC(unsigned char data8)
000034  b530              PUSH     {r4,r5,lr}
;;;65     {
000036  4604              MOV      r4,r0
;;;66     	unsigned char i;
;;;67     	
;;;68     	VK6932_STB_LOW;			//֤STBΪ͵ƽ֮ǰ˿ڵ״̬
000038  2000              MOVS     r0,#0
00003a  49cb              LDR      r1,|L1.872|
00003c  6008              STR      r0,[r1,#0]
;;;69     	for(i=0;i<8;i++)
00003e  2500              MOVS     r5,#0
000040  e01b              B        |L1.122|
                  |L1.66|
;;;70     	{
;;;71     		VK6932_CLK_LOW;		//ȽCLK
000042  2000              MOVS     r0,#0
000044  49c8              LDR      r1,|L1.872|
000046  1f09              SUBS     r1,r1,#4
000048  6008              STR      r0,[r1,#0]
;;;72     		if((data8&0x01)!=0)
00004a  f0040001          AND      r0,r4,#1
00004e  b118              CBZ      r0,|L1.88|
;;;73     		{
;;;74     			VK6932_DAT_HIGH;//Ҫ͵ݵĵλΪ1ѡDIOø
000050  2001              MOVS     r0,#1
000052  1f09              SUBS     r1,r1,#4
000054  6008              STR      r0,[r1,#0]
000056  e003              B        |L1.96|
                  |L1.88|
;;;75     		}
;;;76     		else
;;;77     		{
;;;78     			VK6932_DAT_LOW;	//Ҫ͵ݵĵλΪ0ѡDIO
000058  2000              MOVS     r0,#0
00005a  49c3              LDR      r1,|L1.872|
00005c  3908              SUBS     r1,r1,#8
00005e  6008              STR      r0,[r1,#0]
                  |L1.96|
;;;79     		}
;;;80     		VK6932_delay_nus(200);
000060  20c8              MOVS     r0,#0xc8
000062  f7fffffe          BL       VK6932_delay_nus
;;;81     		VK6932_CLK_HIGH;	//ʱӵ
000066  2001              MOVS     r0,#1
000068  49bf              LDR      r1,|L1.872|
00006a  1f09              SUBS     r1,r1,#4
00006c  6008              STR      r0,[r1,#0]
;;;82     		VK6932_delay_nus(200);
00006e  20c8              MOVS     r0,#0xc8
000070  f7fffffe          BL       VK6932_delay_nus
;;;83     		data8=data8>>1;		//׼һBIT
000074  1064              ASRS     r4,r4,#1
000076  1c68              ADDS     r0,r5,#1              ;69
000078  b2c5              UXTB     r5,r0                 ;69
                  |L1.122|
00007a  2d08              CMP      r5,#8                 ;69
00007c  dbe1              BLT      |L1.66|
;;;84     	
;;;85     	}//һֽں˳ѭ
;;;86     }
00007e  bd30              POP      {r4,r5,pc}
;;;87     
                          ENDP

                  VK6932Read1BytefromIC PROC
;;;94     *******************************************************************************/
;;;95     unsigned char VK6932Read1BytefromIC(void)
000080  b530              PUSH     {r4,r5,lr}
;;;96     {
;;;97     	unsigned char i,k=0;//iѭkʱ
000082  2400              MOVS     r4,#0
;;;98     
;;;99     	VK6932_DAT_HIGH;	//ͷDIOΪ
000084  2001              MOVS     r0,#1
000086  49b8              LDR      r1,|L1.872|
000088  3908              SUBS     r1,r1,#8
00008a  6008              STR      r0,[r1,#0]
;;;100    	VK6932_STB_LOW;	//֤STBΪ͵ƽ֮ǰ˿ڵ״̬
00008c  2000              MOVS     r0,#0
00008e  49b6              LDR      r1,|L1.872|
000090  6008              STR      r0,[r1,#0]
;;;101    	for(i=0;i<8;i++)
000092  2500              MOVS     r5,#0
000094  e01a              B        |L1.204|
                  |L1.150|
;;;102    	{
;;;103    		VK6932_CLK_LOW;//ȽCLK
000096  2000              MOVS     r0,#0
000098  49b3              LDR      r1,|L1.872|
00009a  1f09              SUBS     r1,r1,#4
00009c  6008              STR      r0,[r1,#0]
;;;104    		VK6932_delay_nus(200);
00009e  20c8              MOVS     r0,#0xc8
0000a0  f7fffffe          BL       VK6932_delay_nus
;;;105    		k=k>>1;
0000a4  1064              ASRS     r4,r4,#1
;;;106    		if(VK6932_DIO_IO==0)
0000a6  48b0              LDR      r0,|L1.872|
0000a8  3808              SUBS     r0,r0,#8
0000aa  6800              LDR      r0,[r0,#0]
0000ac  b910              CBNZ     r0,|L1.180|
;;;107    		{
;;;108    			k=k&0x7f;			//DIOΪ͵ƽkλ塰0λֲ
0000ae  f004047f          AND      r4,r4,#0x7f
0000b2  e002              B        |L1.186|
                  |L1.180|
;;;109    		}
;;;110    		else
;;;111    		{
;;;112    			k=(k|0x80)&0xff;//DIOΪߵƽkλá1λֲ
0000b4  b2e0              UXTB     r0,r4
0000b6  f0400480          ORR      r4,r0,#0x80
                  |L1.186|
;;;113    		}
;;;114    		VK6932_CLK_HIGH;	//ʱӵ
0000ba  2001              MOVS     r0,#1
0000bc  49aa              LDR      r1,|L1.872|
0000be  1f09              SUBS     r1,r1,#4
0000c0  6008              STR      r0,[r1,#0]
;;;115    		VK6932_delay_nus(200);
0000c2  20c8              MOVS     r0,#0xc8
0000c4  f7fffffe          BL       VK6932_delay_nus
0000c8  1c68              ADDS     r0,r5,#1              ;101
0000ca  b2c5              UXTB     r5,r0                 ;101
                  |L1.204|
0000cc  2d08              CMP      r5,#8                 ;101
0000ce  dbe2              BLT      |L1.150|
;;;116    	}//һֽں˳ѭ
;;;117    	
;;;118    	return(k);//ض1ֽ	
0000d0  4620              MOV      r0,r4
;;;119    }
0000d2  bd30              POP      {r4,r5,pc}
;;;120    /*******************************************************************************
                          ENDP

                  VK6932_Disp_AutoAdd1Addr PROC
;;;128    *******************************************************************************/
;;;129    void VK6932_Disp_AutoAdd1Addr(unsigned char addr,unsigned char* databuf, unsigned char num)
0000d4  b5f0              PUSH     {r4-r7,lr}
;;;130    {
0000d6  4605              MOV      r5,r0
0000d8  460c              MOV      r4,r1
0000da  4616              MOV      r6,r2
;;;131    	unsigned char i;//iƱҪٸֽʾ
;;;132    	
;;;133    	VK6932_STB_HIGH;//ͨѶʼǰͨѶ˿ȫʼΪ1	
0000dc  2001              MOVS     r0,#1
0000de  49a2              LDR      r1,|L1.872|
0000e0  6008              STR      r0,[r1,#0]
;;;134    	VK6932Write1BytetoIC(VK6932_WRDTA_AUTOADD1ADDR);//òõַԶ1ʽдʾݣ
0000e2  2040              MOVS     r0,#0x40
0000e4  f7fffffe          BL       VK6932Write1BytetoIC
;;;135    	VK6932_STB_HIGH;//ҪSTBá1
0000e8  2001              MOVS     r0,#1
0000ea  499f              LDR      r1,|L1.872|
0000ec  6008              STR      r0,[r1,#0]
;;;136    	VK6932Write1BytetoIC(VK6932_STARTADDR+addr);//ʼַ
0000ee  f10501c0          ADD      r1,r5,#0xc0
0000f2  b2c8              UXTB     r0,r1
0000f4  f7fffffe          BL       VK6932Write1BytetoIC
;;;137    	//ַ󣬡STBΪ0Ҫʾ
;;;138    	for(i=0;i<num;i++)
0000f8  2700              MOVS     r7,#0
0000fa  e005              B        |L1.264|
                  |L1.252|
;;;139    	{
;;;140    		VK6932Write1BytetoIC(*databuf++);//ʾݹУSTBһֱΪ0
0000fc  f8140b01          LDRB     r0,[r4],#1
000100  f7fffffe          BL       VK6932Write1BytetoIC
000104  1c78              ADDS     r0,r7,#1              ;138
000106  b2c7              UXTB     r7,r0                 ;138
                  |L1.264|
000108  42b7              CMP      r7,r6                 ;138
00010a  dbf7              BLT      |L1.252|
;;;141    	}
;;;142    	VK6932_STB_HIGH;//еʾݺ14BYTE󣬽STBá1
00010c  2001              MOVS     r0,#1
00010e  4996              LDR      r1,|L1.872|
000110  6008              STR      r0,[r1,#0]
;;;143    	VK6932Write1BytetoIC(VK6932_DISP_ON|VK6932_PDUTY_12_16);//ʾ
000112  208d              MOVS     r0,#0x8d
000114  f7fffffe          BL       VK6932Write1BytetoIC
;;;144    	VK6932_STB_HIGH;//ʾ󽫡STBá1
000118  2001              MOVS     r0,#1
00011a  4993              LDR      r1,|L1.872|
00011c  6008              STR      r0,[r1,#0]
;;;145    }
00011e  bdf0              POP      {r4-r7,pc}
;;;146    /*******************************************************************************
                          ENDP

                  VK6932_Disp_FixedAddr PROC
;;;152    *******************************************************************************/
;;;153    void VK6932_Disp_FixedAddr(unsigned char addr, unsigned char data8)
000120  b530              PUSH     {r4,r5,lr}
;;;154    {
000122  4604              MOV      r4,r0
000124  460d              MOV      r5,r1
;;;155    	VK6932_STB_HIGH;//ͨѶʼǰͨѶ˿ȫʼΪ1	
000126  2001              MOVS     r0,#1
000128  498f              LDR      r1,|L1.872|
00012a  6008              STR      r0,[r1,#0]
;;;156    	VK6932Write1BytetoIC(VK6932_WRDTA_FIXEDADDR);//òù̶ַдʾݣ
00012c  2044              MOVS     r0,#0x44
00012e  f7fffffe          BL       VK6932Write1BytetoIC
;;;157    	VK6932_STB_HIGH;//ҪSTBá1
000132  2001              MOVS     r0,#1
000134  498c              LDR      r1,|L1.872|
000136  6008              STR      r0,[r1,#0]
;;;158    	VK6932Write1BytetoIC(VK6932_STARTADDR+addr);//ʾݶӦĵַ
000138  f10401c0          ADD      r1,r4,#0xc0
00013c  b2c8              UXTB     r0,r1
00013e  f7fffffe          BL       VK6932Write1BytetoIC
;;;159    	//ַ󣬡STBΪ0Ҫʾ
;;;160    	VK6932Write1BytetoIC(data8);//֡STB=01BYTEʾ
000142  4628              MOV      r0,r5
000144  f7fffffe          BL       VK6932Write1BytetoIC
;;;161    	VK6932_STB_HIGH;//ʾݺ󽫡STBá1
000148  2001              MOVS     r0,#1
00014a  4987              LDR      r1,|L1.872|
00014c  6008              STR      r0,[r1,#0]
;;;162    	VK6932Write1BytetoIC(VK6932_DISP_ON|VK6932_PDUTY_12_16);//ʾ
00014e  208d              MOVS     r0,#0x8d
000150  f7fffffe          BL       VK6932Write1BytetoIC
;;;163    	VK6932_STB_HIGH;//ʾ󽫡STBá1
000154  2001              MOVS     r0,#1
000156  4984              LDR      r1,|L1.872|
000158  6008              STR      r0,[r1,#0]
;;;164    }
00015a  bd30              POP      {r4,r5,pc}
;;;165    
                          ENDP

                  VK6932_Init PROC
;;;172    *******************************************************************************/ 
;;;173    void VK6932_Init(void)    
00015c  b510              PUSH     {r4,lr}
;;;174    {   
;;;175    	GPIO_SetMode(VK6932_STB_PORT, VK6932_STB_PIN, GPIO_MODE_OUTPUT);
00015e  2201              MOVS     r2,#1
000160  0311              LSLS     r1,r2,#12
000162  4882              LDR      r0,|L1.876|
000164  f7fffffe          BL       GPIO_SetMode
;;;176    	GPIO_SetMode(VK6932_CLK_PORT, VK6932_CLK_PIN, GPIO_MODE_OUTPUT);
000168  2201              MOVS     r2,#1
00016a  02d1              LSLS     r1,r2,#11
00016c  487f              LDR      r0,|L1.876|
00016e  f7fffffe          BL       GPIO_SetMode
;;;177    	GPIO_SetMode(VK6932_DIO_PORT, VK6932_DIO_PIN, GPIO_MODE_QUASI);
000172  2203              MOVS     r2,#3
000174  f44f6180          MOV      r1,#0x400
000178  487c              LDR      r0,|L1.876|
00017a  f7fffffe          BL       GPIO_SetMode
;;;178    	
;;;179    	VK6932_STB_HIGH;                
00017e  2001              MOVS     r0,#1
000180  4979              LDR      r1,|L1.872|
000182  6008              STR      r0,[r1,#0]
;;;180    	VK6932_CLK_HIGH;   
000184  1f09              SUBS     r1,r1,#4
000186  6008              STR      r0,[r1,#0]
;;;181    	VK6932_DAT_HIGH;
000188  1f09              SUBS     r1,r1,#4
00018a  6008              STR      r0,[r1,#0]
;;;182    }  
00018c  bd10              POP      {r4,pc}
;;;183    /*******************************************************************************
                          ENDP

                  VK6932_disAll PROC
;;;189    *******************************************************************************/ 
;;;190    void VK6932_disAll(unsigned char dat) 
00018e  b530              PUSH     {r4,r5,lr}
;;;191    {
000190  4605              MOV      r5,r0
;;;192      unsigned char i;
;;;193    	
;;;194    	for(i=0;i<16;i++)
000192  2400              MOVS     r4,#0
000194  e003              B        |L1.414|
                  |L1.406|
;;;195    	{
;;;196    		vk6932_dispram[i]=dat;
000196  4876              LDR      r0,|L1.880|
000198  5505              STRB     r5,[r0,r4]
00019a  1c60              ADDS     r0,r4,#1              ;194
00019c  b2c4              UXTB     r4,r0                 ;194
                  |L1.414|
00019e  2c10              CMP      r4,#0x10              ;194
0001a0  dbf9              BLT      |L1.406|
;;;197    	}
;;;198    	VK6932_Disp_AutoAdd1Addr(0,vk6932_dispram,16);
0001a2  2210              MOVS     r2,#0x10
0001a4  4972              LDR      r1,|L1.880|
0001a6  2000              MOVS     r0,#0
0001a8  f7fffffe          BL       VK6932_Disp_AutoAdd1Addr
;;;199    }	
0001ac  bd30              POP      {r4,r5,pc}
;;;200    
                          ENDP

                  VK6932_DisDotOn PROC
;;;208    *******************************************************************************/
;;;209    void VK6932_DisDotOn(unsigned char seg,unsigned char grid)
0001ae  b5f8              PUSH     {r3-r7,lr}
;;;210    {
0001b0  4606              MOV      r6,r0
0001b2  460c              MOV      r4,r1
;;;211    	unsigned char addrbyte,addrbit,tempdat;
;;;212    	
;;;213    	addrbyte=grid;
0001b4  4625              MOV      r5,r4
;;;214    	addrbit=(1<<seg);
0001b6  2001              MOVS     r0,#1
0001b8  40b0              LSLS     r0,r0,r6
0001ba  b2c7              UXTB     r7,r0
;;;215    	tempdat=vk6932_dispram[grid]|addrbit;
0001bc  486c              LDR      r0,|L1.880|
0001be  5d00              LDRB     r0,[r0,r4]
0001c0  4338              ORRS     r0,r0,r7
0001c2  9000              STR      r0,[sp,#0]
;;;216    	vk6932_dispram[grid]=tempdat;
0001c4  f89d0000          LDRB     r0,[sp,#0]
0001c8  4969              LDR      r1,|L1.880|
0001ca  5508              STRB     r0,[r1,r4]
;;;217    	VK6932_Disp_AutoAdd1Addr(addrbyte,&tempdat,1);
0001cc  2201              MOVS     r2,#1
0001ce  4669              MOV      r1,sp
0001d0  4628              MOV      r0,r5
0001d2  f7fffffe          BL       VK6932_Disp_AutoAdd1Addr
;;;218    }
0001d6  bdf8              POP      {r3-r7,pc}
;;;219    /*******************************************************************************
                          ENDP

                  VK6932_DisDotOff PROC
;;;226    *******************************************************************************/
;;;227    void VK6932_DisDotOff(unsigned char seg,unsigned char grid)
0001d8  b5f8              PUSH     {r3-r7,lr}
;;;228    {
0001da  4606              MOV      r6,r0
0001dc  460c              MOV      r4,r1
;;;229    	unsigned char addrbyte,addrbit,tempdat;
;;;230    	
;;;231      addrbyte=grid;
0001de  4625              MOV      r5,r4
;;;232    	addrbit=(1<<seg);
0001e0  2001              MOVS     r0,#1
0001e2  40b0              LSLS     r0,r0,r6
0001e4  b2c7              UXTB     r7,r0
;;;233    	tempdat=vk6932_dispram[grid]&(~addrbit);
0001e6  4862              LDR      r0,|L1.880|
0001e8  5d00              LDRB     r0,[r0,r4]
0001ea  43b8              BICS     r0,r0,r7
0001ec  9000              STR      r0,[sp,#0]
;;;234    	vk6932_dispram[grid]=tempdat;
0001ee  f89d0000          LDRB     r0,[sp,#0]
0001f2  495f              LDR      r1,|L1.880|
0001f4  5508              STRB     r0,[r1,r4]
;;;235    	VK6932_Disp_AutoAdd1Addr(addrbyte,&tempdat,1);	
0001f6  2201              MOVS     r2,#1
0001f8  4669              MOV      r1,sp
0001fa  4628              MOV      r0,r5
0001fc  f7fffffe          BL       VK6932_Disp_AutoAdd1Addr
;;;236    }
000200  bdf8              POP      {r3-r7,pc}
;;;237    /*******************************************************************************
                          ENDP

                  VK6932_Main PROC
;;;243    *******************************************************************************/ 
;;;244    void VK6932_Main(void)
000202  f7fffffe          BL       VK6932_Init
;;;245    {  
;;;246    	VK6932_Init();
;;;247    	VK6932_disAll(0x00);
000206  2000              MOVS     r0,#0
000208  f7fffffe          BL       VK6932_disAll
;;;248    	VK6932_disAll(0xff);
00020c  20ff              MOVS     r0,#0xff
00020e  f7fffffe          BL       VK6932_disAll
;;;249    	
;;;250    	VK6932Write1BytetoIC(VK6932_DISP_ON|VK6932_PDUTY_1_16);//ʾ1/16
000212  2088              MOVS     r0,#0x88
000214  f7fffffe          BL       VK6932Write1BytetoIC
;;;251    	VK6932_STB_HIGH;//ʾ󽫡STBá1
000218  2001              MOVS     r0,#1
00021a  4953              LDR      r1,|L1.872|
00021c  6008              STR      r0,[r1,#0]
;;;252    	VK6932_delayms(1000);
00021e  f44f707a          MOV      r0,#0x3e8
000222  f7fffffe          BL       VK6932_delayms
;;;253    	VK6932Write1BytetoIC(VK6932_DISP_ON|VK6932_PDUTY_4_16);//ʾ4/16
000226  208a              MOVS     r0,#0x8a
000228  f7fffffe          BL       VK6932Write1BytetoIC
;;;254    	VK6932_STB_HIGH;
00022c  2001              MOVS     r0,#1
00022e  494e              LDR      r1,|L1.872|
000230  6008              STR      r0,[r1,#0]
;;;255    	VK6932_delayms(1000);
000232  f44f707a          MOV      r0,#0x3e8
000236  f7fffffe          BL       VK6932_delayms
;;;256    	VK6932Write1BytetoIC(VK6932_DISP_ON|VK6932_PDUTY_10_16);//ʾ10/16
00023a  208b              MOVS     r0,#0x8b
00023c  f7fffffe          BL       VK6932Write1BytetoIC
;;;257    	VK6932_STB_HIGH;
000240  2001              MOVS     r0,#1
000242  4949              LDR      r1,|L1.872|
000244  6008              STR      r0,[r1,#0]
;;;258    	VK6932_delayms(1000);
000246  f44f707a          MOV      r0,#0x3e8
00024a  f7fffffe          BL       VK6932_delayms
;;;259    	VK6932Write1BytetoIC(VK6932_DISP_ON|VK6932_PDUTY_14_16);//ʾ14/16
00024e  208f              MOVS     r0,#0x8f
000250  f7fffffe          BL       VK6932Write1BytetoIC
;;;260    	VK6932_STB_HIGH;
000254  2001              MOVS     r0,#1
000256  4944              LDR      r1,|L1.872|
000258  6008              STR      r0,[r1,#0]
;;;261    	VK6932_delayms(1000);
00025a  f44f707a          MOV      r0,#0x3e8
00025e  f7fffffe          BL       VK6932_delayms
;;;262    	
;;;263    	while(1)
000262  e07f              B        |L1.868|
                  |L1.612|
;;;264    	{
;;;265    		VK6932_disAll(0xff);	 
000264  20ff              MOVS     r0,#0xff
000266  f7fffffe          BL       VK6932_disAll
;;;266    		VK6932_delayms(1500); 
00026a  f24050dc          MOV      r0,#0x5dc
00026e  f7fffffe          BL       VK6932_delayms
;;;267    		VK6932_disAll(0x00);		
000272  2000              MOVS     r0,#0
000274  f7fffffe          BL       VK6932_disAll
;;;268    		VK6932_delayms(1500);
000278  f24050dc          MOV      r0,#0x5dc
00027c  f7fffffe          BL       VK6932_delayms
;;;269    		
;;;270    		VK6932_disAll(0xAA);	 
000280  20aa              MOVS     r0,#0xaa
000282  f7fffffe          BL       VK6932_disAll
;;;271    		VK6932_delayms(1500); 
000286  f24050dc          MOV      r0,#0x5dc
00028a  f7fffffe          BL       VK6932_delayms
;;;272    		VK6932_disAll(0x55);		
00028e  2055              MOVS     r0,#0x55
000290  f7fffffe          BL       VK6932_disAll
;;;273    		VK6932_delayms(1500);
000294  f24050dc          MOV      r0,#0x5dc
000298  f7fffffe          BL       VK6932_delayms
;;;274    		
;;;275    		VK6932_disAll(0x00);		
00029c  2000              MOVS     r0,#0
00029e  f7fffffe          BL       VK6932_disAll
;;;276    		VK6932_delayms(500);
0002a2  f44f70fa          MOV      r0,#0x1f4
0002a6  f7fffffe          BL       VK6932_delayms
;;;277    			for(vk6932_segi=0;vk6932_segi<8;vk6932_segi++)//seg
0002aa  2000              MOVS     r0,#0
0002ac  4931              LDR      r1,|L1.884|
0002ae  7008              STRB     r0,[r1,#0]
0002b0  e020              B        |L1.756|
                  |L1.690|
;;;278    		{
;;;279    			for(vk6932_gridi=0;vk6932_gridi<16;vk6932_gridi++)//com
0002b2  2000              MOVS     r0,#0
0002b4  4930              LDR      r1,|L1.888|
0002b6  7008              STRB     r0,[r1,#0]
0002b8  e013              B        |L1.738|
                  |L1.698|
;;;280    			{
;;;281    				VK6932_DisDotOn(vk6932_segi,vk6932_gridi);	//LED
0002ba  482f              LDR      r0,|L1.888|
0002bc  7801              LDRB     r1,[r0,#0]  ; vk6932_gridi
0002be  482d              LDR      r0,|L1.884|
0002c0  7800              LDRB     r0,[r0,#0]  ; vk6932_segi
0002c2  f7fffffe          BL       VK6932_DisDotOn
;;;282    				VK6932_delayms(200);				//ʱ200mS
0002c6  20c8              MOVS     r0,#0xc8
0002c8  f7fffffe          BL       VK6932_delayms
;;;283    				VK6932_DisDotOff(vk6932_segi,vk6932_gridi);//LEDر
0002cc  482a              LDR      r0,|L1.888|
0002ce  7801              LDRB     r1,[r0,#0]  ; vk6932_gridi
0002d0  4828              LDR      r0,|L1.884|
0002d2  7800              LDRB     r0,[r0,#0]  ; vk6932_segi
0002d4  f7fffffe          BL       VK6932_DisDotOff
0002d8  4827              LDR      r0,|L1.888|
0002da  7800              LDRB     r0,[r0,#0]            ;279  ; vk6932_gridi
0002dc  1c40              ADDS     r0,r0,#1              ;279
0002de  4926              LDR      r1,|L1.888|
0002e0  7008              STRB     r0,[r1,#0]            ;279
                  |L1.738|
0002e2  4825              LDR      r0,|L1.888|
0002e4  7800              LDRB     r0,[r0,#0]            ;279  ; vk6932_gridi
0002e6  2810              CMP      r0,#0x10              ;279
0002e8  dbe7              BLT      |L1.698|
0002ea  4822              LDR      r0,|L1.884|
0002ec  7800              LDRB     r0,[r0,#0]            ;277  ; vk6932_segi
0002ee  1c40              ADDS     r0,r0,#1              ;277
0002f0  4920              LDR      r1,|L1.884|
0002f2  7008              STRB     r0,[r1,#0]            ;277
                  |L1.756|
0002f4  481f              LDR      r0,|L1.884|
0002f6  7800              LDRB     r0,[r0,#0]            ;277  ; vk6932_segi
0002f8  2808              CMP      r0,#8                 ;277
0002fa  dbda              BLT      |L1.690|
;;;284    			}
;;;285    		}
;;;286    		VK6932_disAll(0xFF);		
0002fc  20ff              MOVS     r0,#0xff
0002fe  f7fffffe          BL       VK6932_disAll
;;;287    		VK6932_delayms(500);
000302  f44f70fa          MOV      r0,#0x1f4
000306  f7fffffe          BL       VK6932_delayms
;;;288    			for(vk6932_segi=0;vk6932_segi<8;vk6932_segi++)//seg
00030a  2000              MOVS     r0,#0
00030c  4919              LDR      r1,|L1.884|
00030e  7008              STRB     r0,[r1,#0]
000310  e020              B        |L1.852|
                  |L1.786|
;;;289    		{
;;;290    			for(vk6932_gridi=0;vk6932_gridi<16;vk6932_gridi++)//com
000312  2000              MOVS     r0,#0
000314  4918              LDR      r1,|L1.888|
000316  7008              STRB     r0,[r1,#0]
000318  e013              B        |L1.834|
                  |L1.794|
;;;291    			{
;;;292    				VK6932_DisDotOff(vk6932_segi,vk6932_gridi);	//LEDر
00031a  4817              LDR      r0,|L1.888|
00031c  7801              LDRB     r1,[r0,#0]  ; vk6932_gridi
00031e  4815              LDR      r0,|L1.884|
000320  7800              LDRB     r0,[r0,#0]  ; vk6932_segi
000322  f7fffffe          BL       VK6932_DisDotOff
;;;293    				VK6932_delayms(200);				//ʱ200mS
000326  20c8              MOVS     r0,#0xc8
000328  f7fffffe          BL       VK6932_delayms
;;;294    				VK6932_DisDotOn(vk6932_segi,vk6932_gridi);//LED
00032c  4812              LDR      r0,|L1.888|
00032e  7801              LDRB     r1,[r0,#0]  ; vk6932_gridi
000330  4810              LDR      r0,|L1.884|
000332  7800              LDRB     r0,[r0,#0]  ; vk6932_segi
000334  f7fffffe          BL       VK6932_DisDotOn
000338  480f              LDR      r0,|L1.888|
00033a  7800              LDRB     r0,[r0,#0]            ;290  ; vk6932_gridi
00033c  1c40              ADDS     r0,r0,#1              ;290
00033e  490e              LDR      r1,|L1.888|
000340  7008              STRB     r0,[r1,#0]            ;290
                  |L1.834|
000342  480d              LDR      r0,|L1.888|
000344  7800              LDRB     r0,[r0,#0]            ;290  ; vk6932_gridi
000346  2810              CMP      r0,#0x10              ;290
000348  dbe7              BLT      |L1.794|
00034a  480a              LDR      r0,|L1.884|
00034c  7800              LDRB     r0,[r0,#0]            ;288  ; vk6932_segi
00034e  1c40              ADDS     r0,r0,#1              ;288
000350  4908              LDR      r1,|L1.884|
000352  7008              STRB     r0,[r1,#0]            ;288
                  |L1.852|
000354  4807              LDR      r0,|L1.884|
000356  7800              LDRB     r0,[r0,#0]            ;288  ; vk6932_segi
000358  2808              CMP      r0,#8                 ;288
00035a  dbda              BLT      |L1.786|
;;;295    			}
;;;296    		}
;;;297    		VK6932_disAll(0x00);
00035c  2000              MOVS     r0,#0
00035e  f7fffffe          BL       VK6932_disAll
;;;298    		
;;;299    		__nop();
000362  bf00              NOP      
                  |L1.868|
000364  e77e              B        |L1.612|
;;;300    	}
;;;301    }    
;;;302    /************************END OF FILE****/
                          ENDP

000366  0000              DCW      0x0000
                  |L1.872|
                          DCD      0x40004870
                  |L1.876|
                          DCD      0x40004040
                  |L1.880|
                          DCD      vk6932_dispram
                  |L1.884|
                          DCD      vk6932_segi
                  |L1.888|
                          DCD      vk6932_gridi

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

                  vk6932_dispram
                          %        16

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

                  vk6932_segi
000000  00                DCB      0x00
                  vk6932_gridi
000001  00                DCB      0x00

;*** Start embedded assembler ***

#line 1 "..\\led_driver\\vk6932_driver.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___15_vk6932_driver_c_43b14633____REV16|
#line 114 "..\\..\\..\\Library\\CMSIS\\Include\\core_cmInstr.h"
|__asm___15_vk6932_driver_c_43b14633____REV16| PROC
#line 115

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
