| 
 RE: Bascom AVR - SP3SWJ -  25-10-2010 22:05
 
 do producenta...   maila napisz
 
 a nie dzwoń po sprzedawcach  :-)
 
 
 RE: Bascom AVR - SQ2EER -  25-10-2010 22:28
 
 Witam - no tak Jarku masz rację tylko że ja nie znam angielskiego
    - i tu jest problem - 73 Jacek. 
 
 RE: Bascom AVR - SP3SWJ -  27-10-2010 1:49
 
 Newsy...
 
 BASCOM-8051 2.0.14.0 DEMO available
 BASCOM-8051 version 2.0.14.0 is now available also as DEMO in Download section.
 This version extends waitms with waitmsE, the sound statement and range of SW UART.
 
 
 RE: Bascom AVR - SQ2EER -  18-03-2011 21:39
 
 Witam czytających - mam pytanie czy w Bascom AVR mozna przesuwać tekst w jeden z wierszy np. w LCD 16 x 4 - pierwszy wiersz ( lewo , prawo ) reszta stoi w miejscu - czy jedynie wszystkie cztery wiersze naraz - pozdrawiam 73 Jacek.
 
 
 RE: Bascom AVR - SP3SWJ -  18-03-2011 22:02
 
 - czy masz na myśli scrola po  PIXLU...  czy jak... ??
 - czy masz namyśli funkcje standardowego drivera - czy ogólne pytanie
 
 
 napewno można  ..  trzeba trochę na około trzeb asie pomęczyć - ale napewno można..
 można nawet napisac własny sterownik LCD z dodatkowymi funkcjami..
 
 Czy sprzwdziłeś opisy komend sterujących LCD na co pozwalają ???
 
 Ja ostatnio od zera pisałem sterownik kolorowego LCD do BASCOM 320x240 z odwracaniem okranów, pisaniem bokiem i obsługą ekranu dotykowego.
 
 Mozna DUŻO - ale jakim nakładem pracy :-)
 
 
 RE: Bascom AVR - SQ2EER -  18-03-2011 22:22
 
 Witam - Jarku chodzi mi o standardowe komendy Bascoma - shiftlcd (left , right) - przesuwanie tekstu ( po jednym znaku w lewo, prawo ) w jednej linijce - pozdrawiam Jacek.
 
 
 RE: Bascom AVR - SQ9MDD -  18-03-2011 22:31
 
 ...shiftlcd ciagnie cały wiersz jesli chcesz zrobić animacje z literkami musisz czyścić lcd i printować literki co jeden piksel obok. Malo efektywna metoda.
 
 
 RE: Bascom AVR - SQ2EER -  18-03-2011 23:03
 
 Witam - ok może być cały wiersz tylko że część tego 1 wiersza pojawia mi się w 3 linii
 
 
 
Kod:
 '************* Konfiguracja uC *****************'***********************************************
 $regfile = "m644pdef.dat"
 $crystal = 16000000
 
 
 Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.0 , Rs = Porta.1       'tu zmien na odpowiednie piny
 Config Lcd = 16 * 4
 
 Deflcdchar 1 , 31 , 4 , 4 , 4 , 4 , 4 , 4 , 4               ' replace ? with number (0-7)
 Deflcdchar 2 , 31 , 32 , 32 , 32 , 32 , 32 , 32 , 32        ' replace ? with number (0-7)
 Deflcdchar 3 , 31 , 4 , 4 , 4 , 4 , 32 , 32 , 32            ' replace ? with number (0-7)
 Deflcdchar 4 , 4 , 4 , 4 , 4 , 14 , 14 , 31 , 31            ' replace ? with number (0-7)
 
 Config Portd.0 = Input
 Config Portd.1 = Input
 Config Portd.2 = Input
 
 Set Portd.0
 Set Portd.1
 Set Portd.2
 
 Dim A As Byte
 
 
 Cursor Off
 
 
 Cls
 
 Do
 
 For A = 1 To 10
 
 Shiftlcd Right
 
 Waitms 250
 
 Next
 
 Lcd Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2)
 
 Lowerline
 Lcd " 261   " ; Chr(4) ; "   305  "
 
 Thirdline
 
 Lcd "Line 3"
 
 Fourthline
 
 Lcd "Line 4"
 
 Home Third
 
 Home Fourth
 
 
 Loop
 2, 3 oraz 4 też się przesuwają a ma tylko 1 - w lewo lub prawo - pozdrawiam Jacek.
 
 
 RE: Bascom AVR - SP3SWJ -  18-03-2011 23:05
 
 ... a do czego to mabyc - do jakiego urzadzenia ???  czy po prostu edukacyjnie...
 
 Ja bym ci polecił LCD graficzny - taki jak używam w MAX4 MAX6  - nawet  niedrogi a duzo więcej możesz...
 
 
 RE: Bascom AVR - SQ2EER -  18-03-2011 23:15
 
 
  hi efekt obracania się rotora - czyli w drugiej linijce od lewej: wskazanie aktualnego azymutu (261) w środku znacznik z prawej zadany azymut (305), a w pierwszej właśnie przesuwanie się stopni jak obraca się rotor - chcę
  spróbować napisać program do sterownika rotora  pozdrawiam Jacek. 
 Witam - napisałem taki programik z odczytem napięcia z potencjometru przez przetwornik ale nie mogę sobie poradzić z zaokrągleniem zmiennej "azym_zad" do wartości całkowitej - wychodzi mi z ułamkiem - co robie źle - mogę prosić o podpowiedź.
 program:
 
 
Kod:
 'odczyt testowy ADC Atmega 644p płyta testowa EvB 4.3  zamiana odczytanej'wartości z A/C na stopnie azymutu
 'Program obsługi wbudowanego w mikrokontroler
 '10-bitowego przetwornika A/C
 $regfile = "m644pdef.dat"                                   'informuje kompilator o typie mikrokontrolera
 '$sim
 $crystal = 16000000                                         'informuje kompilator
 'o częstotliwości oscylatora
 'taktującego mikrokontroler
 Config Lcd = 16 * 4
 
 Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.6 , Rs = Portc.7       'porty mikrokontrolera, do których dołączono wyświetlacz LCD
 Config Adc = Single , Prescaler = Auto , Reference = Avcc   'konfiguracja wewnętrznego przetwornika A/C
 Config Pind.0 = Input
 Config Pind.1 = Input
 Config Portb.0 = Output
 Config Portb.1 = Output
 
 Deflcdchar 1 , 31 , 31 , 4 , 4 , 4 , 4 , 4 , 4              ' replace ? with number (0-7)
 Deflcdchar 2 , 31 , 31 , 32 , 32 , 32 , 32 , 32 , 32        ' replace ? with number (0-7)
 Deflcdchar 3 , 31 , 31 , 4 , 4 , 4 , 32 , 32 , 32           ' replace ? with number (0-7)
 Deflcdchar 4 , 4 , 4 , 4 , 4 , 14 , 14 , 31 , 31            ' replace ? with number (0-7)
 Deflcdchar 5 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32        ' replace ? with number (0-7)
 
 'Zmienne
 Dim Wart_ac1 As Word                                        'zmienna na wartość odczytaną z przetwornika
 Dim V1 As Single                                            'zmienna przechowująca obliczon
 Dim Azym_odcz As String * 3                                 'zmienna, do której będzie wpisywany odczytany azymut
 Dim Azym_zad As Single                                      'zmienna, do której będzie wpisywany zadany azymut
 
 Declare Sub Lewo
 Declare Sub Prawo
 Declare Sub Kierunek
 
 Set Pind.0
 Set Pind.1
 Set Portb.0
 Set Portb.1
 
 Start Adc                                                   'uruchamia wbudowany przetwornik
 
 Wart_ac1 = Getadc(0)                                        'odczytanie wartości z wejści ADC0 mikrokontrolera
 V1 = Wart_ac1 / 2.842                                       'zamiana odczytanej wartości z A/C na stopnie azymutu
 
 Azym_odcz = Fusing(v1 , "#." )
 Azym_zad = V1
 Cursor Off
 
 
 Cls
 Wait 2
 
 Azym_zad = V1
 Locate 1 , 4 : Lcd "STEROWNIK"
 Waitms 500
 Locate 2 , 6 : Lcd "ROTORA"
 Wait 2
 Cls
 
 Do
 'początek pętli programu
 Wart_ac1 = Getadc(0)                                        'odczytanie wartości z wejści ADC0 mikrokontrolera
 V1 = Wart_ac1 / 2.842                                       'zamiana odczytanej wartości z A/C na stopnie azymutu
 
 Azym_odcz = Fusing(v1 , "#." )                              'formatowanie wartości zmiennej
 
 Locate 1 , 6 : Lcd "Azymut"
 Locate 2 , 1 : Lcd Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2)
 Locate 3 , 2 : Lcd Azym_odcz ; Chr(5) ;
 Locate 3 , 9 : Lcd Chr(4)
 Locate 3 , 12 : Lcd Azym_zad ; Chr(5)
 
 If Pind.0 = 0 Then                                          'zwiększanie zadanego azymutu
 Waitms 25
 If Pind.0 = 0 Then
 Incr Azym_zad
 If Azym_zad => 360 Then
 Azym_zad = 360
 End If
 End If
 End If
 
 If Pind.1 = 0 Then                                          'zmiejszanie zadanego azymutu
 Waitms 25
 If Pind.1 = 0 Then
 Decr Azym_zad
 If Azym_zad <= 0 Then
 Azym_zad = 0
 End If
 End If
 End If
 
 Locate 3 , 12 : Lcd Azym_zad ; Chr(5)
 
 If V1 <> Azym_zad Then
 Gosub Kierunek
 
 
 End If
 
 Loop                                                        'koniec pętli Do...Loop
 End                                                         'koniec programu
 
 Sub Kierunek
 If V1 < Azym_zad Then
 Reset Portb.0 : Set Portb.1                                'zapalanie diody LED1
 End If
 If V1 > Azym_zad Then
 Reset Portb.1 : Set Portb.0                                'zapalanie diody LED2
 End If
 If V1 = Azym_zad Then
 Set Portb.0 : Set Portb.1                                  'gaszenie obu LED
 End If
 
 End Sub
 część programu do odczytu z przetwornika znalazłem w necie - pozdrawiam 73 Jacek.
 
 
 
 |