Is there a lista of PICs programmable by PICKIT2 ?
Thanks
Ambrogio
Is there a lista of PICs programmable by PICKIT2 ?
Thanks
Ambrogio
not that I can find ,but there is not many that aren't on the supported device list.
you can download the pickit2 program(its free) from microchip site and check out the supported device list if you have specific devices to check
http://www.microchip.com/Development...tDocumentation
Hi Steve,
I am back again on this LCD ...
I have repaired the programmer and so I had the occasion to test the program.
> Back light does not come on at all .
> nothing is displayed on the LCD
If you have something more to suggest, I am ready to go on .
Thanks
Regards,
Ambrogio
here it is:
DEFINE OSC 40 ' 10 MHz XTAL AND X 4 INTERNAL PLL
DEFINE I2C_SLOW 1
SDA VAR PORTD.2 ; I2C Data pin
SCL VAR PORTD.3 ; I2C Clock Pin
LCD_Addr CON 78
'LCD_BuffSize CON 30
'LCD_Buff VAR BYTE[LCD_BuffSize]
'LCD_BuffAddr CON EXT : @LCD_BuffAddr = _LCD_Buff
'LCD_BuffLen VAR WORD ; Length of data in buffer
LCD_Data VAR BYTE ; Data to Send to LCD
LCD_Byte VAR BYTE ; Nibbles to Send
LCD_RS VAR LCD_Byte.0 ; Register Select bit
LCD_RW VAR LCD_Byte.1 ; Read/Write bit
LCD_E VAR LCD_Byte.2 ; Enable bit
LCD_BackLight VAR LCD_Byte.3 ; Backlight 0=ON
LCD_WriteMode VAR BYTE ; 1=LowNibble, 2=HighNibble, 3=Both
LCD_CommandMode VAR BIT ; Indicates next byte is a command
LCD_Byte2 VAR BYTE ; Same nibble without E bit
LCD_Idx VAR BYTE
testmode var byte
;----[Initialize the LCD]-------------------------------------------------------
PAUSE 250 ; LCD Power-on delay
LCD_Backlight = 1 ; Backlight OFF
LCD_RW = 0 ; Write to LCD
LCD_RS = 0 ; Command Register
LCD_WriteMode = 1 ;-- Low Nibbles only
LCD_Data = 3 ; Reset 3 times
gosub LCD_Write_
PAUSEUS 6000
gosub LCD_Write_
PAUSEUS 1000
gosub LCD_Write_
PAUSEUS 1000
LCD_Data = 2 ; Start 4-bit mode
gosub LCD_Write_
PAUSEUS 1000
LCD_WriteMode = 3 ;-- Both Nibbles
LCD_Data = $28
gosub LCD_Write_ ; Function Set, 4-bit, 2-line, 5x7
LCD_Data = $0C
gosub LCD_Write_ ; Display ON
LCD_Data = $01
gosub LCD_Write_ ; Clear Screen
PAUSE 2
LCD_Data = $06
gosub LCD_Write_ ; Entry Mode
PAUSE 2 ; Let command finish
LCD_RS = 1 ' this is data
goto main
LCD_WRITE_:
LCD_E = 1
IF LCD_WriteMode.1 = 1 THEN ; Write High Nibble
LCD_Byte = (LCD_Byte & $0F) | (LCD_Data & $F0)
LCD_Byte2 = LCD_Byte & $FB
I2CWRITE SDA,SCL, LCD_Addr,[LCD_Byte, LCD_Byte2]
ENDIF
IF LCD_WriteMode.0 = 1 THEN ; Write Low Nibble
LCD_Byte = (LCD_Byte & $0F) | ((LCD_Data << 4 )& $F0)
LCD_Byte2 = LCD_Byte & $FB
I2CWRITE SDA,SCL, LCD_Addr,[LCD_Byte, LCD_Byte2]
ENDIF
return
Main:
LCD_Data = "T"
gosub LCD_Write_
LCD_Data = "e"
gosub LCD_Write_
LCD_Data = "s"
gosub LCD_Write_
LCD_Data = "t"
gosub LCD_Write_
goto main
Please use code tags as it is easier for me to read.
Steve Earl www.datageo.co.uk
And to test backlight is working try
Code:Main: LCD_Backlight = 0 LCD_Data = "T" gosub LCD_Write_: PAUSEUS 50 LCD_Data = "e" gosub LCD_Write_: PAUSEUS 50 LCD_Data = "s" gosub LCD_Write_: PAUSEUS 50 LCD_Data = "t" gosub LCD_Write_: PAUSEUS 50 pause 500 LCD_Backlight = 1 LCD_Data = "-" gosub LCD_Write_: PAUSEUS 50 pause 500 goto main
Steve Earl www.datageo.co.uk
Bookmarks