Wyświetlacz 1.8' ST7735
: 15 lis 2017, 10:32
Witam, próbuję uruchomić od jakiegoś czasu ten mały wyświetlacz i mam pewien problem.
Otóż wyświetlacz już działa, i mogę tylko wyświetlić np. tekst lub jakiś obrazek, ale mnie bardziej interesuje o wyświetlenie
zmiennej takiej która to będzie np. timerem, miernika napięcia czy temperatury.
Poniżej zamieszczam kod i bardzo bym prosił o pomoc w tej sprawie bo chciałbym uruchomić pierwszy swój jakiś projekcik
z wyświetlaczem kolorowym.
Otóż wyświetlacz już działa, i mogę tylko wyświetlić np. tekst lub jakiś obrazek, ale mnie bardziej interesuje o wyświetlenie
zmiennej takiej która to będzie np. timerem, miernika napięcia czy temperatury.
Poniżej zamieszczam kod i bardzo bym prosił o pomoc w tej sprawie bo chciałbym uruchomić pierwszy swój jakiś projekcik
z wyświetlaczem kolorowym.
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- '*******************************************************************************
- 'Programm for Display ST7735R 1.8Zoll 128x160
- ' and Display ILI9163 1.8Zoll 128x160
- 'Bascom IDE 2.0.7.7
- '
- 'Version:13012014
- 'By Hkipnik
- ' © Copyright by H.Kipnik 2012
- 'Date 13.01.2014
- '*******************************************************************************
- ' SD Card CS --> portb.0
- ' Miso --> portb.3
- 'Display
- ' CS --> portb.7
- ' DC --> portb.5
- ' reset --> portb.6
- ' Mosi --> portb.2
- ' Clock --> portb.1
- ' Lite --> +5V
- '
- '*******************************************************************************
- $regfile = "m2560def.dat"
- $crystal = 16000000
- $hwstack = 250
- $swstack = 250
- $framesize = 300
- $baud = 57600
- '*******************************************************************************
- Const Sdcard = 1 'use SD Card = 1 no SD Card = 0
- Const Modus = 1 '0=Portrait 1=Landscape
- Const Driver = 1 '0=ST7735 1=ILI9163
- 'only Display ST7735
- 'Display typ Red or black Tab have different RGB order
- 'color of the display plastic wrap
- Const Disp_typ = 1 'RGB order 0=Black Tab 1=Red Tab
- '*******************************************************************************
- Config Portk.7 = Output
- Config Portk.5 = Output
- Config Portk.6 = Output
- Lcd_cs Alias Portk.7
- Lcd_dc Alias Portk.5
- Lcd_reset Alias Portk.6
- Portk.7 = 1
- '*******************************************************************************
- 'Include Declaration
- $include "18Spi_declarations.inc"
- '*******************************************************************************
- ' Init Sd Card And Spi
- #if Sdcard = 1
- $include "Config_MMCSD_HC.bas"
- $include "Config_AVR-DOS.bas"
- Call Init_sd_card()
- #endif
- #if Sdcard = 0
- Config Portb.0 = Output 'auch wenn nicht genutzt
- Portb.0 = 1
- Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
- Spsr.0 = 1
- Spiinit
- #endif
- Dim Timerek As Byte
- Dim Tekst As Integer
- '*******************************************************************************
- 'Init the Dispaly
- Call Lcd_init()
- '*******************************************************************************
- Tim = 10
- Call Lcd_clear(black)
- #if Modus = 1
- Call Lcd_set_window(0 , 0 , 159 , 127)
- #else
- Call Lcd_set_window(0 , 0 , 127 , 159)
- #endif
- Wait 2
- Call Lcd_box(2 , 2 , 154 , 122 , 3 , Blue , Green)
- Waitms 100
- 'Modus = 1
- Do
- '*******************************************************************************
- Rem ********** TEKST NA WYŚWIETLACZ *******************************************
- ' ************* Wielkość tekstu wybieramy **************************************
- ' ************* If Fontset = 1 Then Restore Font8x8
- ' If Fontset = 2 Then Restore Font12x16
- ' If Fontset = 3 Then Restore Font8x12
- ' ' If Fontset = 4 Then Restore Font6x10
- ' ' If Fontset = 5 Then Restore Font10x16
- '*******************************************************************************
- #if Modus = 1
- 'Call Lcd_clear(black)
- 'Call Lcd_text( "Font 6x10" , 15 , 20 , 1 , Red , Transparent)
- 'Call Lcd_text( "Font 8x8" , 5 , 40 , 4 , Yellow , Transparent)
- 'Call Lcd_text( "Font 8x12" , 5 , 60 , 3 , Green , Transparent)
- 'Call Lcd_text( "Font 12x16" , 5 , 80 , 2 , Blue , Transparent)
- 'Call Lcd_text( "TIMER" , 20 , 20 , 2 , Yellow , Transparent)
- Call Lcd_text( "00:00" , 20 , 40 , 2 , Blue , Transparent)
- Wait 1
- #endif
- ' ******************************************************************************
- ' #if Sdcard = 1
- ' Call Lcd_pic(0 , 0 , 160 , 128 , "a12.bin")
- ' Call Lcd_text( "Transparent" , 25 , 50 , 3 , Red , Transparent)
- ' Call Lcd_text( "Text" , 60 , 80 , 3 , Red , Transparent)
- ' Wait 2
- ' Call Lcd_pic(0 , 0 , 160 , 128 , "a13.bin")
- ' Call Lcd_text( "Holiday" , 40 , 50 , 3 , Yellow , Transparent)
- ' Wait 2
- ' Call Lcd_clear(black)
- ' Call Lcd_pic(5 , 5 , 150 , 113 , "1501.bin")
- ' Wait 2
- ' Call Lcd_pic(5 , 5 , 150 , 113 , "1502.bin")
- ' Wait 2
- ' Call Lcd_pic(5 , 5 , 150 , 113 , "1503.bin")
- ' Wait 2
- ' #endif
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Pic from Flash" , 20 , 5 , 3 , Yellow , Black)
- ' Restore Pic1
- ' ' X Y Breite Höhe
- ' Call Lcd_pic_rom(45 , 30 , 70 , 70) 'Bin file
- ' Wait 2
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Line" , 60 , 5 , 3 , Yellow , Black)
- ' Call Lcd_line(0 , 0 , 159 , 0 , 1 , White)
- ' Call Lcd_line(0 , 127 , 159 , 127 , 1 , White)
- ' Call Lcd_line(0 , 0 , 0 , 127 , 1 , White)
- ' Call Lcd_line(159 , 0 , 159 , 127 , 1 , White)
- ' Call Lcd_line(1 , 1 , 158 , 126 , 2 , Red)
- ' Call Lcd_line(1 , 126 , 158 , 1 , 2 , Yellow)
- '-------------------------------------------------------------------------------
- ' Wait 2
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Circle" , 55 , 1 , 3 , Yellow , Black)
- ' Call Lcd_circle(80 , 68 , 50 , Green)
- ' Call Lcd_circle(80 , 68 , 40 , Red)
- ' Call Lcd_circle(80 , 68 , 30 , Blue)
- ' Call Lcd_circle(80 , 68 , 20 , Yellow)
- ' Call Lcd_circle(80 , 68 , 10 , Magenta)
- ' Call Lcd_circle(80 , 68 , 5 , Brown)
- ' Wait 2
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(white)
- ' Call Lcd_fill_circle(22 , 30 , 15 , Green)
- ' Call Lcd_fill_circle(138 , 30 , 15 , Red)
- ' Call Lcd_fill_circle(80 , 30 , 15 , Blue)
- ' Call Lcd_fill_circle(22 , 80 , 10 , Blue)
- ' Call Lcd_fill_circle(138 , 80 , 10 , Green)
- ' Call Lcd_fill_circle(80 , 80 , 10 , Red)
- ' Call Lcd_fill_circle(22 , 110 , 5 , Red)
- ' Call Lcd_fill_circle(138 , 110 , 5 , Blue)
- ' Call Lcd_fill_circle(80 , 110 , 5 , Green)
- ' Call Lcd_text( "Circle Fill" , 40 , 50 , 3 , Black , Transparent)
- ' Wait 2
- ' Call Lcd_clear(black)
- '-------------------------------------------------------------------------------
- ' Call Lcd_text( "Box Fill" , 45 , 2 , 3 , Yellow , Black)
- ' Call Lcd_box(20 , 20 , 120 , 88 , 1 , Yellow , Red)
- ' Call Lcd_box(30 , 30 , 100 , 68 , 1 , Green , Red)
- ' Call Lcd_box(40 , 40 , 80 , 48 , 1 , Red , Red)
- ' Call Lcd_box(50 , 50 , 60 , 28 , 1 , Blue , Red)
- ' Wait 2
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Box with Border" , 20 , 2 , 3 , Yellow , Black)
- ' Call Lcd_box(20 , 20 , 120 , 88 , 2 , Yellow , Red)
- ' Call Lcd_box(30 , 30 , 100 , 68 , 2 , Green , Blue)
- ' Call Lcd_box(40 , 40 , 80 , 48 , 2 , Red , Yellow)
- ' Call Lcd_box(50 , 50 , 60 , 28 , 2 , Blue , Green)
- ' Wait 2
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Box" , 63 , 2 , 3 , Yellow , Black)
- ' Call Lcd_box(20 , 20 , 120 , 88 , 3 , Yellow , Red)
- ' Call Lcd_box(30 , 30 , 100 , 68 , 3 , Green , Blue)
- ' Call Lcd_box(40 , 40 , 80 , 48 , 3 , Red , Yellow)
- ' Call Lcd_box(50 , 50 , 60 , 28 , 3 , Blue , Green)
- '-------------------------------------------------------------------------------
- ' Wait 2
- ' Call Lcd_clear(yellow)
- ' Waitms 500
- ' Call Lcd_clear(red)
- ' Waitms 500
- ' Call Lcd_clear(green)
- ' Waitms 500
- ' #endif
- '*******************************************************************************
- 'test Portrait
- '*******************************************************************************
- ' #if Modus = 0
- ' Call Lcd_clear(black)
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Font 6x10" , 5 , 20 , 4 , Red , Transparent)
- ' Call Lcd_text( "Font 8x8" , 5 , 40 , 1 , Yellow , Transparent)
- ' Call Lcd_text( "Font 8x12" , 5 , 60 , 3 , Green , Transparent)
- ' Call Lcd_text( "Font 12x16" , 1 , 80 , 2 , Blue , Transparent)
- ' Call Lcd_text( "Font 10x16" , 1 , 110 , 5 , Yellow , Transparent)
- ' Wait 2
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Line" , 40 , 2 , 3 , Yellow , Black)
- ' Call Lcd_line(1 , 1 , 127 , 1 , 1 , Yellow)
- ' Call Lcd_line(1 , 1 , 1 , 159 , 1 , Yellow)
- ' Call Lcd_line(127 , 1 , 127 , 159 , 1 , Yellow)
- ' Call Lcd_line(1 , 159 , 127 , 159 , 1 , Yellow)
- ' Call Lcd_line(1 , 1 , 127 , 159 , 2 , Yellow)
- ' Call Lcd_line(127 , 1 , 1 , 159 , 2 , Yellow)
- ' Wait 2
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Circle fill" , 18 , 2 , 3 , Yellow , Black)
- ' Call Lcd_fill_circle(64 , 80 , 40 , Yellow)
- ' Call Lcd_fill_circle(64 , 80 , 30 , Red)
- ' Call Lcd_fill_circle(64 , 80 , 20 , Green)
- ' Call Lcd_fill_circle(64 , 80 , 10 , Blue)
- ' Call Lcd_fill_circle(64 , 80 , 5 , Yellow)
- ' Wait 2
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Circle" , 38 , 2 , 3 , Yellow , Black)
- ' Call Lcd_circle(64 , 80 , 40 , Red)
- ' Call Lcd_circle(64 , 80 , 30 , Yellow)
- ' Call Lcd_circle(64 , 80 , 20 , Green)
- ' Call Lcd_circle(64 , 80 , 10 , Blue)
- ' Call Lcd_circle(64 , 80 , 5 , Yellow)
- ' Wait 2
- ' Call Lcd_clear(black)
- '-------------------------------------------------------------------------------
- ' Call Lcd_text( "Box Fill" , 10 , 2 , 3 , Yellow , Black)
- ' Call Lcd_box(14 , 40 , 100 , 100 , 1 , Blue , Red)
- ' Call Lcd_box(24 , 50 , 80 , 80 , 1 , Red , Red)
- ' Call Lcd_box(34 , 60 , 60 , 60 , 1 , Yellow , Red)
- ' Call Lcd_box(44 , 70 , 40 , 40 , 1 , Green , Red)
- ' Call Lcd_box(54 , 80 , 20 , 20 , 1 , Brown , Red)
- ' Wait 2
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Box with Border" , 5 , 2 , 3 , Yellow , Black)
- ' Call Lcd_box(14 , 40 , 100 , 100 , 2 , Blue , Red)
- ' Call Lcd_box(24 , 50 , 80 , 80 , 2 , Red , Green)
- ' Call Lcd_box(34 , 60 , 60 , 60 , 2 , Yellow , Blue)
- ' Call Lcd_box(44 , 70 , 40 , 40 , 2 , Green , Red)
- ' Call Lcd_box(54 , 80 , 20 , 20 , 2 , Brown , White)
- ' Wait 2
- ' Call Lcd_clear(black)
- ' Call Lcd_text( "Box" , 10 , 2 , 3 , Yellow , Black)
- ' Call Lcd_box(14 , 40 , 100 , 100 , 3 , Blue , Red)
- ' Call Lcd_box(24 , 50 , 80 , 80 , 3 , Red , Green)
- ' Call Lcd_box(34 , 60 , 60 , 60 , 3 , Yellow , Blue)
- ' Call Lcd_box(44 , 70 , 40 , 40 , 3 , Green , Red)
- ' Call Lcd_box(54 , 80 , 20 , 20 , 3 , Brown , White)
- ' Wait 2
- '-------------------------------------------------------------------------------
- ' #if Sdcard = 1
- ' Call Lcd_clear(black)
- ' Call Lcd_pic(60 , 60 , 50 , 50 , "UHR1.bin")
- ' Wait 2
- ' Call Lcd_pic(0 , 0 , 128 , 160 , "h10.bin")
- ' Call Lcd_text( "Transparent" , 10 , 50 , 3 , Red , Transparent)
- ' Wait 2
- ' Call Lcd_pic(0 , 0 , 128 , 160 , "h11.bin")
- ' Wait 2
- ' Call Lcd_pic(0 , 0 , 128 , 160 , "h12.bin")
- ' Wait 2
- ' #endif
- '-------------------------------------------------------------------------------
- ' Call Lcd_clear(red)
- ' Restore Pic1
- ' ' X Y Breite Höhe
- ' Call Lcd_pic_rom(20 , 20 , 70 , 70) 'Bin file
- ' Wait 4
- ' #endif
- Loop
- End
- '*******************************************************************************
- $include "18Spi_functions.inc"
- #if Sdcard = 1
- $include "SD_card_init.inc"
- #endif
- '$inc Pic1 , Nosize , "Bilder\204.bin" '70x70
- $include "Font\Font12x16.font"
- $include "Font\Font8x8.font"
- $include "Font\font8x12.font"
- $include "Font\font6x10.font"
- $include "Font\font10x16.font"
- '*******************************************************************************