FAQ | Points | Add... | Recent posts | Search | Register | Log in


Analizator widma akustycznego na LCD 128x64 znaki listing


Post new topic  Reply to topic      Main Page -> Forum Index -> Electronic Circuits DIY ideas, problems -> Analizator widma akustycznego na LCD 128x64 znaki listing
Author
Message
Mariuszek15
Poziom 20
Poziom 20


Joined: 18 Sep 2005
Posts: 913
Location: Chrzanów

Post#1 Post from the author of the topic 10 Sep 2007 15:40   

Analizator widma akustycznego na LCD 128x64 znaki listing


Szukam dokumentacji analizatorów widma akustycznych na wyświetlaczach lcd. Dziekuje i pozdrawiam:)
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 10 Sep 2007 15:40   





Back to top
   
Doktor5
Poziom 17
Poziom 17


Joined: 25 Apr 2007
Posts: 408
Location: Tarnów

Post#2 10 Sep 2007 18:15   

Re: Analizator widma akustycznego na LCD


Witam !

Jest nieżle opisane takie urządzenie w jednym z numerów Elektroniki praktycznej

9/2006

Pozdrawiam
Back to top
   
Google

Google Adsense


Post# 10 Sep 2007 18:15   





Back to top
   
Mariuszek15
Poziom 20
Poziom 20


Joined: 18 Sep 2005
Posts: 913
Location: Chrzanów

Post#3 Post from the author of the topic 10 Sep 2007 18:29   

Re: Analizator widma akustycznego na LCD


Tak właśnie ściągnąłem dokumentacje tego całego zestawu. Jedynie nie podoba mi się wyświetlacz, który został zastosowany :) Znalazłem taki LCD graficzny http://www.allegro.pl/item240982250_nowe_lcd_128x64_c_78x70mm_white_blue_tlo_led_.html ale jest inny sterownik LCD wiec musze pisać program od nowa. Czy jest ktoś mi w stanie pomóc przerobić ten program na ten właśnie LCD??
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 10 Sep 2007 18:29   





Back to top
   
Mariuszek15
Poziom 20
Poziom 20


Joined: 18 Sep 2005
Posts: 913
Location: Chrzanów

Post#4 Post from the author of the topic 11 Sep 2007 15:32   

Re: Analizator widma akustycznego na LCD


Znalazłem kod źródłowy :) Więc co muszę zmienić, aby go uruchomić na LCD z allegro?
Code:

'Analizator widma z wyswietlaczem graficznym
'Marcin Wiązania
'marcin@wiazania@ep.com.pl

$prog &HFF , &HEF , &HD9 , &H00                             ' generated. Take care that the chip supports all fuse bytes.
$hwstack = 80                                               'ustawienie stosu
$swstack = 80                                               'ustawienie stosu
$framesize = 80                                             'ustawienie stosu
$regfile = "m8def.dat"                                      'typ mikrokontrolera
$crystal = 16000000                                         'czestotliwosc zegara

$lib "glcd.lib"                                             'zalaczenie biblioteki obslugujacej wyswietlacz z kontrolerem wyswietlacza

Config Graphlcd = 128 * 64 , Dataport = Portd , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8       'konfiguracja graficznego LCD
Config Adc = Single , Prescaler = 2 , Reference = Avcc      'konfiguracja przetwornika A/C
Config Portc.2 = Output                                     'konfiguracja portow
Config Portc.3 = Output
Config Portc.4 = Output
Config Portc.5 = Output

Declare Sub Pomiar                                          'podprogram pomiaru

Dim I As Byte                                               'zmienne
Dim K As Byte
Dim P As Byte
Dim F(7) As Byte
Dim Kol As Byte
Dim Wart_ac As Word                                         'wartosc odczytana z przetwornika
Dim Temp1 As Byte

Res Alias Portc.2                                           'przypisanie aliasow do linii portow
M_a Alias Portc.3
M_b Alias Portc.4
M_c Alias Portc.5

Reset Res                                                   'wartosci poczatkowe zmiennych
Cursor Off , Noblink                                        'inicjalizacja LCD
Cls

Start Adc                                                   'wlaczenie przetwornika
Line(0 , 4) -(0 , 54) , 1                                   'instrukcje rysowania skali
Line(0 , 54) -(3 , 54) , 1
Line(0 , 44) -(3 , 44) , 1
Line(0 , 34) -(3 , 34) , 1
Line(0 , 24) -(3 , 24) , 1
Line(0 , 14) -(3 , 14) , 1
Line(0 , 4) -(3 , 4) , 1
Line(127 , 4) -(127 , 54) , 1
Line(127 , 54) -(124 , 54) , 1
Line(127 , 44) -(124 , 44) , 1
Line(127 , 34) -(124 , 34) , 1
Line(127 , 24) -(124 , 24) , 1
Line(127 , 14) -(124 , 14) , 1
Line(127 , 4) -(124 , 4) , 1
Line(4 , 63) -(124 , 63) , 1
Line(4 , 63) -(4 , 62) , 1
Line(24 , 63) -(24 , 62) , 1
Line(44 , 63) -(44 , 62) , 1
Line(64 , 63) -(64 , 62) , 1
Line(84 , 63) -(84 , 62) , 1
Line(104 , 63) -(104 , 62) , 1
Line(124 , 63) -(124 , 62) , 1

Do                                                          'program glowny
  Set Res                                                   'zerowanie detektorow
  nop                                                       'pusta instrukcja
  nop                                                       'pusta instrukcja
  Reset Res                                                 'odblokowanie zerowania
  Delay                                                     'opoznienie

  Reset M_a                                                 'obsluga kanalu 1 (000)
  Reset M_b
  Reset M_c
  K = 1                                                     'kanal 1
  Call Pomiar                                               'wywolanie pomiaru
  For I = 54 To 4 Step -1                                   'petla rysowania slupka o dlugosci zaleznej od wartosci odczytanej z A/C
    If I >= F(k) Then                                       'jesli wartosc I wieksza lub rowna, to
      Kol = 1                                               'zapis wartosci 1 do zmiennej kol (piksele beda wyswietlane)
    Else                                                    'w przeciwnym razie
      Kol = 0                                               'zapis wartosci 0 do zmiennej kol (piksele beda wymazywane)
    End If
    Line(6 , I) -(21 , I) , Kol                             'wyswietlenie lub kasowanie w zaleznosci od kol linii slupka
  Next I                                                    'zwiekszenie o 1 wartosci I

  Set M_a                                                   'obsluga kanalu 2 (001)
  Reset M_b
  Reset M_c
  K = 2                                                     'kanal 2
  Call Pomiar                                               'wywolanie pomiaru
  For I = 54 To 4 Step -1                                   'petla rysowania slupka o dlugosci zaleznej od wartosci odczytanej z A/C
    If I >= F(k) Then                                       'jesli wartosc I wieksza lub rowna, to
      Kol = 1                                               'zapis wartosci 1 do zmiennej kol (piksele beda wyswietlane)
    Else                                                    'w przeciwnym razie
      Kol = 0                                               'zapis wartosci 0 do zmiennej kol (piksele beda wymazywane)
    End If
    Line(26 , I) -(41 , I) , Kol                            'wyswietlenie linii slupka
  Next I                                                    'zwiekszenie o 1 wartosci I

  Reset M_a                                                 'obsluga kanalu 3 (010)
  Set M_b
  Reset M_c
  K = 3                                                     'kanal 3
  Call Pomiar                                               'wywolanie pomiaru
  For I = 54 To 4 Step -1                                   'petla rysowania slupka o dlugosci zaleznej od wartosci odczytanej z A/C
    If I >= F(k) Then                                       'jesli wartosc I wieksza lub rowna, to
      Kol = 1                                               'zapis wartosci 1 do zmiennej kol (piksele beda wyswietlane)
    Else                                                    'w przeciwnym razie
      Kol = 0                                               'zapis wartosci 0 do zmiennej kol (piksele beda wymazywane)
    End If
    Line(46 , I) -(61 , I) , Kol                            'wyswietlenie linii slupka
  Next I                                                    'zwiekszenie o 1 wartosci I

  Set M_a                                                   'obsluga kanalu 4 (011)
  Set M_b
  Reset M_c
  K = 4                                                     'kanal 4
  Call Pomiar                                               'wywolanie pomiaru
  For I = 54 To 4 Step -1                                   'petla rysowania slupka o dlugosci zaleznej od wartosci odczytanej z A/C
    If I >= F(k) Then                                       'jesli wartosc I wieksza lub rowna, to
      Kol = 1                                               'zapis wartosci 1 do zmiennej kol (piksele beda wyswietlane)
    Else                                                    'w przeciwnym razie
      Kol = 0                                               'zapis wartosci 0 do zmiennej kol (piksele beda wymazywane)
    End If
    Line(66 , I) -(81 , I) , Kol                            'wyswietlenie linii slupka
  Next I                                                    'zwiekszenie o 1 wartosci I

  Reset M_a                                                 'obsluga kanalu 5 (100)
  Reset M_b
  Set M_c
  K = 5                                                     'kanal 5
  Call Pomiar                                               'wywolanie pomiaru
  For I = 54 To 4 Step -1                                   'petla rysowania slupka o dlugosci zaleznej od wartosci odczytanej z A/C
    If I >= F(k) Then                                       'jesli wartosc I wieksza lub rowna, to
      Kol = 1                                               'zapis wartosci 1 do zmiennej kol (piksele beda wyswietlane)
    Else                                                    'w przeciwnym razie
      Kol = 0                                               'zapis wartosci 0 do zmiennej kol (piksele beda wymazywane)
    End If
    Line(86 , I) -(101 , I) , Kol                           'wyswietlenie linii slupka
  Next I                                                    'zwiekszenie o 1 wartosci I

  Set M_a                                                   'obsluga kanalu 6 (101)
  Reset M_b
  Set M_c
  K = 6                                                     'kanal 6
  Call Pomiar                                               'wywolanie pomiaru
  For I = 54 To 4 Step -1                                   'petla rysowania slupka o dlugosci zaleznej od wartosci odczytanej z A/C
    If I >= F(k) Then                                       'jesli wartosc I wieksza lub rowna, to
      Kol = 1                                               'zapis wartosci 1 do zmiennej kol (piksele beda wyswietlane)
    Else                                                    'w przeciwnym razie
      Kol = 0                                               'zapis wartosci 0 do zmiennej kol (piksele beda wymazywane)
    End If
    Line(106 , I) -(121 , I) , Kol                          'wyswietlenie linii slupka
  Next I                                                    'zwiekszenie o 1 wartosci I

  Reset M_a                                                 'obsluga paska nagrywania (110)
  Set M_b
  Set M_c
  K = 7                                                     'obsluga paska nagrywania
  Wart_ac = Getadc(0)                                       'odczyt wartosc z przetwornika
  Wart_ac = Wart_ac / 4                                     'przeliczenie odczytanej wartosci
  Temp1 = Low(wart_ac)                                      'przeliczenie odczytanej wartosci
  If Temp1 > 53 Then                                        'jesli wartosc wieksza od 53 to
  Temp1 = Temp1 - 50                                        'odjecie wartosci 50
  Else                                                      'w przeciwnym razie
  Temp1 = 4                                                 'przypisanie wartosci 4
  End If
  If Temp1 > 124 Then                                       'jesli wartosc > od 124
    Temp1 = 124                                             'to przypisanie wartosci 124
  End If
  Line(4 , 58) -(124 , 58) , 0                              'wymazanie poziomego paska
  Line(4 , 59) -(124 , 59) , 0                              'wymazanie poziomego paska
  Line(4 , 60) -(124 , 60) , 0                              'wymazanie poziomego paska
  Line(4 , 58) -(temp1 , 58) , 1                            'wyswietlenie poziomego paska
  Line(4 , 59) -(temp1 , 59) , 1                            'wyswietlenie poziomego paska
  Line(4 , 60) -(temp1 , 60) , 1                            'wyswietlenie poziomego paska
Loop                                                        'koniec petli glownek
End                                                         'koniec programu

Sub Pomiar                                                  'procedura pomiaru
  Delay                                                     'opoznienie
  Wart_ac = Getadc(0)                                       'odczyt wartosci z A/C
  Wart_ac = Wart_ac / 10                                    'podzielenie wartosci przez 10
  Temp1 = Low(wart_ac)                                      'zapis do zmiennej Temp1 mniej znaczacego bajtu zmiennej wart_ac
  If Temp1 > 50 Then                                        'jesli wartosc wieksza od 50 to
    Temp1 = 50                                              'zapis do temp1 wartosci 50
  End If
  F(k) = 54 - Temp1                                         'obliczenie wielkosci slupka
  If F(k) < 4 Then                                          'jesli wartosc slupka mniejsza niz 4 to
    F(k) = 4                                                'zapis wartosci 4
  End If
End Sub                                                     'koniec podprogramu

Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Electronic Circuits DIY ideas, problems -> Analizator widma akustycznego na LCD 128x64 znaki listing
Page 1 of 1
Similar topics
Analizator widma akustycznego V2.1. (4)
Analizator widma akustycznego - V2 (24)
Analizator widma akustycznego. (5)
Analizator widma akustycznego (9)
Analizator Widma Akustycznego (69)
Analizator widma audio na wyświetlaczu graficznym 128x64. (7)
Analizator widma akustycznego na LCD i ATMega8 (35)
Analizator widma akustycznego na LCD. (3)
Analizator widma akustycznego 16-punktowy (44)
Problem z Analizator widma akustycznego (9)

Page generation time: 0.332 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed