Jak przerobić,zmienić ten kod, aby miał 64/64 sek.
Jak by się udało to by był kod na liczniku w asm.
Kod na liczniku w j.C , na preskalerze 1024 ,juz mam, ma 15 linijek , przerobiłam 2 dni temu z innego kodu.
kod:
.nolist
.include "m8adef.inc"
. main:
; ldi r16, high(RAMEND) ; init stack pointer
; out SPH, r16
ldi r16, low (RAMEND) ; init stack pointer
out SPL, r16
out TCCR1B,r16 ; Set prescaler to 1024
loop:
in r17, TCNT0 ; If the counter is >= 64000,
cpi r17, 128 ; branch to dim
brsh dim ; otherwise continue to light
light:
sbi PORTB, 0
rjmp loop
dim:
cbi PORTB,0
rjmp loop
-----------------------------------
https://electronics.stackexchange.com/q ... e-not-work
https://www.google.pl/search?q=Atmega8+ ... 00&bih=471
https://www.google.pl/search?q=Atmega+a ... rt=90&sa=N
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięAssembler na C
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
Re: Assembler na C
Największe rzeczy osiągają ludzie, którzy służą innym.
Więcej sentencji na:
https://www.sentencje.com.pl/
AVR Assembler Tutorial 3
https://www.instructables.com/id/Comman ... for-Ard-2/
------------------------------------------------------------------------------
Jak w kodzie asm będzie wyglądał taki zapis:
main ()
{
DDRB = (1<<PB1)|(1<<PB2);
PORTB = PORTB | (1 << PB1);
oraz
PORTB ^= (1<<PB1)|(1<<PB2);
[/quote]
Więcej sentencji na:
https://www.sentencje.com.pl/
AVR Assembler Tutorial 3
https://www.instructables.com/id/Comman ... for-Ard-2/
------------------------------------------------------------------------------
Jak w kodzie asm będzie wyglądał taki zapis:
main ()
{
DDRB = (1<<PB1)|(1<<PB2);
PORTB = PORTB | (1 << PB1);
oraz
PORTB ^= (1<<PB1)|(1<<PB2);
[/quote]
Re: Assembler na C
Jak o. TadeuszNajwiększe rzeczy osiągają ludzie, którzy służą innym.
Skompiluj i obejrzyj plik *lss.Jak w kodzie asm będzie wyglądał taki zapis:
main ()
{
DDRB = (1<<PB1)|(1<<PB2);
PORTB = PORTB | (1 << PB1);
oraz
PORTB ^= (1<<PB1)|(1<<PB2);
Re: Assembler na C
r-mik napisał:
"Skompiluj i obejrzyj plik *lss."
Jakim programem to zrobić ,spróbuję,jeśli nie dam rady,spytam jak to zrobić tym programem.
https://www.elektroda.pl/rtvforum/topic612705.html
https://www.elektroda.pl/rtvforum/topic612705-30.html
"Skompiluj i obejrzyj plik *lss."
Jakim programem to zrobić ,spróbuję,jeśli nie dam rady,spytam jak to zrobić tym programem.
https://www.elektroda.pl/rtvforum/topic612705.html
https://www.elektroda.pl/rtvforum/topic612705-30.html
Re: Assembler na C
Już się nauczyłam jak mieć rozwinięcie asm,ale ciekawa jestem w jakim to programie jest ten plik *lss,czy jest w Eclipse ?.
Udało mi się pprzerobić kod C na ASM.
Działa jest zmiana polaryzacji co 64 sekund.
Teraz spróbuję przerobić kod C na liczniku i preskalerze 1024 na ASM.
W symlatorze w kodzie C pokazuje Cycle Couter 11 us i Stop Watch 11us.
W kodzie ASM pokazuje 0 (zero).
Czy to znaczy,że ten sam kod w C , jest bardziej idealny w ASM ,
jeśli chodzi o duty 50%?.
#include <avr/io.h>
#include <util/delay.h>
int main (void)
{
unsigned int licznik1 = 0;
DDRB = (1<<PB1)|(1<<PB2);
PORTB = PORTB | (1 << PB1);
while(1)
{
PORTB ^= (1<<PB1)|(1<<PB2);
_delay_us(64000000);
}
}
-------------------------------------------------------
Przerobiony kod ASM z kodu C powyżej.
Działa jest zmiana polaryzacji co 64 sekund.
Teraz sprubóję przerobic kod C na liczniku i preskalerze 1024 na ASM.
Kod ASM
.nolist
.include "m8adef.inc"
. main:
LDI R24,0x06
OUT 0x17,R24
SBI 0x18,1
LDI R25,0x06
IN R24,0x18
EOR R24,R25
OUT 0x18,R24
SER R18
LDI R19,0x4F
LDI R20,0xC3
SUBI R18,0x01
SBCI R19,0x00
SBCI R20,0x00
BRNE PC-0x03
RJMP PC+0x0001
NOP
RJMP PC-0x000C
CLI
RJMP PC-0x0000
Udało mi się pprzerobić kod C na ASM.
Działa jest zmiana polaryzacji co 64 sekund.
Teraz spróbuję przerobić kod C na liczniku i preskalerze 1024 na ASM.
W symlatorze w kodzie C pokazuje Cycle Couter 11 us i Stop Watch 11us.
W kodzie ASM pokazuje 0 (zero).
Czy to znaczy,że ten sam kod w C , jest bardziej idealny w ASM ,
jeśli chodzi o duty 50%?.
#include <avr/io.h>
#include <util/delay.h>
int main (void)
{
unsigned int licznik1 = 0;
DDRB = (1<<PB1)|(1<<PB2);
PORTB = PORTB | (1 << PB1);
while(1)
{
PORTB ^= (1<<PB1)|(1<<PB2);
_delay_us(64000000);
}
}
-------------------------------------------------------
Przerobiony kod ASM z kodu C powyżej.
Działa jest zmiana polaryzacji co 64 sekund.
Teraz sprubóję przerobic kod C na liczniku i preskalerze 1024 na ASM.
Kod ASM
.nolist
.include "m8adef.inc"
. main:
LDI R24,0x06
OUT 0x17,R24
SBI 0x18,1
LDI R25,0x06
IN R24,0x18
EOR R24,R25
OUT 0x18,R24
SER R18
LDI R19,0x4F
LDI R20,0xC3
SUBI R18,0x01
SBCI R19,0x00
SBCI R20,0x00
BRNE PC-0x03
RJMP PC+0x0001
NOP
RJMP PC-0x000C
CLI
RJMP PC-0x0000
Ostatnio zmieniony 18 paź 2018, o 23:35 przez Ania30, łącznie zmieniany 1 raz.
Re: Assembler na C
Mam już kod w ASM na liczniku i preskalerze1024,zrobiony z kodu C.
Zajmuje 23 linijki i działa 64/64 sekund.
Brakuje mi jeszcze abym w ostatnim kodzie ACeKa mogła mieć 64/64 sek przy wew.1MHz.
Co trzeba napisać aby zmienić parametry w rejestrach ldi r20, 0xa1 ldi r21, 0x07.
Teraz przydało by mi się coś co zmieni kod ASM na kod C.
Zajmuje 23 linijki i działa 64/64 sekund.
Brakuje mi jeszcze abym w ostatnim kodzie ACeKa mogła mieć 64/64 sek przy wew.1MHz.
Co trzeba napisać aby zmienić parametry w rejestrach ldi r20, 0xa1 ldi r21, 0x07.
Teraz przydało by mi się coś co zmieni kod ASM na kod C.
Re: Assembler na C
Potrzebuję na procesor Attiny 2313A i Atmega8A,Atmega328P.
Ostatni kod ACeKA jest mi potrzebny na Attiny 13A,a do niej kwarcu nie podłączy się.
Elektronika Praktyczna i inne polskie czasopisma i fora, z założenia,mają być dla czytelnika ,a nie odwrotnie, powinny propagować i uczyć elektroniki,a jak jest w praktyce ,to widać,odwrócono kota ogonem,jak to mają w zwyczaju źli ludzie.
Porady tzw. etatowych"fachowców",administratorów, z tych forów,są na niskim poziomie fachowym i moralnym,ratują te fora czytelnicy np.tacy jak ACeK , którzy dają porady o niebo lepsze od administratorów,mało tego, administratorzy blokują takich pomagających zamykając wątek.
Potrzebne mi informacje znalazłam na zagranicznych forach,gdzie fachowość i poziom moralny ,kultura odpowiedzi ,jest o wiele na wyższym poziomie.
Jeśli coś jest na polskich forach ,to są to przetłumaczenia z zagranicznych for i czasopism,które administratorzy podają jakie swoje .
Tutaj wszystko jest tajemnicą nawet to ,z jakiego programu jest plik lss,jak zrobić rozwinięcie asm.
Porady są błędne i nie fachowe,niepomocne, to nie jest flirt,ale użeranie się,jednym słowem kompromitacja, obciach i żenada w wykonaniu odpowiadającego,mordęga,a nie flirt dla pytającego.
Ostatni kod ACeKA jest mi potrzebny na Attiny 13A,a do niej kwarcu nie podłączy się.
Elektronika Praktyczna i inne polskie czasopisma i fora, z założenia,mają być dla czytelnika ,a nie odwrotnie, powinny propagować i uczyć elektroniki,a jak jest w praktyce ,to widać,odwrócono kota ogonem,jak to mają w zwyczaju źli ludzie.
Porady tzw. etatowych"fachowców",administratorów, z tych forów,są na niskim poziomie fachowym i moralnym,ratują te fora czytelnicy np.tacy jak ACeK , którzy dają porady o niebo lepsze od administratorów,mało tego, administratorzy blokują takich pomagających zamykając wątek.
Potrzebne mi informacje znalazłam na zagranicznych forach,gdzie fachowość i poziom moralny ,kultura odpowiedzi ,jest o wiele na wyższym poziomie.
Jeśli coś jest na polskich forach ,to są to przetłumaczenia z zagranicznych for i czasopism,które administratorzy podają jakie swoje .
Tutaj wszystko jest tajemnicą nawet to ,z jakiego programu jest plik lss,jak zrobić rozwinięcie asm.
Porady są błędne i nie fachowe,niepomocne, to nie jest flirt,ale użeranie się,jednym słowem kompromitacja, obciach i żenada w wykonaniu odpowiadającego,mordęga,a nie flirt dla pytającego.
Re: Assembler na C
O perpetuum mobile jest osobny wątek.poczytaj sobie o Tesli on też chciał uniezależnić ludzi od monopolistów i dac światu wolną energię i za to go wkończyli i okradli.. smutne.
NIEPRAWDA!Potrzebuję na procesor Attiny 2313A i Atmega8A,Atmega328P.
Ostatni kod ACeKA jest mi potrzebny na Attiny 13A,a do niej kwarcu nie podłączy się.
Przeczytaj notę katalogową układu zanim napiszesz głupotę.
Mamy właśnie tego przykład. Błędna informacja napisana przez użytkownika.Porady są błędne i nie fachowe,niepomocne,
Oto kolejny przykład niszczenia forum przez użytkownika. Rozwiązał problem ale nie podzielił się rozwiązaniem z innymi. Jaki jest więc sens pomagać? Forum ma służyć więcej niż jednemu wybranemu.Potrzebne mi informacje znalazłam na zagranicznych forach,gdzie fachowość i poziom moralny ,kultura odpowiedzi ,jest o wiele na wyższym poziomie.
Konkretne przykłady takich przypadków na forum EP proszę podać.Jeśli coś jest na polskich forach ,to są to przetłumaczenia z zagranicznych for i czasopism,które administratorzy podają jakie swoje .
Wszystko jest napisane w dokumentacji. Bez dokumentacji wystarczy przejrzeć katalog, w którym znajdują się pliki wynikowe.Tutaj wszystko jest tajemnicą nawet to ,z jakiego programu jest plik lss,jak zrobić rozwinięcie asm.
Obciach i żenada to wszystkie wątki związane z tym super precyzyjnym generatorem, który ma służyć do magicznych operacji na wodzie.obciach i żenada w wykonaniu odpowiadającego
Problem rozwiązany, autorka nie chce się podzielić rozwiązaniem,czym przyczynia się do niszczenia forum, temat zamykam.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości