logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATMega32][BASCOM/MCS] - Co poprawić w kodzie ?? Prośba do doświadczonych.

kdvc 11 Lut 2013 17:12 1401 3
REKLAMA
  • #1 11919994
    kdvc
    Poziom 24  
    Witam
    Zabrałem się wczoraj za napisanie jednego z pierwszych programów (chyba 3).
    Ogólnie działanie programu zadowala mnie lecz chciał bym poprosić osoby bardziej doświadczone o wskazówki merytoryczne względem kodu tutaj podanego (bo coś na pewno można poprawić na lepsze).
    Podany kod ma sterować trawiarką ( wiem ze troszkę gotowych wsadów jest, mimo to chciałem sam jako proces nauki napisać kod).
    Jeśli chodzi o schemat układu to jest złożony na ZL3AVR , a czujnikiem temperatury jest LM35DZ którego Vref jest podłączone pod ADC0.
    Piny D od 0 do 3 obsługują klawiaturę.
    A pin A.7 odpowiada za sterowanie przekaźnikiem.
    Poniżej zamieszczam kod o którym mowa .
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Dziękuje za pomoc pozdrawiam KDVC.
  • REKLAMA
  • #2 11922625
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • Pomocny post
    #3 11923040
    piotrva
    VIP Zasłużony dla elektroda
    Co do samego stylu ja dodam od siebie.
    1. Odświeżanie danych na LCD - nie rób ciągle Cls, Cursor Off Noblink. Ta druga instrukcja tylko na początku programu, a zamiast kasować danych i wyświetlać od nowa, zrób to za pomocą funkcji Locate i nadpisywania odpowiednich miejsc.
    2. Konfiguracja pinu sterującego przekaźnikiem na początek programu.
    3. Waitms 500 - takich instrukcji pozbądź się z programu - to w bardzo złym stylu
    4. Zmiany zmiennej Zadana nie są niczym ograniczone - możesz przekręcić licznik.
    Tyle zauważone na szybko ze stylu + podpisuję się pod uwagami przedmówcy.
  • #4 11933424
    kdvc
    Poziom 24  
    Przepraszam za drobna nieobecność .
    Co do pierwszego postu z uwagami czemu atmega 32 itp
    taka mam na zl3avr założoną . Natomiast jeśli chodzi o to jak chce zbudować cały termostat to użyje atmegi 8 i MCP 1525 (wala się gdzieś w skrzynce :)) jako napięcia odniesienia (ok 2,5 V) . Chociaż rozdzielczość nie jest tu bardzo dokładna bo nie potrzebna jest mi dokładność do setnych a i do dziesiętnych to już jest dużo jak na moje cele :)
    Teraz co do drugiego postu :
    Rzeczywiście błąd z cls i no Blinkiem wynikał tu akurat z nie wiedzy o tym ze nie trzeba za każdym razem ( uczę się dopiero tego języka ).
    Kolejną racją była sprawa przekręcania licznika rzeczywiście szlo to zrobić :)
    W tej chwili nie mam czasu aczkolwiek jutro wieczorem postaram się przedstawić kolejny kod w celu sprawdzenia czy poprawki idą w dobrym kierunku z waszymi radami .
REKLAMA