Prosba - monostabilni obvod s MCU (VYRESENO)

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Úterý Září 4 06:33:33 CEST 2012


Jako prvni level dobry, ted s casovacem ;-)
Jinak tris je jmeno instrukce, proto je to asi takto pojmenovano a je to 
nastaveni konfigurace IO - kde je na bitu 0 tam je vystup, jinak vstup. 
(nebo obracene? Ale je to v datasheetu k MCU )

Dne 3.9.2012 21:27, Jirka napsal(a):
> Tak se musím pochlubit, už mi to  i pípá:
>
> ************************************************************************
> '-----------------------------------------------------------------------
> ' casovy spinac 30 min., inspirace 
> http://www.bittnar.info/cz/casovy-spinac/
> ' zmeny: zkraceni casu, inverze vystupu, odstraneni konfig. vstupu a 
> jejich
> ' zmena na vystupy, pridani pipnuti po skonceni casu
> ' program funguje i v PIC12C509A nebo PIC12F509
> '-----------------------------------------------------------------------
> '
> '         Vcc -|  U  |- Vss
> '   green LED -|     |-
> '     red LED -|     |- zvuk
> ' rezim/start -|     |- vystup
>
> DEVICE 12C508
> XTAL = 4
> config WDT_OFF, MCLRE_OFF, CP_OFF, INTRC_OSC
> set_osccal             ' nastaveni kalibrace oscilatoru
>
> Dim cas As Word            ' deklarace promennych
> Dim i As Word
> Dim j As Word
> Dim auto As Bit
> Symbol snd = GPIO.1        ' vystup zvuku
> Symbol out = GPIO.2        ' casovy vystup (L je aktivni uroven)
> Symbol in = GPIO.3        ' start tlacitko (pri manual)
> Symbol red = GPIO.4        ' H rozsviti cervenou LED (menic bezi)
> Symbol green = GPIO.5        ' H rozsviti zelenou LED (napajeni)
>
>     option_reg.6 = 0    ' povoleni pull-up
>     option_reg.5 = 0    ' pin 5 jako GP2
>     trisio = %00001001    ' nastaveni portu (vstupy / vystupy)
>     out = 1            ' cas. vystup do H (vypnuti menice)
>     snd = 0                 ' zvuk do 0
>     red = 0                 ' zhasnuti cervene LED
>     green = 1                   ' rozsviceni zelene LED
>     auto = 0
>     if in = 0 then auto = 1    ' zjisteni rezimu s nastavenim priznaku
>
> main:
>     If auto = 0 Then If in = 1 then Goto main    ' cek. na start
>     out = 0
>     red = 1
>     green = 0                 ' cas. vystup do L (zapnuti menice)
>     cas = 1800                ' 30 min. (1800 sec.)
>     For i = 1 To cas        ' smycka generujici dobu sepnuti
>     delayMs 1000
>     Next i
>     For j = 1 to 5000       ' smycka generujici 2kHz po dobu 5 sec.
>     snd = 1
>     DelayUs 250
>     snd = 0
>     DelayUs 250
>     Next j
>     snd = 0
>     red = 0                      ' zhasnuti cervene LED
>     green = 1                    ' rozsviceni zelene LED
>     out = 1                ' cas. vystup do H (vypnuti menice)
>
> konec:
>     If auto = 1 Then Goto konec    ' konec (pri automat.),
>     Goto main              ' jinak opakovat znovu
> ************************************************************************
>
> největší porod byl s pochopením funkce trisio, tedy hlavně s fcí 
> jednotlivých bitů, není to pořádně popsáno prakticky nikde...
>
> ---
> Jirka
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list