'* Name : TFT_ST7735.BAS * '* Author : [richard] * '* Notice : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 22/6/2015 * '* Version : development * '* Notes : [pic18f45k20 * '* : * '**************************************************************** #CONFIG CONFIG FOSC = INTIO67 CONFIG FCMEN = OFF CONFIG IESO = OFF CONFIG PWRT = OFF CONFIG BOREN = SBORDIS CONFIG BORV = 18 CONFIG WDTEN = ON CONFIG WDTPS = 512 CONFIG CCP2MX = PORTC CONFIG PBADEN = OFF CONFIG LPT1OSC = OFF CONFIG HFOFST = ON CONFIG MCLRE = ON 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 SSPIF VAR PIR1.3 tft_dc_bit con 4 tft_cs_bit con 1 tft_rst_bit con 8 tft_port var latd define OSC 64 INCLUDE "glcd_chr.pbpmod" ;glcdc INCLUDE "DT_INTS-18.bas" INCLUDE "ReEnterPBP-18.bas" INCLUDE "Elapsed_INT-18.bas" INCLUDE "font7x8.bas" ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler TMR1_INT, _ClockCount, PBP, yes endm INT_CREATE ENDASM @ INT_ENABLE TMR1_INT osccon=$70 '64 mhz OSCTUNE.6=1 trisb.7=0 trisd=0 ' each pin on d has a led for debug trisc.3=0 trisc.5=0 BOXX VAR BYTE BOXY VAR BYTE BOXZ VAR BYTE disp var byte tmp var word buff var byte[32] SSPCON1=$21 ;$22 works too SSPSTAT=$40 led var latd.7 latb.7=1 'pause 4000 led=1 gosub tft_init Serout2 PORTb.7,84,["ready ",#latd, 13,10] glcdc font7x8 bg=$ffff GOSUB ResetTime GOSUB StartTimer fg=$ffff fillrect 0,0,WIDTH,height ;cls main: fg=$F800 boxy=1 TEXTSIZE=2 ' ARRAYWRITE buff,["HELLO WORLD",0] ' GLCDSTR 1,63 ,buff drawcircle 20,20,15 drawcircle 60,60,15 drawcircle 110,100,15 drawcircle 135,20,15 drawline 20,20,60,60 drawline 60,60 ,110,100 drawline 110,100 ,135,20 drawline 135,20 ,20,20 ' BOXX=0 ' WHILE (BOXX< 32) AND (BUFF[BOXX]>0 ) ' GLCDC BUFF[BOXX] ' BOXX=BOXX +1 ' WEND pause 1000 ' fg=bg ' GLCDSTR 1,63 ,buff fg=$0 LOP: ARRAYWRITE buff,[dec2 hours,":",dec2 minutes,":",dec2 seconds,0] GLCDSTR 1,110 ,buff SecondsChanged=0 WHILE SecondsChanged==0 WEND ' goto LOP