RGB Video Play

Code Examples ›› TFT ››
 visits
Parent Previous Next

DEMO RGB VIDEO PLAY

(Download)


Device = 33EP128MC504

Declare Xtal = 150

Declare Auto_Heap_Arrays = On

Declare Auto_Heap_Strings = On

Declare Auto_Variable_Bank_Cross = On

Declare Stack_Expand = On

Declare Watchdog = OFF

Declare Warnings = Off

Declare Access_Upper_64K = On

'================ MCU =======================

$define McuType              1

'================ TFT SCREEN ================

$define TFT_IC               ST7789V

$define TftScreenWidth       320

$define TftScreenHeight      240

$define TftWidthOffset       0

$define TftHeightOffset      0

$define TftPixelCheck        0

$define TFT_COM              SPI_2

$define TFT_COM_Slow         SPI2STAT = 0X0000 : SPI2CON1 = 0X033D : SPI2BUF = 0 : SPI2STAT = 0X8000

$define TFT_COM_Fast         SPI2STAT = 0X0000 : SPI2CON1 = 0X033B : SPI2BUF = 0 : SPI2STAT = 0X8000

$define TFT_RESET            PORTC.2

$define TFT_CS               PORTC.9

$define TFT_DC               PORTC.1

$define TFT_MOSI             PORTC.6

$define _TFT_MOSI            _PORTC.6

$define TFT_MISO             PORTC.5

$define _TFT_MISO            _PORTC.5

$define TFT_SCLK             PORTC.7

$define _TFT_SCLK            _PORTC.7

Include                      "TftLib\TFT_Graphic_Lib.inc"

Include                      "TftLib\Colors\Colors.inc"

Include                      "TftLib\Drivers\Drivers.inc"

Include                      "TftLib\Drivers\ST7789V.inc"

Include                      "TftLib\System\System.inc"

Include                      "TftLib\System\System_SPI_V4.inc"

Include                      "TftLib\Shapes\Shapes.inc"

Include                      "TftLib\Shapes\Shapes_SPI_V1.inc"

'================ SD CARD ===================

$define SDCardUsed           1

$define SDCardFatUsed        1

$define SD_COM               SPI_1

$define SD_CS                PORTA.1

$define SD_SDO               PORTA.4

$define _SD_SDO              _PORTA.4

$define SD_SDI               PORTA.9

$define _SD_SDI              _PORTA.9

$define SD_CLK               PORTC.3

$define _SD_CLK              _PORTC.3

Include                      "TftLib\SdCard\SdCard.inc"

Include                      "TftLib\SdCard\NoFat.inc"

Include                      "TftLib\SdCard\SdCard_SPI_V4.inc"

'================ MEMORY ====================

$define MemoryType           0

'================ TFT TOUCH =================

$define TOUCH_IC             0

'================ SPRITES ===================

$define SpritesUsed          0

'=============== SND FONT ===================

$define FontSNDUsed          0

'=============== BDF FONT ===================

$define FontBDFUsed          1

Include                      "TftLib\Fonts\BDF\F5_BDF_Sail-Regular-25.inc"

Include                      "TftLib\Fonts\BDF.inc"

Include                      "TftLib\Fonts\BDF_SPI_V1.inc"

$define Seafarer                 300,220,8,782468               '0,300,220,8,782468,CGI Animated Short Film _Sticking Seafarer_ by Jeremy Ross _ @CGMeetup.mp4

$define Bird                     782469                         '1,320,240,782469,782769,Bird.jpg

$define Countdown                300,220,782770,883574          '2,300,220,782770,883574,Old Film Countdown.mp4

Main:

Clear

SetCrystal()

SetPins()

DelayMS 2000

TftSetUp(0,0)

TftResetScreen(APRICOT)

TftSetBdfFont(5)

TftPrintBdfString("Positron video from RAW", 14,200,479,1,BLACK,BLACK,1)

DelayMS 2000

TftRgbFromSdRaw(10,10,Countdown,0)

TftBmpFromSdRaw(0,0,Bird)

TftPrintBdfString("Positron video from RAW", 14,200,479,1,RED,BLACK,1)

DelayMS 2000

TftRgbFromSdRaw(10,10,Seafarer,0)

End

'Set Fosc

Proc SetCrystal()

Clear

'Crystal = 16 MHz --> PLLDIV = 68 for 140MHz / PLLDIV = 73 For 150MHz

CLKDIV = %0000000000000010 'PLLPRE = 2 ; PLLPOST = 0

PLLFBD.Byte0 = 73 '--> 150MHz Fp

'Wait for oscillator PLL lock

While OSCCON.5 = 0 : Wend

DelayMS 100

EndProc

Proc SetPins()

'Set all digital

ANSELA = 0

ANSELB = 0

ANSELC = 0

'RP55 to SCK2 / RP54 To SDO2 / RPI53 to SDI2

RPOR5.Byte1 = %00001001     'RP55

RPOR5.Byte0 = %00001000     'RP54

RPINR22.Byte0 = %00110101   'SDI2

RPINR22.Byte1 = %00110111   'SCK2

SPI2CON1 = 0x033B        '8b / SPRE[2:0] 2:1 / PPRE[1:0] 1:1

SPI2STAT = 0x8000

SPI1CON1 = 0x033B        '8b / SPRE[2:0] 2:1 / PPRE[1:0] 1:1

SPI1STAT = 0x8000

EndProc

Config FICD = ICS_PGD1, JTAGEN_OFF

Config FPOR = ALTI2C1_OFF, ALTI2C2_OFF, WDTWIN_WIN25

Config FWDT = FWDTEN_OFF, PLLKEN_ON, WDTPOST_PS16384, WDTPRE_PR128, WINDIS_OFF

Config FOSC = FCKSM_CSECMD, IOL1WAY_OFF, OSCIOFNC_OFF, POSCMD_HS

Config FOSCSEL = FNOSC_PRIPLL, IESO_ON, PWMLOCK_OFF

Config FGS = GCP_OFF, GWRP_OFF

Created with the Personal Edition of HelpNDoc: Quickly and Easily Convert Your Word Document to an ePub or Kindle eBook