GCL_PIFaceCaD (GVL)ΒΆ
- InOut:
Scope
Name
Type
Initial
Comment
Constant
IODIRA
USINT16#0
I/O direction A
IODIRB
USINT16#1
I/O direction B
IPOLA
USINT16#2
I/O polarity A
IPOLB
USINT16#3
I/O polarity B
GPINTENA
USINT16#4
interupt enable A
GPINTENB
USINT16#5
interupt enable B
DEFVALA
USINT16#6
register default value A (interupts)
DEFVALB
USINT16#7
register default value B (interupts)
INTCONA
USINT16#8
interupt control A
INTCONB
USINT16#9
interupt control B
IOCON
USINT16#A
I/O config (also : USINT := 16#0B)
GPPUA
USINT16#C
port A pullups
GPPUB
USINT16#D
port B pullups
INTFA
USINT16#E
interupt flag A (where the interupt came from)
INTFB
USINT16#F
interupt flag B
INTCAPA
USINT16#10
interupt capture A (value at interupt is saved here)
INTCAPB
USINT16#11
interupt capture B
GPIOA
USINT16#12
port A
GPIOB
USINT16#13
port B
OLATA
USINT16#14
output latch A
OLATB
USINT16#15
output latch B
BANK_OFF
USINT16#0
addressing mode
BANK_ON
USINT16#80
INT_MIRROR_ON
USINT16#40
interupt mirror (INTa|INTb)
INT_MIRROR_OFF
USINT16#0
SEQOP_OFF
USINT16#20
incrementing address pointer
SEQOP_ON
USINT16#0
DISSLW_ON
USINT16#10
slew rate
DISSLW_OFF
USINT16#0
HAEN_ON
USINT16#8
hardware addressing
HAEN_OFF
USINT16#0
ODR_ON
USINT16#4
open drain for interupts
ODR_OFF
USINT16#0
INTPOL_HIGH
USINT16#2
interupt polarity
INTPOL_LOW
USINT16#0
DELAY_PULSE_NS
UDINT1000
1us
DELAY_SETTLE_NS
UDINT40000
40us
DELAY_CLEAR_NS
UDINT2600000
2.6ms
DELAY_SETUP_0_NS
UDINT15000000
15ms
DELAY_SETUP_1_NS
UDINT5000000
5ms
DELAY_SETUP_2_NS
UDINT1000000
1ms
PIN_D4
USINT0
mcp23s17 GPIOB to HD44780 pin map
PIN_D5
USINT1
PIN_D6
USINT2
PIN_D7
USINT3
PIN_ENABLE
USINT4
PIN_RW
USINT5
PIN_RS
USINT6
PIN_BACKLIGHT
USINT7
LCD_CLEARDISPLAY
USINT16#1
commands
LCD_RETURNHOME
USINT16#2
LCD_ENTRYMODESET
USINT16#4
LCD_DISPLAYCONTROL
USINT16#8
LCD_CURSORSHIFT
USINT16#10
LCD_FUNCTIONSET
USINT16#20
LCD_SETCGRAMADDR
USINT16#40
LCD_SETDDRAMADDR
USINT16#80
LCD_NEWLINE
USINT16#C0
LCD_ENTRYRIGHT
USINT16#0
flags for display entry mode
LCD_ENTRYLEFT
USINT16#2
LCD_ENTRYSHIFTINCREMENT
USINT16#1
LCD_ENTRYSHIFTDECREMENT
USINT16#0
LCD_DISPLAYON
USINT16#4
flags for display on/off control
LCD_DISPLAYOFF
USINT16#0
LCD_CURSORON
USINT16#2
LCD_CURSOROFF
USINT16#0
LCD_BLINKON
USINT16#1
LCD_BLINKOFF
USINT16#0
LCD_DISPLAYMOVE
USINT16#8
flags for display/cursor shift
LCD_CURSORMOVE
USINT16#0
LCD_MOVERIGHT
USINT16#4
LCD_MOVELEFT
USINT16#0
LCD_8BITMODE
USINT16#10
flags for function set
LCD_4BITMODE
USINT16#0
LCD_2LINE
USINT16#8
LCD_1LINE
USINT16#0
LCD_5X10DOTS
USINT16#4
LCD_5X8DOTS
USINT16#0
LCD_MAX_LINES
USINT2
LCD_WIDTH
USINT16
LCD_RAM_WIDTH
USINT80
RAM is 80 wide, split over two lines
ROW_OFFSETS
ARRAY [0..1] OF BYTE
[0, 16#40]
SWITCH_PORT
USINTGPIOA
LCD_PORT
USINTGPIOB