Anonymní profil micha – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil micha – Programujte.comAnonymní profil micha – Programujte.com

 

Příspěvky odeslané z IP adresy 86.63.207.–

micha
Mikrokontroléry › PIC 16f628A - jak číst hodno…
16. 11. 2016   #213637

#1 micha
Tak už jsem to vyřešil chyba byla že byl zaplej komparator.

micha
Mikrokontroléry › PIC 16f628A - jak číst hodno…
16. 11. 2016   #213634

Dobrý den, mám problém s čtením hodnoty která se vyskytuje na portu. Program vůbec nereaguje na změny.

Na RB0 je tlačítko které po zmáčknutí přivede na tento výstup jedničku.

START
MOVLW B'00000000'   ; Všude nuly na PORTAB        
MOVWF PORTB

PULSTART

BTFSC PORTA,0       ; Pokud je na RB0 nula tak přeskočím příkaz GOTO $+2 a obráceně
GOTO $+2
goto START
MOVLW B'111111111'  ; Pokud je na RB0 nula tak na PORTB jsou všude jedničky (5V)
MOVWF PORTB
goto PULSTART

Předem moc děkuji

Assembler › PIC16F628A naprogramování
25. 8. 2016   #212457

Tak jsem to už vyřešil. Problém jsem měl ve smyčce. A co se týče přehřívání tak se my ho podařilo trochu zkratovat. 

Assembler › PIC16F628A naprogramování
24. 8. 2016   #212439

Tak jsem tam vyzkoušel dát nejprve _INTOSC_OSC_NOCLKOUT 

S tímto se procesor jen nadměrně zahříval a nic nedělá.

Tak jsem tam dal _INTRC_OSC_NOCLKOUT .

S tímto procesor pracuje jak jsem naprogramoval, ale jen do té doby než narazí na zpožďovací smyčku přes kterou se nedostane. 

Co se týče zapojení procesoru, stačí jen mít zapojené napájení (PIN-5,14) + reset -MCLR (PIN-4) NA 5V?

Assembler › PIC16F628A naprogramování
24. 8. 2016   #212436

Do  includu jsem již koukal, ale nastavení je tam více, pro nastavení vnitřního oscilátoru by to měl být asi jeden z těchto?

_FOSC_INTOSCIO       EQU  H'3FFC'    
_INTOSC_OSC_NOCLKOUT EQU  H'3FFC'    
_INTRC_OSC_NOCLKOUT  EQU  H'3FFC'    
_FOSC_INTOSCCLK      EQU  H'3FFD'    
_INTOSC_OSC_CLKOUT   EQU  H'3FFD'    
_INTRC_OSC_CLKOUT    EQU  H'3FFD'    

Když tak nato koukám tak by to mohl být jeden z těchto. No jdu to vyzkoušet.

_INTOSC_OSC_NOCLKOUT EQU  H'3FFC'    
_INTRC_OSC_NOCLKOUT  EQU  H'3FFC' 
Assembler › PIC16F628A naprogramování
24. 8. 2016   #212427

Ahoj,  snažím se zprovoznit jeden jednoduchý testovací program na PIC16F628A.

V simulátoru program funguje, ale když ho nahraji do picu nefunguje.

Myslím si že pravděpodobně nastavuji špatně konfigurační bity. Nevím jak nastavím aby pic jela přes svůj vlastní vnitřní oscilátor.

Program pracuje tak že, dvě sekundy je na všech výstupech logická jedna a dvě sekundy logická nula.

INCLUDE "P16F628A.INC"
		LIST P=16F628A, R=DEC
;-------------------------------------------------------------
__CONFIG _PWRTE_ON & _WDT_OFF 
 ORG 0X00

RAMOFF EQU 0X0C
d1 EQU RAMOFF
d2 EQU RAMOFF+1
d3 EQU RAMOFF+2

BSF STATUS,RP0
  BCF STATUS,RP1
MOVLW B'00000000'          
MOVWF TRISA   
MOVLW B'00000000'          
MOVWF TRISB

BCF STATUS,RP0
  BCF STATUS,RP1
NOP
NOP



ZPET
 
 MOVLW B'11111111'        ; VŠUDE JEDNA
MOVWF  PORTA

MOVLW  B'11111111'        ; VŠUDE JEDNA
MOVWF  PORTB


movlw	0x11
	movwf	d1
	movlw	0x5D
	movwf	d2
	movlw	0x05
	movwf	d3
Delay_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	Delay_0

			;4 cycles
	goto	$+1
	goto	$+1


MOVLW B'00000000'        ; VŠUDE NULY
MOVWF  PORTA

MOVLW  B'00000000'        ; VŠUDE NULY
MOVWF  PORTB


movlw	0x11
	movwf	d1
	movlw	0x5D
	movwf	d2
	movlw	0x05
	movwf	d3
Delay_1
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	Delay_1

			;4 cycles
	goto	$+1
	goto	$+1

GOTO ZPET

END

Děkuji předem za vaše rady.

Assembler › PIC 16f84A časovač
23. 8. 2016   #212422

OK děkuji za rady

Assembler › PIC 16f84A časovač
18. 8. 2016   #212371

#2 KIIV
Jak čtu tak to asi jednoduše jak bych si představoval nejde.

Nedokážu si představit jaké bych příkazy z instrukční sady měl podle tebe použít. Instrukční sadu už poměrne ovládám, ale jen to co je v ní napsané.

Nešlo by to jednodušeji. Například přes aritmetické operace + BTFSC, BTFSC,DECFSZ,INCFSZ.

Vytvořit nějaké proměnné od kterých odečítat po každém zobrazení čísel na displeji a pak to vnořit do časové smyčky.

lze to vlastně napsat nějak takto nebo je to nemožné.

Assembler › PIC 16f84A časovač
18. 8. 2016   #212364

Ahoj pokouším se v assembleru naprogramovat časovač. Bohužel se mi nedaří.  Mám 4 displeje na prvních dvou chci minuty a na druhém chci vteřiny, tlačítka zatím neřeším časovat začne odpočítávat od 0 do 59 minut a 59 sekund pak se resetuji. Používám multiplexní režim a BCD dekoder.

Toto se mi podařilo naprogramovat jen kdyby měly displeje vlastní paměť na poslední hodnotu kterou dostaly, to ale nemají, takže potřebuji poradit. Vůbec mě nejde dohromady cyklus pro zpoždění a zároveň vysílat data na display ( když probíhá zpožďovací cyklus tak se na displeji nic nezobrazuje- takže většinu času).

Nějaká nastavení PIC na výstupy, WDT atd. tu řešit nechci. Chci řešit jen program.

Dávám sem zkrácenou ukázku

Vysvětlivky:

zobrazX= vyšle číslo x do BCD překladače který je před displejem.

cekej1= časová smyčka 1 sekunda

PORTA,0 až 3= výstup na tranzistor který aktivuje požadovaný displej.               

                        

                               CALL                         zobraz0                              
                               BSF                        PORTA,0                             
                               CALL                      zobraz0
                               BSF                        PORTA,1
                               CALL                         zobraz0                              
                               BSF                        PORTA,2                             
                               CALL                      zobraz0
                               BSF                        PORTA,3
                               cekej1
                               CALL                         zobraz1                              
                               BSF                        PORTA,0                             
                               CALL                      zobraz0
                               BSF                        PORTA,1
                               CALL                         zobraz0                              
                               BSF                        PORTA,2                             
                               CALL                      zobraz0
                               BSF                        PORTA,3
                               cekej1
                               CALL                         zobraz2                              
                               BSF                        PORTA,0                             
                               CALL                      zobraz0
                               BSF                        PORTA,1
                               CALL                         zobraz0                              
                               BSF                        PORTA,2                             
                               CALL                      zobraz0
                               BSF                        PORTA,3
                               cekej1
zobraz0              MOVLW                                b'00000000'
                               MOVWF                              PORTB
                               RETURN
zobraz1              MOVLW                                b'00000001'
                               MOVWF                              PORTB
                               RETURN
zobraz2              MOVLW                                b'00000010'
                               MOVWF                              PORTB
                               RETURN

atd..

Předem děkuji za vaše rady.

PHP › PHP- webová aplikace databáz…
26. 5. 2016   #210952

už jsem to vyřešil

PHP › PHP- webová aplikace databáz…
26. 5. 2016   #210946

Ahoj snaží se vytvořit aplikaci pomocí PHP pro velice jednoduchou databázi knih.

Vesměs mi už všechno funguje, ale nemohu přijít na některé věci.

Hlavní problém co bych chtěl řešit je stále vyskakující chyba:

Undefined index: p in C:\xampp\htdocs\knihovna\index.php on line 20

Dále pak bych chtěl zamezit možnosti dát do databáze prázdné hodnoty.

A radám ohledně optimalizace se nebráním :)

databaze::prihlasit('knihovna', 'knihovna', '123456', 'localhost');?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Knihovna</title>
</head>
<body>
<h1>Knihovna</h1>
<?php
if(isset($_POST['Nazev'])) {
	if (databaze::dotaz("INSERT INTO knihy (Název, Autor, Žánr, RokVydání) VALUES ('" . $_POST['Nazev'] . "', '" . $_POST['Autor'] . "', '" . $_POST['Zanr'] . "', '" . $_POST['Rok'] . "')")) {
		echo'Přidáno. <a href="index.php">Zpět na přehled</a>';
                } 
}
else{

    if($_GET['p']=='novy') {
	echo '
					<h1>Přidání knížky</h1>
					<form action="index.php" method="POST">
					<p>Název: <input type="text" name="Nazev"<br>
					Autor:<input type="text" name="Autor" /><br>
					Žánr:<input type="text" name="Zanr" /><br>
					Rok vydání:<input type="text" name="Rok" /><br>
					<input type="submit" value="Přidat"></p>
					</form>
					'
					;
}
else {
$knihy = databaze::tabulka("SELECT * FROM knihy");
echo Tab::vytvorit($knihy);
echo'<p><a href="index.php?p=novy">Přidat další knížku</a></p>';
($_GET['p'] = '1');

}
}
?>
</body>
</html>
<?php
databaze::konec();
?>

stript

<?php
class Tab {
    private $data;
    public function __construct($data) {
        $this->data = $data;
    }
    public static function vytvorit ($data) {
        return new Tab ($data);
    }
    public function __toString() {
        $tab = '';
        foreach ($this->data as $radek) {
            $tab.='<tr>';
            foreach ($radek as $key => $val) {
                	$tab.='<td>' . $val . '</td>';
            }
            $tab.='</tr>';
        }
        return '<table>' . $tab . '</table>';
    }
}

class databaze {
    private static $link;
    public static function prihlasit($db, $user, $pass, $host) {
        self::$link = @mysqli_connect($host, $user, $pass, $db);
        self::dotaz("SET CHARACTER SET UTF8");
        self::dotaz('SET NAMES UTF8');
    } 
    public static function dotaz($dotaz) {
        return mysqli_query(self::$link, $dotaz);
    }
	 public static function konec() {
        mysqli_close(self::$link);
    }
    public static function tabulka($dotaz) {
        $tabulka = array();
        $vysledek = self::dotaz($dotaz);
        while ($radek = mysqli_fetch_array($vysledek, MYSQL_ASSOC)) {
            $tabulka[] = $radek;
        }
        return $tabulka;
    }
}

?>

Předem děkuji za vaše rady

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý