📄 lcd_display_rgb16.m
字号:
;############################################### LCD_Show_image
LCD_CPU_Show_image macro ImageDPR
Set_DPR 0,ImageDPR ;DPSR,DPR
LCD_CPU_Show_image_NoDPR
endm
;############################################### LCD_Show_image
;############################################### LCD_Show_R
LCD_RGB_Show_Color macro Color
local START,Vertical_loop,Horizontal_loop,Vertical_loop_A,Horizontal_loop_A,VLW_loop
START:
;-----------------------------------------------; VSYNC
MOVIB 0 ;
RRB _LCD_VSYNC
CALL H_loop ;1 ;
CALL H_loop ;2 ;
CALL H_loop ;3
MOVIB 0 ;
SRB _LCD_VSYNC ;
;-----------------------------------------------;
CALL H_loop ;1
CALL H_loop ;2
CALL H_loop ;3
CALL H_loop ;4
CALL H_loop ;5
CALL H_loop ;6
CALL H_loop ;7
CALL H_loop ;8
CALL H_loop ;9
CALL H_loop ;10
CALL H_loop ;11
CALL H_loop ;12
CALL H_loop ;13
CALL H_loop ;14
CALL H_loop ;15
;-----------------------------------------------;
MOVIR H_Counter,(0xF0) ;
Horizontal_loop:
;-----------------------------------------------; HBP 48 dotclk
MOVIB 0 ;
RRB _LCD_HSYNC ;HSYNC L
DotCLK_n 0x1e ;12(c)
MOVIB 0 ;
SRB _LCD_HSYNC ;HSYNC H
;-----------------------------------------------;
DotCLK_n 0x26 ;36(24)
MOVIB 0 ;
SRB _LCD_ENABLE ;ENABLE
;-----------------------------------------------;
MOVIB 1
MOVIR V_Counter,0x04
Vertical_loop_A:
MOVIR V_Counter_1,0x50
Vertical_loop:
MOVIA low Color
MOVAR LCD_Data_0_7
MOVIA mid Color
MOVAR LCD_Data_8_15
RRB _LCD_DOTCLK ;
SRB _LCD_DOTCLK ;
DECRRSZ V_Counter_1
JMP Vertical_loop
DECRRSZ V_Counter
JMP Vertical_loop_A
;-----------------------------------------------;
MOVIB 0 ;
RRB _LCD_ENABLE ;DISABLE
;-----------------------------------------------;
DotCLK_n 0x14 ;
;-----------------------------------------------;
DECRRSZ H_Counter ;
JMP Horizontal_loop ;
;-----------------------------------------------
CALL H_loop ;1
CALL H_loop ;2
CALL H_loop ;3
CALL H_loop ;4
CALL H_loop ;5
CALL H_loop ;6
CALL H_loop ;7
CALL H_loop ;8
CALL H_loop ;9
CALL H_loop ;10
CALL H_loop ;11
CALL H_loop ;12
;CALL AutoDisplay
CALL DemoMode1IS
JMP START
endm
;############################################### Reverse_Image_Setting
DotCLK_n macro DotCLK
MOVIB 1
for i = 1 to DotCLK
RRB _LCD_DOTCLK;CLK L ;1
SRB _LCD_DOTCLK;CLK H ;
endfor
endm
;############################################### Set_LCD_Reg
Set_LCD_Reg macro reg,data
MOVIR IndexReg,reg
MOVIR DataRegL,low data
MOVIR DataRegH,mid data
CALL Set_Index_Reg_SP
CALL Write_data_to_Reg_SP
endm
;###############################################
Set_Index_Reg macro reg
MOVIR IndexReg,reg
CALL Set_Index_Reg_SP
endm
;###############################################
Write_data_to_Reg macro data
MOVIR DataRegL,low data
MOVIR DataRegH,mid data
CALL Write_data_to_Reg_SP
endm
;############################################### Read_data
Read_data macro index,R_8A
MOVIR IndexReg,index
CALL Set_Index_Reg_SP
CALL Read_data_to_Reg_SP
MOVRF DataRegH,acc
MOVAR R_8A
MOVRF DataRegL,acc
MOVAR (R_8A+1)
endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -