RGB Video Play

Code Examples ››
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