W koncu przelamalem sie i postanowilem nauczyc sie programowac w assemblerze. Przestudiowalem troszke "8051 programmers guide" i wymyslilem swoj pierwszy program. Postanowilem zaczac od czegos banalnego czyli od migajcaej diody z okreslona czestotliwoscia mrugania :D. ALe oczywiscie nie obylo sie bez problemow :( Program wyglada nastepujaco: start:...
Witam, Problem został rozwiązany: Podpiąłem diodę pod jedną nóżkę i napisałem prostą funkcję w .S zapalającą tą diodę. Chciałem sprawdzić, czy procek reaguje na jakąkolwiek funkcję, nawet najprostszą. Dioda zaświeciła się, ale bardzo słabym światłem - pull up. Czyli w kodzie:[syntax=avrasm].global ZapalDiode ZapalDiode: sbi DDRD, 1 sbi _SFR_IO_ADDR(PORTD),...
http://obrazki.elektroda.pl/6035825200_1... Witam, w chciałbym się podzielić moim ostatnim tworem jaki powstał z chwili potrzeby. http://obrazki.elektroda.pl/2685746200_1... http://obrazki.elektroda.pl/2820438100_1... http://obrazki.elektroda.pl/1850987000_1... http://obrazki.elektroda.pl/4784630600_1...
Witam wszystkich! :) Mam wielką prośbe dla tych którzy umieją programowac na assemblerze w dosie:) Mam zadanie do szkoły żeby napisać program żeby dioda migała na takiej płytce (nie wiem jak ona się dokładnie nazywa) płytkę sie podłącza do komputera przez port i w dosie sie pisze program . Ja musze napisac programy żeby dioda (test) migała w czasie...
Witam Dopiero zaczynam się uczyć programowania AVR-ów w Asemblerze i mam problem z napisaniem programu gdzie jeden przycisk jest odpowiedzialny za załączenie diody LED i wyłączenie. Mam atmege8 dioda jest podpięta pod PC0 a przycisk pod PD0 jak na razie udało mi się tylko napisać takie coś że dioda się zapala ale zaraz po puszczeniu przycisku gaśnie.
(zresztą poza VCC, GND, AVCC i RESET na wszystkich portach jest 0). Jak to poza GND jest zero? :D Może trafiłeś jakiś bubel, wypróbuj inną sztukę. Chodź z tego co pisałeś to po prostu musi ruszyć. ps, Ja przesiadłem się z C na assembler i nie żałuje.
Ok przekonaliście mnie jednak do assemblera i języku C chcę robić więcej niż migająca dioda led :) więc bardzo proszę poradźcie mi jakaś dobrą ksiązkę od podstaw programowania w assembler i języku C która posiada ćwiczenia itp z góry dziękuję nawet może to być jakiś poradnik internetowy w którym jest opisany krok po kroku jestem chętny nauki :D lubię...
Witam. Mam problem z programem ponieważ nawet nie wiem jak się za niego zabrać. Jeśli by był ktoś tak miły i pomógł mi napisać taki program albo napisał za mnie byłbym bardzo wdzięczny "Proszę opracować program odliczający kolejne sekundy. Proszę w tym celu zorganizować 8-bitowy licznik sekund. Aktualny stan młodszej tetrady tego licznika (w zakresie...
Jeszcze dla pewności też wybiorę chyba AVR i zobaczymy co mi z tego wyjdzie :) ( co prawda bedzie trzeba programatorek wydłubać ale co tam :) ) Tylko że potrzebował bym jeszcze a nei wiem skad wziąść jakiś schemat układu testującego nio i rozkazy w ASM ( to chyba z PDF rozkazy wziąść ? ) jeżeli jeszcze nie wybrałeś to poleciłbym ARM'y - nie żebym miał...
Witam, mam problem z ustawieniem przerwania od timera0 na atmega8, jestem początkujący jeśli chodzi o assembler... Problem leży w tym że, uP jest taktowany z wewnętrznego zegara 1MHz, i jeśli mam ustawiony prescaler na 8 czyli rejestr TCCR0 na 2 to powinienem otrzymać obsługę przerwania co 8us a na oscyloskopie otrzymałem igiełkę co 2ms;/ nie wiem co...
Zrobiłem coś takiego: czasem tylko mignie. W każdym razie wszystko jest na dobrej drodze, raz miga jaśniej, raz ciemniej. Nie wiem tylko dlaczego nie zawsze się zaświeci i dlaczego gaśnie...
Ale nie da się wyłączyć na przykład 3 diod na raz. Można zaraz po sobie, ale to da błędy w sterowaniu i też może się okazać że ta 3 najmizerniej sterowana dioda będzie miała skokowe zmiany jasności. Nie mówiąc już o tym że nie da się ustawić wypełnienia na 0. Więc najprostsze rozwiązanie (z jednym Timerem) jest chyba najlepsze. Ale oczywiście tylko...
witam, popełniłem literówkę przy edycji na forum ale w projekcie mam już prawidłowo [syntax=c] #define LED_GPIO GPIOA ///< GPIO port to which the LED is connected #define LED_pin 5 ///< pin number of the LED #define LED (1 << LED_pin) #define LED_ODR LED_GPIO->ODR///< output register for the LED #define LED_bb bitband_t m_BITBAND_PERIPH(&LED_ODR,...
P1: Odwołujesz się do pojedynczej linii portu P1.6 i tylko ją zerujesz. Dioda się zapali o ile będzie sprawna i odpowiednio podłączona do tej linii portu. P2: Kod wynikowy identyczny z P1 tylko linię portu P1.6 nazywasz "LED" - lepiej się pisze program. Przy 4 portach mamy 32 linie i pamiętanie "na cyferkach" co gdzie jest podpięte może co najwyżej...
Będę złośliwy. Nie zaznaczyłeś którą opcję skreśliłeś. A zresztą :D :D :D Sterowanie diody RGB The easiest way to control a RGB Led tinyRGB uses an ATMEL Attiny15L (8pin uC) to control a standard RGB Led. R1 is a pullup Resistor for Reset generation (should be about 10k). R3 to R5 depend on the LED you are using. You can calculate the resistor as followed:...
Wymóg :) Co do powyższych zadań... Do dysponuje programami do sprawdzenia : 1. Przycisk S1 podłączony do portu A0 świeci diodę podłączone do portu B0 http://obrazki.elektroda.pl/7408050500_1... [syntax=avrasm].include "m32def.inc" ldi R16, high(RAMEND) ldi R17, low(RAMEND) out SPH, R16 out SPL, R17 opoz: ldi R25, 0xFF sk1: nop dec R25...
Witam czy mógłby ktoś sprawdzić poprawność kodu Assembler '51? Czy składnia jest ok? WDTCN DATA 0FFH ; WATCHDOG TIMER CONTROL AMX0CF DATA 0BAH ; ADC 0 MUX CONFIGURATION AMX0SL DATA 0BBH ; ADC 0 MUX CHANNEL SELECTION ADC0CN DATA 0E8H ; ADC 0 CONTROL ADC0H DATA 0BFH ; ADC 0 DATA - HIGH BYTE REF0CN DATA 0D1H ; VOLTAGE REFERENCE 0 CONTROL ADC0CF DATA 0BCH...
# Hey Emacs, this is a -*- makefile -*- #---------------------------------------... # WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al. # # Released to the Public Domain # # Additional material for this makefile was written by: # Peter Fleury # Tim Henigan # Colin O'Flynn # Reiner Patommel...
ech.. Napisałem programik: ;---------------------------------------... ; print_test.asm print "test" on LPT printer.. ; ;---------------------------------------... ;---------------------------------------... ; The next 6 lines are directions to the assembler...
:oops: Poprawiłem mój fatalny błąd (brak zwiększania zawartości r0)! Zmiana polega na tym, ze tylko raz ładujesz wartość do R0, i uniknąłem rozkazu SJMP ENDTI - chodzi o czytelniejszy zapis programu. Trochę piszesz niezrozumiale. Nadal niewiem, czy pisząc o diodach masz na myśli sąsiedni wyświetlacz? I co znaczy, że można (diody?) podłączyć do P1, które...
1. Piny P1.0 i P1.1 są wejściem komparatora, aby działały jak zwykły pin I/O musisz je podciągnąć do Vcc przez restystor. 2. Piszę z głowy, nie testowałem [syntax=asm] DIODA equ P1.7 org 0h start: cpl DIODA mov R6, #255 opoznienie1: mov R7, #255 opoznienie2: djnz R7, opoznienie2 djnz R6, opoznienie1 sjmp start END [/syntax]
Czy ten programik dałoby radę poprawić ? Według mnie nie ma instrukcji do zapalenia diody ani wyświetlacza
W jaki sposób obsłużyć przerwanie na tym mikrokontrolerze?Np. program w assemblerze w którym dioda miga co 1 sekunde
a w tablicy wcale nie musi być adres procedury a np. pin portu pod który podpięta jest dioda. AVRGCC awiera funkcję liczby losowej jakby to interesowało autora.
Nie ma potrzeby aby vectors był osobno wydzielony. Tak akurat zrobił kol. Freddie, że oddzielił wektory do oddzielnego pliku. W zależności od tego skąd bierzesz te pliki to napotkasz się na różne podejścia w organizacji tych plików. Np Atmel ma rozbiegówkę i wektory przerwań w jednym pliku *.c. Nie ma jakieś potrzeby aby rozbiegówka dla Cortexów była...
Zapalenie na klawiaturze diody i wlaczenie CapsLock'a : ;KOD1 .model tiny .stack 100h .data .code mov ax,0000h mov ds,ax mov bx,0417h mov ax,0040h mov [bx],ax mov al,0edh out 60h,al mov al,4h out 60h,al mov ah,4ch int 21h end Przelacza stan klawiszy CapsLock,NumLock i ScrollLock na przeciwny : ;KOD2 .model tiny .stack 100h .data .code mov ax,0000h...
Wydaje mi się że tak: [syntax=asm] ;Wyświetlasz sumę (ORL) rejestrów A i B ;Pomocniczy rejestr C,D ;Rejestry A,B,C i D (dowolne rejestry R0-R7) nie mogą ulec zniszczeniu w operacjach dodawania, i wyświetlania danych na porcie ;CARRY - oczywiście flaga C ;klamry {} są tylko po to aby lepiej było widać poszczególne pętle ;=======program========= start:...
Muszę zrobić teraz taką rzecz, używając timera 1 mam poznać czas od momentu zgaśnięcia diody (tego podczas mrugania) do momentu naciśnięcia przycisku "1" wyłączającego mruganie. Następnie ten czas ma być zapisywany i co taki czas ma mrugać dioda Naprawdę musisz używać do tego celu aż dwa timery?
Proponuje zacząć od zrobienia czegoś najprostszego, np układu migającego diodami, znajdź gotowca i uruchom go, zobacz jak działa, potem (z listą rozk. w ręku) zmieniaj coś w programie i obserwuj jaki to wpływa na działanie układu. Tego typu obserwacje i badanie są uciążliwe do przeprowadzania na "żywo" dlatego najwygodniej posługiwać się symulatorem,...
1. Jeśli chcesz się naprawdę nauczyć jak działa procesor to wybierz assembler, jeśli µP ma tylko sterować diodami itp. to język C. 2. Proponowałbym AVR, gdyż oprócz 8051 (które są już przestarzałe) jest o nich bardzo dużo publikacji. 3. Kup jakiś tani programator ISP z allegro (ok 20pln). Nie będziesz musiał za każdym razem przekładać procka podczas...
Witam :) Zwarcie pinów RA1 i RA0 spowoduje zapalenie się diody przyłączonej do RB2, kiedy RA1 i RA0 przestaną być zwierane, wówczas dioda zgaśnie, trochę głupawy programik :) , ale działa. Wersja w assemblerze: #include P16F84A.inc CLRF STATUS CLRF INTCON BSF STATUS, 5; bank 1 CLRF OPTION_REG BCF TRISA, 0; ustawienie RA0 jako wyjscia BSF TRISA, 1; ustawienie...
Witam, Programy typu zapal diodę w pętli już przerobiłem, od paru dni męczę sie z Real Time Timer . Napisałem sobie program który co 2 sekundy zapala kolejną diodę, aż do 8 diody. W symulatorze program działa w porządku , ale jak testuje na płytce, to zapalają mi sie po 2 sekundach wszystkie diody i nie wiem co jest. Program jest napisany w Keilu. Oto...
Wydaje mi się że wybieranie kanałów w ten sposób nie zadziała. Jak raz wpiszesz tam 7 (0b111) to już nie wrócisz na cokolwiek mniej, ale to nie nie tłumaczy twojego problemu. Spróbuj do ADCSRA wpisać stałą w ramach startu konwersji, a nie |= Zobacz czy numery bitów są dobrze tłumaczone, zgodnie z dokumentacją mega8. Jeśli faktyczne próby robisz na bardziej...
Nie podałeś w jakim środowisku będzie uruchamiany kod ale AD1: Diody zapalą się jeżeli w układzie docelowym stan '1' zapala diodę. Po instrukcji jmp nie dajemy przecinka, przecinek występuje tylko jeżeli rozdzielamy parametry rozkazu. Chyba że jest to specyfika używanego assemblera. AD2: Dobrze byłoby nazwać jakoś to makro, słowo 'nazwa' może być mylące....
a czemu tylko silnik chcesz tym sterowac?mozna tez se dioda pomurgac z PWM-a:)
Witam! Program 0,5s zajmujący bardzo mało zasobów (acc + sp): dioda: cpl p3.0 mov a,#5 delay: push acc mov a,#100 delay_ms: push acc mov a,#250 djnz acc,$ mov a,#250 djnz acc,$ pop acc djnz acc,delay_ms pop acc djnz acc,delay sjmp dioda end
No właśnie.... A czy na początku ktoś pisze z głową? Nie znam takiego przypadku. A że SZYBSZY to miałem na myśli czas potrzebny do napisania programu. Jeśli ktoś pisał w życiu w C to asemblera używa tylko w razie konieczności...PRAWDA? PYTANIE do kolegi AUGUSTA. Czemu nikt nie programuje DSP w assemblerze?
Witam , wczoraj zaprogramowalem PWM w assemblerze dla diody LED na 100Hz i dziala dobrze. Uwazam ze 100Hz jest OK.
dzieki oberon:] juz wszystko rozumiem:]
#include <c8051F020.h> unsigned char dioda; void delay(unsigned char x) { for(i=0; i<x;i++); } void main(void) { while(1) { while(P1.7==0) { delay(100); dioda=-dioda } } } takie cos sklecilem sobie:)
Na 51 nie ma takiej instrukcji o której mówisz. Trzeba się posiłkować rozkazami jb lub jnb. A program da się zmniejszyć. Zakładając że załączenie przycisku sygnalizowane jest jedynką i jedynka także włącza diodę to może to wyglądać następująco: zmiana stanu diody musi być przy wykryciu zbocza narastającego a nie przy poziomie bo inaczej diody migałyby...
Witam. Jeżeli ktoś ma program napisany w Asm do obsługi czujnika zderzeń na podczerwień ( Ne555, TSOP1736, Dioda IR ) to proszę o wysłanie mi na maila konradek26(at)gmail.com lub o kontakt na GG. Z góry dziękuje i pozdrawiam, Konrad :D
Jesli nic nie kumasz a chcesz się nauczyc to nie zaczynaj od takiego czegos... bo szybko sie zniechecisz. Zamigocz dioda w przerwaniu, zlicz impulsy i zamigocz.. itd. zacznij od czegos prostego... Poceam ksiazke "podstawy programowania miktrkontrolerów" :) miłej NAUKI ;)
Dokladnie, wiem, ze wystarczy rezystor i dioda, ale chodzi wlasnie o to, ze to ma byc jakis uklad elektroniczny, obojetnie jaki, byle to nie byly tylko same diody. Nie wiem, np. niech to bedzie symulacja dzialania samochodu, czyli jedzie do przodu jakas dioda sie pali, do tylu inna, skreca, itd. to moze byc cokolwiek, np. sterowanie ramieniem robota,...
poszukuje kursu assemblera... specyficznego. nie chodzi mi o rzeczy typu miganie diodami, opisy poszczegolnych mnemonikow... interesuje mnie kurs/ksiazka/cokolwiek, gdzie bylyby przedyskutowane i opisane roznorakie algorytmy i konstrukcje programowe, jednak bardziej zaawansowane niz petle. dla przykladu wiem jak podac pewnej funkcji jakies parametry,...
to jest zapalająca i gasnąca dioda..ale jak wczytałem ten program w formacie.hex do dsm-51 to nic nie mruga..podejrzewam że gdzieś jest błąd ale nie wiem gdzie dokładnie i jaki..
Zacznijmy od tego, ze za pomoca for w C nie da sie uzyskac dokladnego odliczania czasu! Przeciez w zaleznosci od optymalizacji (-O) i wersji kompilatora roznice beda siegaly tysiecy procent. Raz bedziesz mial 10Hz, a innym razem 0,01 Hz. Jesli chcesz w miare dokladnie odmierzac czas to albo korzystasz z funkcji z delay.h, albo piszesz wstawke w assemblerze...
w assemblerze top bym ci powiedzial al nie nie w c :) - czy ta dioda jest na pinie XF?
Shanleaf - miganie diodą i regulowanie jej jasności na PWM, Atmega8, assembler
Też nie działa. Nie moge dojść skąd to się bierze, może wina po stronie tego całego programu leży. Bo kiedy klikne Read Flash... odczyta całą zawartość flasha z uK, kiedy zrobie tak że ten sam plik odczytany bede chciał jakby zaprogramować to przyjmuje bez problemu, kiedy zaś chcę mu zaprogramować hexa którego mam zrobionego z assemblera to już nie...
assembler dioda migać dioda assembler dioda assembler atmega
wyciszy domofon excel formularz wyboru zegar kalendarzem
pobór prądu postoju ustawienie krzywej grzewczej podlogowki
Termet G17-20 – brak zapłonu nagrzewnicy, diagnostyka membrany, iskrownika, termopary Vileda VR 201 Pet Pro – kod błędu E 268, czujnik ściany, przyczyny i naprawa