⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_driver.txt

📁 STM32+ov7670
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00047c  2044              MOVS     r0,#0x44
00047e  f7fffffe          BL       LCD_WriteRegister
;;;370    		LCD_WriteRegister(0x0045, 0x9f00);	//垂直窗口起始大小(高8位VEA[结束地址],低8位VSA[起始地址])
000482  f44f411f          MOV      r1,#0x9f00
000486  2045              MOVS     r0,#0x45
000488  f7fffffe          BL       LCD_WriteRegister
;;;371    		LCD_WriteRegister(0x0021, 0x0000);	//GRAM起始坐标点										 
00048c  2100              MOVS     r1,#0
00048e  2021              MOVS     r0,#0x21
000490  f7fffffe          BL       LCD_WriteRegister
;;;372    		
;;;373    		LCD_WriteRegister(0x0030, 0x0103);
000494  f2401103          MOV      r1,#0x103
000498  2030              MOVS     r0,#0x30
00049a  f7fffffe          BL       LCD_WriteRegister
;;;374    		LCD_WriteRegister(0x0031, 0x0001);
00049e  2101              MOVS     r1,#1
0004a0  2031              MOVS     r0,#0x31
0004a2  f7fffffe          BL       LCD_WriteRegister
;;;375    		LCD_WriteRegister(0x0032, 0x0304);
0004a6  f44f7141          MOV      r1,#0x304
0004aa  2032              MOVS     r0,#0x32
0004ac  f7fffffe          BL       LCD_WriteRegister
;;;376    		LCD_WriteRegister(0x0033, 0x0204);
0004b0  f44f7101          MOV      r1,#0x204
0004b4  2033              MOVS     r0,#0x33
0004b6  f7fffffe          BL       LCD_WriteRegister
;;;377    		LCD_WriteRegister(0x0034, 0x0406);
0004ba  f2404106          MOV      r1,#0x406
0004be  2034              MOVS     r0,#0x34
0004c0  f7fffffe          BL       LCD_WriteRegister
;;;378    		LCD_WriteRegister(0x0035, 0x0707);
0004c4  f2407107          MOV      r1,#0x707
0004c8  2035              MOVS     r0,#0x35
0004ca  f7fffffe          BL       LCD_WriteRegister
;;;379    		LCD_WriteRegister(0x0036, 0x0407);
0004ce  f2404107          MOV      r1,#0x407
0004d2  2036              MOVS     r0,#0x36
0004d4  f7fffffe          BL       LCD_WriteRegister
;;;380    		LCD_WriteRegister(0x0037, 0x0303);
0004d8  f2403103          MOV      r1,#0x303
0004dc  2037              MOVS     r0,#0x37
0004de  f7fffffe          BL       LCD_WriteRegister
;;;381    		LCD_WriteRegister(0x0038, 0x0403);
0004e2  f2404103          MOV      r1,#0x403
0004e6  2038              MOVS     r0,#0x38
0004e8  f7fffffe          BL       LCD_WriteRegister
;;;382    		LCD_WriteRegister(0x0039, 0x0102);
0004ec  f44f7181          MOV      r1,#0x102
0004f0  2039              MOVS     r0,#0x39
0004f2  f7fffffe          BL       LCD_WriteRegister
;;;383    		Delay_nMS(1);
0004f6  2001              MOVS     r0,#1
0004f8  f7fffffe          BL       delay_ms
;;;384    											//-----Display On-------------------
;;;385    		LCD_WriteRegister(0x0002, 0x0600);
0004fc  f44f61c0          MOV      r1,#0x600
000500  2002              MOVS     r0,#2
000502  f7fffffe          BL       LCD_WriteRegister
;;;386    		LCD_WriteRegister(0x0007, 0x0015);
000506  2115              MOVS     r1,#0x15
000508  2007              MOVS     r0,#7
00050a  f7fffffe          BL       LCD_WriteRegister
;;;387    		Delay_nMS(1);
00050e  2001              MOVS     r0,#1
000510  f7fffffe          BL       delay_ms
;;;388    		LCD_WriteRegister(0x0007, 0x0055);
000514  2155              MOVS     r1,#0x55
000516  2007              MOVS     r0,#7
000518  f7fffffe          BL       LCD_WriteRegister
;;;389    		Delay_nMS(1);
00051c  2001              MOVS     r0,#1
00051e  f7fffffe          BL       delay_ms
;;;390    		LCD_WriteRegister(0x0002, 0x0700);
000522  f44f61e0          MOV      r1,#0x700
000526  2002              MOVS     r0,#2
000528  f7fffffe          BL       LCD_WriteRegister
;;;391    		LCD_WriteRegister(0x0007, 0x0077);
00052c  2177              MOVS     r1,#0x77
00052e  2007              MOVS     r0,#7
000530  f7fffffe          BL       LCD_WriteRegister
;;;392    		
;;;393    		break;								//完成初始化						
000534  e1b3              B        |L1.2206|
                  |L1.1334|
;;;394    		//ILI9320与ILI9328
;;;395    		case 0x9325:
;;;396    		case 0x9328:
000536  bf00              NOP      
                  |L1.1336|
;;;397    		case 0xD325:
000538  bf00              NOP      
                  |L1.1338|
;;;398    		LCD_WriteRegister(0x00e7,0x0010);      
00053a  2110              MOVS     r1,#0x10
00053c  20e7              MOVS     r0,#0xe7
00053e  f7fffffe          BL       LCD_WriteRegister
;;;399            LCD_WriteRegister(0x0000,0x0001);//开启内部时钟
000542  2101              MOVS     r1,#1
000544  2000              MOVS     r0,#0
000546  f7fffffe          BL       LCD_WriteRegister
;;;400            LCD_WriteRegister(0x0001,0x0100);     
00054a  f44f7180          MOV      r1,#0x100
00054e  2001              MOVS     r0,#1
000550  f7fffffe          BL       LCD_WriteRegister
;;;401            LCD_WriteRegister(0x0002,0x0700);//电源开启                    
000554  f44f61e0          MOV      r1,#0x700
000558  2002              MOVS     r0,#2
00055a  f7fffffe          BL       LCD_WriteRegister
;;;402    		//LCD_WriteRegister(0x0003,(1<<3)|(1<<4) ); 	//65K  RGB
;;;403    		//DRIVE TABLE(寄存器 03H)
;;;404    		//BIT3=AM BIT4:5=ID0:1
;;;405    		//AM ID0 ID1   FUNCATION
;;;406    		// 0  0   0	   R->L D->U
;;;407    		// 1  0   0	   D->U	R->L
;;;408    		// 0  1   0	   L->R D->U
;;;409    		// 1  1   0    D->U	L->R
;;;410    		// 0  0   1	   R->L U->D
;;;411    		// 1  0   1    U->D	R->L
;;;412    		// 0  1   1    L->R U->D 正常就用这个.
;;;413    		// 1  1   1	   U->D	L->R
;;;414    #if LCD_CHAR_HORIZONTAL > 0
;;;415    		//字符正放(竖屏),即X->240,CHAR_X->8 
;;;416            LCD_WriteRegister(0x0003,0x1030);//65K    ,8位模式下两次传输,16位模式下1次传输,BIT[7]OGR为0时系统坐标固定,(H->x:0-219,V->y:0-319)
;;;417    #else
;;;418    		//字符顺时针旋转90度(横屏),即X->240,CHAR_X->16
;;;419    		LCD_WriteRegister(0x0003,0x1038);
00055e  f2410138          MOV      r1,#0x1038
000562  2003              MOVS     r0,#3
000564  f7fffffe          BL       LCD_WriteRegister
;;;420    #endif
;;;421    		LCD_WriteRegister(0x0004,0x0000);                                   
000568  2100              MOVS     r1,#0
00056a  2004              MOVS     r0,#4
00056c  f7fffffe          BL       LCD_WriteRegister
;;;422            LCD_WriteRegister(0x0008,0x0207);	           
000570  f2402107          MOV      r1,#0x207
000574  2008              MOVS     r0,#8
000576  f7fffffe          BL       LCD_WriteRegister
;;;423            LCD_WriteRegister(0x0009,0x0000);         
00057a  2100              MOVS     r1,#0
00057c  2009              MOVS     r0,#9
00057e  f7fffffe          BL       LCD_WriteRegister
;;;424            LCD_WriteRegister(0x000a,0x0000);//display setting         
000582  2100              MOVS     r1,#0
000584  200a              MOVS     r0,#0xa
000586  f7fffffe          BL       LCD_WriteRegister
;;;425            LCD_WriteRegister(0x000c,0x0001);//display setting          
00058a  2101              MOVS     r1,#1
00058c  200c              MOVS     r0,#0xc
00058e  f7fffffe          BL       LCD_WriteRegister
;;;426            LCD_WriteRegister(0x000d,0x0000);//0f3c          
000592  2100              MOVS     r1,#0
000594  200d              MOVS     r0,#0xd
000596  f7fffffe          BL       LCD_WriteRegister
;;;427            LCD_WriteRegister(0x000f,0x0000);
00059a  2100              MOVS     r1,#0
00059c  200f              MOVS     r0,#0xf
00059e  f7fffffe          BL       LCD_WriteRegister
;;;428    		//电源配置
;;;429            LCD_WriteRegister(0x0010,0x0000);   
0005a2  2100              MOVS     r1,#0
0005a4  2010              MOVS     r0,#0x10
0005a6  f7fffffe          BL       LCD_WriteRegister
;;;430            LCD_WriteRegister(0x0011,0x0007);
0005aa  2107              MOVS     r1,#7
0005ac  2011              MOVS     r0,#0x11
0005ae  f7fffffe          BL       LCD_WriteRegister
;;;431            LCD_WriteRegister(0x0012,0x0000);                                                                 
0005b2  2100              MOVS     r1,#0
0005b4  2012              MOVS     r0,#0x12
0005b6  f7fffffe          BL       LCD_WriteRegister
;;;432            LCD_WriteRegister(0x0013,0x0000);                 
0005ba  2100              MOVS     r1,#0
0005bc  2013              MOVS     r0,#0x13
0005be  f7fffffe          BL       LCD_WriteRegister
;;;433            Delay_nMS(5); 
0005c2  2005              MOVS     r0,#5
0005c4  f7fffffe          BL       delay_ms
;;;434            LCD_WriteRegister(0x0010,0x1590);   
0005c8  f2415190          MOV      r1,#0x1590
0005cc  2010              MOVS     r0,#0x10
0005ce  f7fffffe          BL       LCD_WriteRegister
;;;435            LCD_WriteRegister(0x0011,0x0227);
0005d2  f2402127          MOV      r1,#0x227
0005d6  2011              MOVS     r0,#0x11
0005d8  f7fffffe          BL       LCD_WriteRegister
;;;436            Delay_nMS(5); 
0005dc  2005              MOVS     r0,#5
0005de  f7fffffe          BL       delay_ms
;;;437            LCD_WriteRegister(0x0012,0x009c);                  
0005e2  219c              MOVS     r1,#0x9c
0005e4  2012              MOVS     r0,#0x12
0005e6  f7fffffe          BL       LCD_WriteRegister
;;;438            Delay_nMS(5); 
0005ea  2005              MOVS     r0,#5
0005ec  f7fffffe          BL       delay_ms
;;;439            LCD_WriteRegister(0x0013,0x1900);   
0005f0  f44f51c8          MOV      r1,#0x1900
0005f4  2013              MOVS     r0,#0x13
0005f6  f7fffffe          BL       LCD_WriteRegister
;;;440            LCD_WriteRegister(0x0029,0x0023);
0005fa  2123              MOVS     r1,#0x23
0005fc  2029              MOVS     r0,#0x29
0005fe  f7fffffe          BL       LCD_WriteRegister
;;;441            LCD_WriteRegister(0x002b,0x000e);
000602  210e              MOVS     r1,#0xe
000604  202b              MOVS     r0,#0x2b
000606  f7fffffe          BL       LCD_WriteRegister
;;;442            Delay_nMS(5); 
00060a  2005              MOVS     r0,#5
00060c  f7fffffe          BL       delay_ms
;;;443            LCD_WriteRegister(0x0020,0x0000);                                                            
000610  2100              MOVS     r1,#0
000612  2020              MOVS     r0,#0x20
000614  f7fffffe          BL       LCD_WriteRegister
;;;444            LCD_WriteRegister(0x0021,0x013f);           
000618  f240113f          MOV      r1,#0x13f
00061c  2021              MOVS     r0,#0x21
00061e  f7fffffe          BL       LCD_WriteRegister
;;;445    		Delay_nMS(5); 
000622  2005              MOVS     r0,#5
000624  f7fffffe          BL       delay_ms
;;;446    		//伽马校正
;;;447            LCD_WriteRegister(0x0030,0x0007); 
000628  2107              MOVS     r1,#7
00062a  2030              MOVS     r0,#0x30
00062c  f7fffffe          BL       LCD_WriteRegister
;;;448            LCD_WriteRegister(0x0031,0x0707);   
000630  f2407107          MOV      r1,#0x707
000634  2031              MOVS     r0,#0x31
000636  f7fffffe          BL       LCD_WriteRegister
;;;449            LCD_WriteRegister(0x0032,0x0006);
00063a  2106              MOVS     r1,#6
00063c  2032              MOVS     r0,#0x32
00063e  f7fffffe          BL       LCD_WriteRegister
;;;450            LCD_WriteRegister(0x0035,0x0704);
000642  f2407104          MOV      r1,#0x704
000646  2035              MOVS     r0,#0x35
000648  f7fffffe          BL       LCD_WriteRegister
;;;451            LCD_WriteRegister(0x0036,0x1f04); 
00064c  f6417104          MOV      r1,#0x1f04
000650  2036              MOVS     r0,#0x36
000652  f7fffffe          BL       LCD_WriteRegister
;;;452            LCD_WriteRegister(0x0037,0x0004);
000656  2104              MOVS     r1,#4
000658  2037              MOVS     r0,#0x37
00065a  f7fffffe          BL       LCD_WriteRegister
;;;453            LCD_WriteRegister(0x0038,0x0000);        
00065e  2100              MOVS     r1,#0
000660  2038              MOVS     r0,#0x38
000662  f7fffffe          BL       LCD_WriteRegister
;;;454            LCD_WriteRegister(0x0039,0x0706);     
000666  f2407106          MOV      r1,#0x706
00066a  2039              MOVS     r0,#0x39
00066c  f7fffffe          BL       LCD_WriteRegister
;;;455            LCD_WriteRegister(0x003c,0x0701);
000670  f2407101          MOV      r1,#0x701
000674  203c              MOVS     r0,#0x3c
000676  f7fffffe          BL       LCD_WriteRegister
;;;456            LCD_WriteRegister(0x003d,0x000f);
00067a  210f              MOVS     r1,#0xf
00067c  203d              MOVS     r0,#0x3d
00067e  f7fffffe          BL       LCD_WriteRegister
;;;457            Delay_nMS(5); 
000682  2005              MOVS     r0,#5
000684  f7fffffe          BL       delay_ms
;;;458            LCD_WriteRegister(0x0050,0x0000); //水平GRAM起始位置 
000688  2100              MOVS     r1,#0
00068a  2050              MOVS     r0,#0x50
00068c  f7fffffe          BL       LCD_WriteRegister
;;;459            LCD_WriteRegister(0x0051,0x00ef); //水平GRAM终止位置                    
000690  21ef              MOVS     r1,#0xef
000692  2051              MOVS     r0,#0x51
000694  f7fffffe          BL       LCD_WriteRegister

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -