Code:
'****************************************************************
'* Name : ssd1306_DEMO.PBP *
'* Author : richard *
'* Notice : *
'* : *
'* Date : 19/11/2017 *
'* Version : *
'* Notes : *
'* :FOR pic 18F26K22 SSD1306 *
'****************************************************************
#CONFIG
CONFIG FOSC = INTIO67
CONFIG PLLCFG = ON
CONFIG PRICLKEN = OFF
CONFIG FCMEN = OFF
CONFIG IESO = OFF
CONFIG PWRTEN = OFF
CONFIG BOREN = SBORDIS
CONFIG BORV = 190
CONFIG WDTEN = ON
CONFIG WDTPS = 32768
CONFIG CCP2MX = PORTC1
CONFIG PBADEN = OFF
CONFIG CCP3MX = PORTB5
CONFIG HFOFST = ON
CONFIG T3CMX = PORTC0
CONFIG P2BMX = PORTB5
CONFIG MCLRE = EXTMCLR
CONFIG STVREN = ON
CONFIG LVP = OFF
CONFIG XINST = OFF
CONFIG DEBUG = OFF
CONFIG CP0 = OFF
CONFIG CP1 = OFF
CONFIG CP2 = OFF
CONFIG CP3 = OFF
CONFIG CPB = OFF
CONFIG CPD = OFF
CONFIG WRT0 = OFF
CONFIG WRT1 = OFF
CONFIG WRT2 = OFF
CONFIG WRT3 = OFF
CONFIG WRTC = OFF
CONFIG WRTB = OFF
CONFIG WRTD = OFF
CONFIG EBTR0 = OFF
CONFIG EBTR1 = OFF
CONFIG EBTR2 = OFF
CONFIG EBTR3 = OFF
CONFIG EBTRB = OFF
#ENDCONFIG
DEFINE OSC 64
OSCCON = %11110000
char var byte
x var byte
y var byte
BUFF VAR BYTE[16]
ANSELb = 0
ANSELA = 0
ANSELC = 0
;use this define for hw i2c
#define hwi2c 1 'SCL=C.3 & SDA=C.4
;set and uncomment these to use softi2c
'SCL var PortC.3 ' I2C Clock
'SDA var PortC.4 ' I2C Data
;set these to match display
ssdheight con 7 ; 7 = 8 PAGES 64*128 , 3 = 4 pages 32*128
ssdwidth con 127 ; 128 PIXELS WIDE
sdd1306_addr con $78
Include "ssd1306_I2C.INC" ' bring it in
include "font7x5_18.bas"
'========================== MAIN Routine ==============================
pause 100
gosub glcd_init
GLCD_CLR
BIG_TEXT = 0
main:
SSDBM 112,0,16,16 ,StallIcon ;x,y,w,h,label Y=0 (DISPLAYS OK)
' pause 100
' SSDBM 112,0,16,16 ,BlankIcon ;x,y,w,h,label
' SSDBM 112,2,16,16 ,StallIcon ;x,y,w,h,label Y>0 (DISPLAYS HALF OF IMAGE)
' pause 100
' SSDBM 112,2,16,16 ,BlankIcon ;x,y,w,h,label
SSDBM 112,4,16,16 ,StallIcon ;x,y,w,h,label Y>0 (DISPLAYS HALF OF IMAGE)
pause 1000
' SSDBM 112,4,16,16 ,BlankIcon ;x,y,w,h,label
' SSDBM 112,6,16,16 ,StallIcon ;x,y,w,h,label Y>0 (DISPLAYS HALF OF IMAGE)
' pause 100
' SSDBM 112,6,16,16 ,BlankIcon ;x,y,w,h,label
goto main
end
StallIcon: '16x16 BMP image
@ db 248, 4, 226, 241, 57, 25, 25, 193, 241, 121, 25, 25, 241, 226, 4, 248
@ db 15, 16, 35, 71, 78, 76, 78, 71, 67, 64, 76, 78, 71, 35, 16, 15
BlankIcon: '16x16 BMP image
@ db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
@ db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Bookmarks