Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __stm8llcdinc ; avoid multiple inclusion
__stm8llcdinc equ 1
save
listing off ; no listing over this file
;****************************************************************************
;* *
;* AS 1.42 - File LCD.INC *
;* *
;* contains SFR and Bit Definitions for STM8L LCD Controller *
;* *
;* Source: DocID15226 Rev 14 / RM0031 *
;* *
;****************************************************************************
__deflcd macro Base,NumSegs,NumRAM,HasCR4
LCD_CR1 label Base+$00 ; LCD control register 1
LCD_BLINK bfield LCD_CR1,6,2 ; Blink enable
LCD_BLINKF bfield LCD_CR1,3,3 ; Blink frequency
LCD_DUTY bfield LCD_CR1,1,2 ; Duty ratio selection
LCD_B2 bit LCD_CR1,0 ; Bias selector
LCD_CR2 label Base+$01 ; LCD control register 2
PON bfield LCD_CR2,5,3 ; Pulse ON duration
HD bit LCD_CR2,4 ; High drive enable
CC bfield LCD_CR2,1,3 ; Contrast control
VSEL bit LCD_CR2,0 ; LCD voltage source
LCD_CR3 label Base+$02 ; LCD control register 3
LCD_LCDEN bit LCD_CR3,6 ; LCD enable
LCD_SOFIE bit LCD_CR3,5 ; Interrupt enable
LCD_SOF bit LCD_CR3,4 ; Start of frame flag
LCD_SOFC bit LCD_CR3,3 ; SOF flag clear
LCD_DEAD bfield LCD_CR3,0,3 ; Dead time enable
LCD_FRQ label Base+$03 ; LCD frequency selection register
LCD_PS bfield LCD_FRQ,4,4 ; CLK 16-bit prescaler
LCD_DIV bfield LCD_FRQ,0,4 ; Divider from 16 to 31
if HasCR4
LCD_CR4 label $542f ; LCD control register 4
LCD_PAGE_COM bit LCD_CR4,2 ; LCD_RAM page selector
LCD_DUTY8 bit LCD_CR4,1 ; 1/8 duty enable
LCDB4 bit LCD_CR4,0 ; 1/4 bias enable
endif
__I set 0
rept NumSegs
if (__I&7)==0
__decstr __NRS,__I/8
LCD_PM{__NRS} label Base+$04+(__I/8) ; Port mask register n
endif
__dec02str __NS,__I
LCD_SEG{__NS} bit LCD_PM{__NRS},__I&7 ; Port mask for SEG i
__I set __I+1
endm
__N set 0
rept NumRAM
__decstr __NS,__N
LCD_RAM{__NS} label Base+$0c+__N ; LCD display memory n
__N set __N+1
endm
endm
restore
endif ; __stm8llcdinc