Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Generacja przebiegu PWM w symulatorze EDSIM51

pawelpzo 21 Lut 2012 11:50 2045 6
  • #1 21 Lut 2012 11:50
    pawelpzo
    Poziom 7  

    Potrzebny mi jest program do symulatora Edsim51:
    Generacja przebiegu PWM o okresie 30µs i współczynniku wypełnienia 20% na P1.0 z wykorzystanie timer0 w trybie przerwania

    0 6
  • Pomocny post
    #2 21 Lut 2012 17:31
    Krauser
    Poziom 26  

    Kod: asm
    Zaloguj się, aby zobaczyć kod

    0
  • #3 22 Lut 2012 00:51
    pawelpzo
    Poziom 7  

    Można prośić o małą zmianę w powyższym programie? :D : generacja przebiegu PWM o okresie 100µs i współczynniku wypełnienia 20%

    0
  • #4 22 Lut 2012 18:43
    Krauser
    Poziom 26  

    Można zmienić timeBase na 156, a w przerwaniu dać 20 nop'ów albo też pokusić się o zmianę algorytmu i generować przerwania co 20us i zliczać przerwania.

    0
  • #5 23 Lut 2012 09:50
    pawelpzo
    Poziom 7  

    Mamjeszcze problem z takim zadaniem: Generacja przebiegu PWM dla pracy silnikia (dwa obroty w prawo, cztery obroty w lewo) w symulatorze Edsim51
    Program który napisałem działa poprawnie przy do pierwszej zmiany kierunku obrotów silnika. Jak go porawić aby przebieg PWM się powtarzał?

    ORG 0
    JMP main
    ORG 001Bh
    JMP main2
    ORG 030h
    main:
    MOV TMOD, #060h
    SETB ET1
    SETB EA
    MOV TL1, #0FCh
    SETB TR1
    CPL P3.1
    JMP $

    main2:
    CLR TR1
    MOV TL1, #0FDh
    SETB TR1
    CPL P3.0
    CPL P3.1
    RETI

    0
  • #6 23 Lut 2012 17:41
    Krauser
    Poziom 26  

    Trzeba rozróżnić kierunek. Informacja o kierunku może być przechowywana we fladze C (która normalnie zmienia się podczas wykonywania operacji matematycznych). W zależności od tej flagi, czyli kierunku wstawiasz rożne wartości do TL1. Dodałem hamowanie silnika.

    Kod: asm
    Zaloguj się, aby zobaczyć kod

    0
  • #7 23 Lut 2012 19:47
    pawelpzo
    Poziom 7  

    Dzięki program jest super :)

    0