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

poczatkujący "bascom" przyciski

simpson777 05 Mar 2009 15:21 2140 14
REKLAMA
  • #1 6239638
    simpson777
    Poziom 11  
    Witam

    A więc jestem początkujący w świecie mikrokontrolerów.

    I mam problem!!!

    W świecie elektroniki miałem już do czynienia więc to nie problem.

    Dokładnym problemem jest programowanie, tak pierwszy program mi się udał czyli migająca dioda, ale gdy chciałem już przyciski do tego dołączyć to jest coś nie tak:(

    To jest program taki najprostszy:

    $regfile = "m8def.dat"                 'najpierw określamy typ proca
    $crystal = 1000000                          'definiujemy z jakim taktowaniem będzie pracował
    
    
    config portd=input                          'port b  jako wejścia
           portd=&B00000000                     'wszędzie stan spoczynkowy-0
    config portb=output                         'pprt d jako wyjścia
           portb=&B00000000                      'wszędzie stan spoczynkowy-0
    
    
     do                                         'pętla nieskończona
    
       if pind.0=1 then                         'jeżeli przycisk 1 wciśnięty
       portb.0=1                                'zapal diodę
       elseif pind.1=1 then                     'jeżeli przycisk 2 wciśnięty
       portb.0=0                                'zgaś diodę
       endif                                    'koniec bloku warunkowego
    
     loop                                       'koniec pętli
     
    end                                         'koniec programu
    

    Po zaprogramowaniu Atmegi dioda żyje swoim życiem:(
    Po pierwsze w ogóle nie reaguje na przyciski,
    Po drugie miga sobie. Raz szybciej, a raz wolniej.

    Co to może być??

    Pytania dotyczące mikrokontrolerów proszę zadawać w dziale "Mikrokontrolery".
    Proszę używać znaczników [code].
    Przeniosłem z Programowanie początkujący.
    [Dr.Vee]
  • REKLAMA
  • #2 6239731
    Konto nie istnieje
    Konto nie istnieje  
  • #3 6239790
    simpson777
    Poziom 11  
    Tzn, że przycisk mam dać pod mase?? bo mam pod vcc
  • REKLAMA
  • #4 6240531
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #6 6240871
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #8 6241026
    Konto nie istnieje
    Konto nie istnieje  
  • #9 6241318
    wader_669
    Poziom 28  
    simpson777 napisał:


    
    
    config portd=input                          'port b  jako wejścia
           portb=&B00000000                     'wszędzie stan spoczynkowy-0
    config portd=output                         'pprt d jako wyjścia
           portb=&B0000000                      'wszędzie stan spoczynkowy-0
    
    
    



    sorry to jest lekka przesada. Nawet sobie trudu nie zadales sprawdzic kod!!!!!!!

    popraw i zmiena na to:

    
    
    config portd=input                          'port b  jako wejścia
    portd=&B111111111                     'podciagniecie do +
    
    


    
    if pind.0=0 then
    


    przycisk podlacz do gnd.
    Masz problem z takim kode a umiesz ustawiac fusebity, bo masz ustawione na 10mHz ?

    Przydalo by sie poczytac helpa lub jakis kursow, nawet sa ksiazki. Dopiero pozniej zadawaj pytania na forum
  • #10 6241695
    janbernat
    Poziom 38  
    wader_669:
    10mHz ? =miliHerce to strasznie dłuuugo jest.
    100 sekund?

    Dodano po 6 [minuty]:

    $crystal = 1000000=1MHz, a nie dziesięć.
    Za moich czasów z laboratorium z miernictwa pała.

    Dodano po 7 [minuty]:

    A portd=&HFF
    Jest konieczne-bo jak obok włączysz lutownicę to zwariuje.
    Te oporniki podciągające mają ok. 30-50kOhm.
  • #11 6244581
    simpson777
    Poziom 11  
    Sorki nie było mnie przez chwile:(

    Ale ten program co tu mam to troszke błąd zrobiłem,
    a program wziełem z tej strony http://www.dioda.com.pl/forum/topics20/kurs-b...lekcja3-zaczynamy-programowac-vt1091.htm#6436

    Oczywiscie po małej przeróbce czyli porty mi tak pasowały na mojej płytce testowej.
    To może napisze jeszcze raz jaki mam problem przede wszystkim to wogole atmega nie reaguje na przyciski a jak odłącze przewody od przycisków i są luzem i zbliżam palca lub jak dotkne je to dioda sobie mignie albo nic sie nie dzieje.

    Jak by co poprawiłem program.
  • #12 6244776
    wader_669
    Poziom 28  
    I jak poprawiles kod? najlepiej umiesc go, bo cos czuje ze nadal jest zle.
    A po 2 nie wiem po co nam tlumaczysz skad masz program. Akurat na tej stronie wszystko ladnie jest przedstawione.
  • #13 6244810
    Logan
    Poziom 30  
    Napisz jeszcze jaką masz płytkę testową.
  • #14 6245805
    simpson777
    Poziom 11  
    Ja plytke to mam taka swoją zrobiona, a jutro zdjecia zrobie.
    poczatkujący "bascom" przyciski

    Proszę używać przycisku "Dodaj obrazek".
    [zumek]
  • #15 6247505
    simpson777
    Poziom 11  
    chłopaki działa
    zmieniłem doprowadzenie do przycisków zamiast plusa, dałem minus i jest wszystko ok dzieki
REKLAMA